Prerequisites
trellis init checks the same Python command it will render into generated
files: python --version on Windows, python3 --version on macOS/Linux. If
that command is older than 3.9, init warns but does not block.
Install Trellis
First, install the CLI globally:Platform selection
By default,trellis init sets up for Claude Code. To include other platforms:
Other useful flags
What gets created
This creates a.trellis/ directory with the default structure:
.claude/ with hooks, skills, agents, and session-boundary commands. For other platforms, it creates the corresponding config directory (.cursor/, .opencode/, .codex/, .pi/, .agents/, etc.).
Updating Trellis
When a new version is released:trellis update only touches unmodified files. Your customizations stay intact. A timestamped backup is created automatically before any changes.
Uninstalling Trellis
To remove every file Trellis wrote into a project —.trellis/ itself plus the platform-specific files under .claude/, .cursor/, .codex/, .pi/, etc. — run:
.trellis/.template-hashes.json. Files you added under managed directories (e.g. your own hook scripts under .claude/hooks/) are never deleted. Structured config files such as .claude/settings.json keep your custom fields; only the trellis-owned hook entries are stripped.
Write your first spec
Open.trellis/spec/backend/index.md (or frontend/ if that’s your focus) and fill in the template.
Here’s what a real spec looks like:
Test it
Start a new Claude Code session and ask it to write some code. Check if it follows your specs. If it doesn’t, your specs probably aren’t specific enough. Add more examples.What’s next
Core concepts
Learn how specs, tasks, and workspaces work together.
Write better specs
Tips for writing specs that AI actually follows.
Commands
Slash commands for common workflows.