# Install Muddle from Forgejo Install the framework directly from the Muddle Forgejo repository. ```sh bun add muddle@git+https://git.crit.rip/mdl/muddle.git ``` ```sh npm install muddle@git+https://git.crit.rip/mdl/muddle.git ``` Integrations are isolated `@muddle/*` modules. After their Forgejo repositories are provisioned, install one independently. ```sh bun add @muddle/shadcn@git+https://git.crit.rip/mdl/shadcn.git ``` Create a Forgejo personal access token with repository creation rights, then provision the namespace repositories. The script only reads `MUDDLE_FORGEJO_TOKEN` from the environment and never prints it. ```sh MUDDLE_FORGEJO_TOKEN=token bun scripts/forgejo-modules.ts ``` Preview without network writes. ```sh bun scripts/forgejo-modules.ts --dry-run ``` To commit changed integration module directories with generic `chore: update @muddle/ integration` messages and push their subtree history, preview the operation first. Unchanged modules are also synced so newly created Forgejo repositories receive their initial branch. ```sh bun scripts/forgejo-push.ts ``` Push only after review. This requires the same token and creates local commits. ```sh MUDDLE_FORGEJO_TOKEN=token bun scripts/forgejo-push.ts --push ```