Skip to content

Add universal Zoo Code setup, doctor, and uninstall commands #307

Description

@tbitcs

Goal

Make Specsmith the canonical distribution point for the portable Zoo Code integration currently prototyped in layer1labs/chronocortex.

Decision

Do not create a separate repository. Specsmith already owns the public specsmith zoo-code CLI group, is distributed through pipx/PyPI, and already documents Zoo Code/Roo Code integration. A separate repository would duplicate release/versioning, compatibility testing, and documentation.

Required CLI

specsmith zoo-code setup --project-dir .
specsmith zoo-code doctor --project-dir .
specsmith zoo-code uninstall --project-dir .

Options:

  • --global-roo PATH with default ROO_GLOBAL_DIR or ~/.roo
  • --scope both|global|project
  • --dry-run
  • --preserve-existing for users who do not want reserved Specsmith paths adopted

Ownership boundary

Specsmith package owns

  • reusable global Zoo Code rules under ~/.roo/rules*
  • reusable slash commands under ~/.roo/commands
  • reusable skills under ~/.roo/skills
  • managed-file marker and manifest
  • safe backup/adoption of reserved Specsmith paths
  • stale managed-asset cleanup
  • project MCP merge for specsmith-governance
  • removal of generic Specsmith rules duplicated inside project .roo
  • setup, doctor, and uninstall lifecycle
  • package tests and documentation

Project repositories own

  • project-specific .roo/rules*
  • project-specific .roo/commands
  • project-specific .roo/skills
  • local provider/model settings and custom modes
  • any project-specific wrapper that invokes specsmith zoo-code setup

ChronoCortex should retain only ChronoCortex-specific assets and its model/settings configurator.

Safety requirements

  • Never delete an unmanaged file solely because its path resembles a Specsmith asset.
  • Managed files must contain a versioned marker.
  • Back up an existing file before adopting a reserved Specsmith path.
  • Preserve unrelated MCP servers while merging/removing specsmith-governance.
  • Uninstall removes only marker/manifest-owned files.
  • Doctor fails on missing, mismatched, duplicated, or stale managed assets.
  • Commands must be idempotent.

Universal assets

Global rules:

  • rules/00-specsmith-source-of-truth.md
  • rules/10-specsmith-governance.md
  • rules/20-context-continuity.md
  • rules/30-security-and-secrets.md
  • rules/40-context-efficiency.md
  • mode-specific planning, evidence, implementation, debugging, orchestration, and review rules

Global slash commands:

  • /specsmith-intake
  • /specsmith-plan
  • /specsmith-implement
  • /specsmith-debug
  • /specsmith-review
  • /specsmith-checkpoint

Global skills:

  • specsmith-governed-work
  • specsmith-evidence-debugging
  • specsmith-context-continuity

Tests

At minimum:

  1. clean setup followed by doctor
  2. repeat setup is idempotent
  3. existing reserved path is backed up and adopted
  4. --preserve-existing reports a conflict without modifying it
  5. MCP merge preserves unrelated servers
  6. recognized workspace duplicates are removed
  7. customized workspace files are preserved and reported
  8. stale marker-owned assets are removed
  9. uninstall removes only managed assets
  10. Linux, macOS, and Windows path behavior

ChronoCortex migration

After a Specsmith release contains this feature:

pipx upgrade specsmith
specsmith zoo-code setup --project-dir ~/chronocortex
specsmith zoo-code doctor --project-dir ~/chronocortex

Then replace ChronoCortex's embedded universal installer/cleanup scripts with a thin call to the packaged CLI. Keep the ChronoCortex-specific .roo profile and Zoo/LiteLLM settings scripts in ChronoCortex.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions