Claude Code Full Experience
Claude Code is Trellis’s primary platform, with the most complete automation capabilities. Three core Hooks form the automation loop:
| Hook | Trigger Timing | Capability |
|---|
session-start.py | SessionStart | Auto-injects context (identity, history, tasks) |
inject-subagent-context.py | PreToolUse (Task) | Auto-injects precise Spec context for Agents |
ralph-loop.py | SubagentStop (check) | Auto-verifies code quality (Ralph Loop) |
Claude Code exclusive features:
- Hook auto-injection — start working immediately upon opening terminal, no manual
/start needed
- Multi-Agent Pipeline —
/parallel orchestrates multiple worktree Agents in parallel
- Ralph Loop — automatic quality gate, Check Agent auto-retries on failure
- Agent system — 6 specialized Agents (dispatch, plan, implement, check, debug, research)
Cursor Integration
trellis init automatically generates Trellis command files under .cursor/commands/:
| Claude Code Command | Cursor Equivalent |
|---|
/trellis:start | /trellis-start |
/trellis:before-dev | /trellis-before-dev |
/trellis:brainstorm | /trellis-brainstorm |
/trellis:check | /trellis-check |
/trellis:check-cross-layer | /trellis-check-cross-layer |
/trellis:finish-work | /trellis-finish-work |
/trellis:break-loop | /trellis-break-loop |
/trellis:create-command | /trellis-create-command |
/trellis:integrate-skill | /trellis-integrate-skill |
/trellis:onboard | /trellis-onboard |
/trellis:record-session | /trellis-record-session |
/trellis:update-spec | /trellis-update-spec |
Differences from Claude Code:
- Files located at
.cursor/commands/trellis-{name}.md
- Cursor has 12 commands (no
/parallel, as Cursor doesn’t support Multi-Agent Pipeline)
- No Hook support — spec injection requires manual command invocation
- No Agent system — all work happens in the main conversation
- No Ralph Loop — check commands must be run manually
Recommended workflow for Cursor users:
# 1. Start session (required, replaces Hook auto-injection)
/trellis-start
# 2. Load relevant specs (recommended, replaces PreToolUse Hook)
/trellis-before-dev
# 3. Describe task, AI develops...
# 4. Manually check code quality (replaces Ralph Loop)
/trellis-check
/trellis-check-cross-layer # Cross-layer check
# 5. Finish checklist
/trellis-finish-work
Codex Integration
trellis init --codex -u your-name
Generates the following configuration:
AGENTS.md (root directory) — Codex entry file, provides base project context (similar to CLAUDE.md)
.agents/skills/ — Shared Agent Skills directory (agentskills.io open standard, used by Codex, Kimi CLI, Amp, Cline, and others)
.codex/config.toml — Project-scoped Codex configuration
.codex/agents/ — Custom Codex agents (implement.toml, research.toml, check.toml)
.codex/skills/ — Codex-specific skills (e.g. parallel for multi-agent pipelines)
.codex/hooks/session-start.py + .codex/hooks.json — SessionStart hook that injects Trellis workflow, guidelines, and task context into Codex sessions
As of Codex CLI v0.116.0 (2026-03-24), hooks are an experimental feature that requires manual opt-in. Add this to ~/.codex/config.toml:[features]
multi_agent = true
codex_hooks = true
This requirement may be removed in a future Codex release when hooks become stable.
Kilo Code Integration
Kilo Code is an open-source (Apache 2.0) AI coding Agent platform, available as a VS Code extension, JetBrains plugin, and CLI, with 750K+ users.
trellis init --kilo -u your-name
Generates configuration under the .kilocode/ directory:
What Trellis generates for Kilo:
trellis init --kilo generates workflow files under .kilocode/workflows/. These are Kilo’s equivalent of slash commands — invoked in chat as /start.md, /check.md, etc.
| Trellis / Claude Code | Kilo Code (generated by Trellis) | Description |
|---|
.claude/commands/*.md | .kilocode/workflows/*.md | Workflow commands invoked as /start.md, etc. |
Generated directory structure:
project/
├── .kilocode/
│ └── workflows/ # Commands (equivalent to slash commands)
│ ├── start.md # /start.md — session init
│ ├── brainstorm.md # /brainstorm.md
│ ├── before-dev.md # /before-dev.md
│ ├── check.md # /check.md
│ ├── check-cross-layer.md # /check-cross-layer.md
│ ├── finish-work.md # /finish-work.md
│ ├── break-loop.md # /break-loop.md
│ ├── create-command.md # /create-command.md
│ ├── integrate-skill.md # /integrate-skill.md
│ ├── onboard.md # /onboard.md
│ ├── parallel.md # /parallel.md
│ ├── record-session.md # /record-session.md
│ └── update-spec.md # /update-spec.md
Kilo also supports rules/, rules-code/, rules-architect/, skills/, launchConfig.json, and mcp.json — but these are not generated by Trellis. You can create them manually if needed. See Kilo Code documentation for details.
Recommended workflow for Kilo users:
# 1. Run the start workflow for full context
/start.md
# 2. Switch to Orchestrator mode for complex tasks
# Kilo auto-decomposes tasks and assigns to Code/Architect modes
# 3. Describe task, AI develops...
# 4. Run check workflow
/check.md
# 5. Finish
/finish-work.md
Kilo’s Orchestrator Mode shares a similar philosophy with Trellis’s Multi-Agent Pipeline, but the implementation differs:
Trellis uses git worktree physical isolation + Hook orchestration, while Kilo uses built-in mode switching + independent conversation context.
The two are complementary — Trellis’s Spec management and Task system provide structured project context for Kilo.
Kiro Integration
Kiro is an AI IDE by Amazon, built on Code OSS (VS Code open-source core), focused on Spec-Driven Development. It supports IDE, CLI, and Autonomous Agent modes.
trellis init --kiro -u your-name
What Trellis generates for Kiro:
trellis init --kiro generates skill files under .kiro/skills/. Each skill is a SKILL.md file with YAML frontmatter, following the Agent Skills open standard.
| Trellis / Claude Code | Kiro (generated by Trellis) | Description |
|---|
.claude/commands/*.md | .kiro/skills/*/SKILL.md | 12 skills with YAML frontmatter |
Generated directory structure:
project/
├── .kiro/
│ └── skills/ # Agent Skills (YAML frontmatter + instructions)
│ ├── start/SKILL.md
│ ├── brainstorm/SKILL.md
│ ├── before-dev/SKILL.md
│ ├── check/SKILL.md
│ ├── check-cross-layer/SKILL.md
│ ├── finish-work/SKILL.md
│ ├── break-loop/SKILL.md
│ ├── create-command/SKILL.md
│ ├── integrate-skill/SKILL.md
│ ├── onboard/SKILL.md
│ ├── record-session/SKILL.md
│ └── update-spec/SKILL.md
Kiro also supports steering/, hooks/, specs/, prompts/, agents/, and settings/ directories — but these are not generated by Trellis. You can create them manually if needed. See Kiro documentation for details.
Recommended workflow for Kiro users:
# 1. Use the start skill to initialize session context
# 2. Describe task, AI develops...
# 3. Use the check skill to verify code quality
# 4. Use the finish-work skill for pre-commit checklist
# 5. Commit code when done
OpenCode Integration
OpenCode is an open-source AI coding CLI built on Bun. Trellis treats OpenCode as a near-Claude-Code-level platform thanks to its plugin system (.opencode/plugins/) which exposes SessionStart-equivalent hooks.
trellis init --opencode -u your-name
Generates:
.opencode/commands/trellis/ — slash commands (start.md, before-dev.md, check.md, finish-work.md, and the rest of the 0.4 command set)
.opencode/agents/ — sub-agent definitions (implement.md, research.md, check.md) for OpenCode’s Task-equivalent primitive
.opencode/plugins/session-start.js — session-start plugin that injects Trellis context
.agents/skills/ — shared Agent Skills layer (OpenCode also reads this directory)
Invoke commands as /trellis:start, /trellis:before-dev, etc. OpenCode is one of the few non-Claude platforms where sub-agents actually spawn in isolation.
iFlow Integration
iFlow is a TongYi-derived AI coding CLI. Trellis shares the Claude Code Python hook layout with iFlow, so the automation story is comparable.
trellis init --iflow -u your-name
Generates:
.iflow/commands/trellis/ — slash commands (/trellis:start, /trellis:before-dev, etc.)
.iflow/hooks/session-start.py + .iflow/hooks.json — SessionStart hook wiring (same Python script as Claude Code)
.iflow/settings.json — project-scoped iFlow config
iFlow was removed in 0.5.0-beta.0. If you’re on 0.4.0 GA it’s fully supported; upgrading to 0.5 will uninstall the .iflow/ directory.
Gemini CLI Integration
Gemini CLI is Google’s official Gemini-powered terminal agent.
trellis init --gemini -u your-name
Generates:
.gemini/commands/trellis/{name}.toml — TOML command files for the 0.4 command set. Gemini CLI loads them via its TOML command format, so each command’s prompt lives in a prompt = """...""" block.
.agents/skills/ — shared skills layer (Gemini CLI reads the agentskills.io standard path).
Gemini CLI does not expose SessionStart hooks, so the prelude is loaded by explicitly running /trellis:start at session start.
Qoder Integration
Qoder does support Custom Commands (typed with / in the agent input, stored under ~/.qoder/commands/ or <project>/.qoder/commands/), but Trellis’s design choice on Qoder is to deliver its workflow as auto-trigger skills only. Trellis doesn’t write to .qoder/commands/ — that space stays free for your own custom commands.
trellis init --qoder -u your-name
Generates:
.qoder/skills/{name}/SKILL.md — the full 0.4 command set rendered as skills (start, brainstorm, before-dev, check, check-cross-layer, finish-work, break-loop, create-command, integrate-skill, onboard, record-session, update-spec). The platform auto-matches based on user intent.
In 0.4.0 Qoder has no SessionStart hook path at Trellis level, so prelude context is loaded on demand when the user triggers the start skill (Qoder’s skill picker is the only user-facing entry point).
GitHub Copilot Integration
GitHub Copilot (Chat) doesn’t expose a slash-command primitive of its own. Trellis delivers its 0.4 command set as prompt files plus an always-loaded instructions file.
trellis init --copilot -u your-name
Generates:
.github/copilot-instructions.md — auto-loaded every chat session, carries the Trellis prelude
.github/prompts/trellis-{name}.prompt.md — per-command prompts (trellis-start.prompt.md, trellis-check.prompt.md, etc.). Invoke via Copilot’s “Run Prompt” picker.
No hook support — the prelude instructions file replaces SessionStart.
Windsurf Integration
Windsurf (Codeium’s agent IDE) uses workflow files and always-on rules. Trellis maps its commands to Windsurf workflows and the prelude to Windsurf rules.
trellis init --windsurf -u your-name
Generates:
.windsurf/workflows/trellis-{name}.md — each Trellis command as a workflow, invoked from Windsurf’s workflow picker
.windsurf/rules/trellis.md — always-on rule carrying the Trellis prelude
No hook system. Workflows are manual-invoke; the rule file ensures context is always available.
CodeBuddy Integration
CodeBuddy is Tencent Cloud’s AI coding assistant with MCP extensibility.
trellis init --codebuddy -u your-name
Generates:
.codebuddy/commands/trellis/{name}.md — 12 slash commands (invoked as /trellis:start, /trellis:check, etc.)
In 0.4.0 CodeBuddy integration is command-only; no hooks or sub-agents — spec loading requires explicit /trellis:before-dev invocation.
Antigravity Integration
Antigravity is Google’s experimental agent IDE. It uses workflow files under .agent/workflows/.
trellis init --antigravity -u your-name
Generates:
.agent/workflows/{name}.md — Trellis workflows, invoked via Antigravity’s workflow picker. Content is adapted from the shared Codex skill source.
No hook or sub-agent support; manual-invoke workflow model.
Factory Droid Integration
Factory Droid is Factory.ai’s agent-capable CLI. It has hooks and sub-agents, so Trellis gives it the near-full Claude Code experience.
trellis init --droid -u your-name
Generates:
.factory/commands/trellis/{name}.md — slash commands
.factory/agents/{name}.md — sub-agent definitions (implement, research, check)
.factory/skills/ — auto-trigger skills
.factory/hooks/session-start.py + .factory/hooks.json — SessionStart hook (same Python script family as Claude Code)
Operating System Compatibility
| OS | Support Status | Notes |
|---|
| macOS | ✅ Full support | Primary development platform, all features verified |
| Linux | ✅ Full support | All features verified |
| Windows | ✅ Full support | All scripts migrated to Python, natively supports Windows |
Cross-platform notes:
| Consideration | Details |
|---|
| Python scripts | Scripts under .trellis/scripts/ are Python, requiring Python 3.10+, cross-platform compatible |
| Python Hooks | Hook scripts under .claude/hooks/ require Python 3.10+, cross-platform compatible |
| Path separators | Trellis internally uses /, Python handles path conversion automatically |
| Git worktree | Multi-Agent Pipeline relies on git worktree, supported on all platforms |
Multi-Developer Collaboration
Non-conflicting parts (per-developer isolation):
workspace/{name}/ — each developer has their own directory
.developer — gitignored, per-developer
- Parallel task worktrees — physically isolated
Potentially conflicting parts (require coordination):
spec/ — multiple people may modify the same spec simultaneously
tasks/ — multiple people may operate on the same task
Best practices:
- Spec changes go through PR review
- Task assignments are explicit (
--assignee parameter)
- Important spec changes are discussed in team meetings
Complete worktree.yaml Configuration
# Worktree Configuration for Multi-Agent Pipeline
#───────────────────────────────────────────────────
# Paths
#───────────────────────────────────────────────────
# Worktree storage directory (relative to project root)
worktree_dir: ../trellis-worktrees
#───────────────────────────────────────────────────
# Files to Copy
#───────────────────────────────────────────────────
# Files that need independent copies in each worktree
# These files contain sensitive info or need independent config
copy:
- .env # Environment variables
- .env.local # Local environment variables
- .trellis/.developer # Developer identity
#───────────────────────────────────────────────────
# Post-Create Hooks
#───────────────────────────────────────────────────
# Commands to run after creating a worktree
# Executed sequentially in the worktree directory; aborts on failure
post_create:
- pnpm install --frozen-lockfile
# - npm install
# - yarn install --frozen-lockfile
#───────────────────────────────────────────────────
# Check Agent Verification (Ralph Loop)
#───────────────────────────────────────────────────
# Commands to verify code quality
# When configured, Ralph Loop runs these — all must pass
# Without configuration, falls back to completion markers mode
verify:
- pnpm lint
- pnpm typecheck
# - pnpm test
trellis update and Version Management
# Check current version
cat .trellis/.version
# Update to latest version
trellis update
# Preview updates (dry run)
trellis update --dry-run
# Force overwrite all files
trellis update -f
# Skip all changed files
trellis update -s
Template hash mechanism:
.trellis/.template-hashes.json stores the SHA-256 hash of each template file. During trellis update:
- Compute local file hashes
- Compare with recorded template hashes
- If they match — file not modified by user — safe to update
- If they differ — file was modified by user — prompt for conflict resolution
- User chooses: overwrite / skip / merge