Skip to main content
Hotfix: three bugs in trellis update --migrate / init-context. Not breaking; no --migrate required.

Bug Fixes

1. trellis- prefix missing from codex / kiro skill paths

get_trellis_command_path in cli_adapter.py returned bare-name paths, ignoring the prefix 0.5.0-beta.0 introduced across 60+ skill dirs. check.jsonl generated by task.py init-context on codex / kiro projects pointed at non-existent files.
elif self.platform == "codex":
    return f".agents/skills/trellis-{name}/SKILL.md"
elif self.platform == "kiro":
    return f".kiro/skills/trellis-{name}/SKILL.md"

2. .agents/skills/ blocked Kiro / Antigravity / Windsurf detection

.agents/skills/ is a shared cross-platform layer (Codex writes, Amp / Cline / Kimi Code / Warp consume via agentskills.io). It was listed in _ALL_PLATFORM_CONFIG_DIRS, blocking every detection branch whose exclude set didn’t name it. detect_platform fell through to claude.
  • Removed ".agents" from _ALL_PLATFORM_CONFIG_DIRS.
  • Added a guarded codex fallback at the end of detect_platform:
agents_skills = project_root / ".agents" / "skills"
if agents_skills.is_dir() and not _has_other_platform_dir(project_root, set()):
    for entry in agents_skills.iterdir():
        if entry.is_dir() and entry.name.startswith("trellis-"):
            return "codex"

3. init-context now accepts --platform

Skills / commands are rendered per-platform; the invoking platform is known at render time. Threaded it end-to-end instead of re-detecting from the filesystem.
  • {{CLI_FLAG}} placeholder added to resolvePlaceholders — resolves to the platform’s cliFlag at configure time.
  • TemplateContext gained cliFlag: CliFlag, asserted against AIToolConfig.cliFlag by a registry invariant test.
  • task.py init-context gained --platform, threaded through cmd_init_contextget_check_context(repo_root, platform=...)get_cli_adapter(platform).
  • codex/skills/start/SKILL.md and copilot/prompts/start.prompt.md now invoke:
python3 ./.trellis/scripts/task.py init-context "$TASK_DIR" <type> --platform {{CLI_FLAG}}
Auto-detect remains as fallback when --platform is omitted (CLI-direct invocation, TRELLIS_PLATFORM env var).

4. migrationGuide back-fill for 0.5.0-beta.0 and 0.5.0-beta.5

update.ts builds the migrate-to-<version> task PRD by concatenating every migrationGuide between fromVersion and toVersion. Both breaking 0.5.x releases shipped without the field; users upgrading from 0.4.x saw a PRD containing only 0.3/0.4 historical guides, with nothing about the actual 0.5 breaking changes.
ManifestBack-filled content
0.5.0-beta.0.json0.4→0.5 narrative: skill renames, retired commands, Multi-Agent Pipeline removal, iFlow drop, task.json schema cleanup
0.5.0-beta.5.jsonSub-agent rename: implement / check / researchtrellis-*
packages/cli/scripts/create-manifest.js now rejects manifests where breaking && recommendMigrate && !migrationGuide. .trellis/spec/cli/backend/migrations.md documents the rule. End-to-end paths verified:
From → ToGuides included
0.4.0 → 0.5.0-beta.100.5.0-beta.0, 0.5.0-beta.5
0.3.9 → 0.5.0-beta.100.4.0-beta.1, 0.5.0-beta.0, 0.5.0-beta.5
0.5.0-beta.4 → 0.5.0-beta.100.5.0-beta.5

5. release:beta / release:rc / release:promote check docs-site changelog

packages/cli/scripts/check-docs-changelog.js runs before version bump. If docs-site/changelog/v<target>.mdx, docs-site/zh/changelog/v<target>.mdx, or their docs.json page entries are missing, the script exits 1. Added after beta.10 itself shipped without a docs-site changelog for this exact reason.

Upgrade

trellis update
Not breaking.
  • Upgraded from beta.9 and already ran trellis update --migrate: check.jsonl in tasks created during that run still points at the old bare-name paths. Re-run task.py init-context <task-dir> <type> --platform <platform> on each, or recreate the task.
  • On 0.4.x, never migrated to 0.5 yet: the migration task PRD now contains the real 0.4→0.5 guide.
  • Codex users with fresh clones missing .codex/: detect_platform now returns codex instead of claude when .agents/skills/trellis-* is the only platform signal present.
Install: npm install -g @mindfoldhq/trellis@beta