Docs
Fettlecode docs
Everything you need to install Fettlecode, review code in stacks, and run it for a team.
Not released yet. Fettlecode is at its first release candidate. These docs describe it as it stands for 1.0; details may still change before the release, and the source code and Docker image aren't public yet.
Fettlecode is a self-hosted Git host built around stacked code review. Push a series of commits and each one becomes a change of its own, reviewed in order. Reviews survive rebases, so nobody re-reads work they've already approved. Around that sit the things you'd expect from a Git host: repositories, branch rules, CI, releases, forks, single sign-on and an audit log.
Where to start
- Trying it out? Install Fettlecode, then take a quick look around.
- Joining a team that uses it? Read Repositories to clone and push, then Stacked review.
- Running it for others? Read Install, Settings, Sign-in and single sign-on and Backups and upgrades.
A few words used throughout
- Change: one commit proposed for review. It gets a number (
#12), revisions, comments and approvals. - Stack: changes that build on each other. Each is reviewed on its own and they merge bottom first.
- Revision: a new version of a change, made when you amend or rebase the commit and push it again.
- Submit: merge an approved change (and everything below it in its stack) into its branch.
- Instance admin: the person who runs this Fettlecode. The first account made is one.
Get started
- Install FettlecodeStart Fettlecode with Docker, create the administrator account with the setup code, and get it ready for other people.
- A quick look aroundThe home page, the top bar, search, notifications, your settings and the light and dark themes.
- RepositoriesMake a repository, clone and push with a token or an SSH key, browse files, history and blame, download code, store large files and search.
Working on code
- Editing in the browserEdit, create, rename, delete and upload files in the browser, commit directly or propose a change, and edit together live.
- Stacked reviewSend commits for review with plain Git, review a stack change by change, keep reviews through rebases, and discuss code in threads.
- Approvals, submitting and the merge queueWhen a change can merge, how submitting a stack works, and how the merge queue merges changes for you as soon as they're ready.
- CI and checksRun jobs on your own runners with .fettlecode/ci.yml, report results from other CI with the status API, and require checks before merging.
- Releases and PagesMark a version with a release and notes, download code as ZIP or tar.gz, and publish a static site from a branch with Pages.
- Forks, templates and mirrorsFork a repository and propose your work upstream, start new repositories from a template, and keep mirrors in step with another Git host.
People and access
- Organisations, teams and accessGroup repositories in organisations, invite people, make teams, give roles on repositories, and keep members in step with your identity provider.
- Branch rules and code ownersProtect branches, decide what a change needs before it merges, require checks and signed commits, and name code owners.
- Your account and securityNotifications, personal access tokens, two-step sign-in, passkeys, connected accounts, SSH and GPG keys, and signed commits.
- Insights and the audit logSee how review is going across a repository or organisation, and look up who changed what in the audit log.
Connections
- Moving to Fettlecode, and taking it with youImport repositories and open pull requests from GitHub, GitLab, Gitea, Forgejo, Gerrit or any Git host, and take everything with you when you leave.
- Working with GitHubReview GitHub pull requests in Fettlecode with reviews sent back, and let people sign in with their GitHub accounts.
- Fettleboard and FettledeskLink changes to Fettleboard cards and Fettledesk tickets by mentioning them, and have tickets updated and resolved as changes merge.
- Webhooks and the APISend signed events to other systems with webhooks, check their signatures, and use the API with a personal access token.
- AI helpers and AI toolsOptional AI that summarises changes, suggests stacks and drafts replies, with your own key or model, and the MCP server for AI tools.
Running Fettlecode
- SettingsEvery setting Fettlecode reads, how to set them with Docker Compose, and how to set up email, Git over SSH and Pages.
- Sign-in and single sign-onWho can make an account, and how to connect OpenID Connect, SAML, LDAP or Active Directory, and GitHub sign-in.
- Backups and upgradesBack up and restore Fettlecode, upgrade to a new version, pin a published image, and go back if you need to.