Install Syllabus
Syllabus is a standalone binary for macOS and Linux. Using Windows?
Use the standalone installer
Section titled “Use the standalone installer”curl -fsSL https://syllabus.fabricahq.com/install.sh | shThis installs the latest stable release into ~/.local/bin and sets up your shell’s PATH. No sudo needed. View the installer script.
Open a new terminal, then verify the installation:
syllabus --versionTo use your current terminal, run the command the installer prints instead.
Next: Set up your first project or create your first library.
Upgrade
Section titled “Upgrade”Rerun the installer. Then, from each existing project root, refresh and check its generated files:
syllabus project buildsyllabus project checkA library’s check workflow installs the Syllabus version that created it. To move it to the version you just installed, delete .github/workflows/syllabus.yml from the library and run syllabus library init again; see Check changes in CI. A library created with Code Rules has .github/workflows/code-rules.yml instead; follow Upgrade from Code Rules.
Upgrade from Code Rules
Section titled “Upgrade from Code Rules”Syllabus was called Code Rules. Its command was code-rules, and projects and libraries kept their files in .code-rules/. After you install Syllabus, remove the old code-rules executable, then move each repository to the new name:
-
From the repository root, rename the directory, keeping everything in it:
Terminal window git mv .code-rules .syllabusIn a project that isn’t in a Git repository, use
mvinstead ofgit mv. -
In
AGENTS.md,CLAUDE.md, or the instruction file your agent reads, delete the section that points to.code-rules/generated/RULES.md. The next step adds a section toAGENTS.mdthat Syllabus keeps current. If your agent readsCLAUDE.md, add the line@AGENTS.mdto it. -
Rebuild and check the project:
Terminal window syllabus project buildsyllabus project check -
In a library, delete
.github/workflows/code-rules.ymland runsyllabus library initto write.github/workflows/syllabus.yml.
Until you rename it, project commands keep reading and updating .code-rules/ and print a warning; a later version will stop reading it. Library commands refuse until the directory is renamed. Library releases published from .code-rules/ stay readable, so the projects that import a library keep their rule versions and need no changes when the library moves.
Install with Homebrew
Section titled “Install with Homebrew”With Homebrew installed on macOS or Linux:
brew install fabricahq/tap/syllabussyllabus --versionTo upgrade or remove it:
brew upgrade syllabusbrew uninstall syllabusOther options
Section titled “Other options”Choose a version or installation directory
Add --version to install an older or specific release, or --install-dir to choose an absolute, writable directory:
curl -fsSL https://syllabus.fabricahq.com/install.sh | sh -s -- --version 0.1.0 --install-dir "$HOME/bin"Use the same custom directory when upgrading. Pass --no-update-path if you prefer to manage your shell configuration yourself.
Download a release manually
Download the archive for your OS and processor, plus SHA256SUMS, from GitHub Releases. If you have the GitHub CLI, first verify the checksum manifest came from our release workflow:
gh attestation verify SHA256SUMS --repo fabricahq/syllabus \ --signer-workflow \ fabricahq/syllabus/.github/workflows/release-planner.yml \ --source-ref refs/heads/mainReleases 0.3.0 and earlier were published as Code Rules, before the repository was renamed, so their attestations name the old repository. To verify one of them, use fabricahq/code-rules in place of fabricahq/syllabus in both places in the command above.
Stop if verification fails. Before extracting, compare the archive checksum with the matching entry using shasum -a 256 <archive> on macOS or sha256sum <archive> on Linux.
Extract the archive and move the executable into a directory on your PATH.
To build from source instead, follow the contributing guide in the Syllabus repository.
Installing on Windows
Native Windows is not supported yet. The Linux version is expected to work in WSL 2, but we have not tested it end to end. Run the installer above in your WSL 2 terminal.
Uninstall
rm "$HOME/.local/bin/syllabus"Adjust the path if you chose a custom installation directory. Your project’s rules are left in place.
For version compatibility and managed guide changes, see the release version policy.