Skip to content

Latest commit

 

History

History
71 lines (58 loc) · 3.47 KB

File metadata and controls

71 lines (58 loc) · 3.47 KB

Claude Instructions for sc-compose

Critical Workflow Rule

Do not switch the main checkout away from main for sprint work.

  • Keep the primary repo checkout on main
  • Use git worktrees for feature work when parallel branches are needed
  • Prefer short-lived feature branches targeting develop

Project Overview

sc-compose is a standalone template-composition workspace.

It contains:

  • sc-composer: reusable rendering library
  • sc-compose: CLI wrapper around the library

This repo is intentionally independent from ATM. Do not introduce agent-team-mail-* dependencies or ATM path/runtime assumptions.

Key Documents

Boundary Rules

  1. sc-composer must remain a pure library.
  2. sc-compose may depend on sc-composer, sc-composer-beads, and standalone observability crates only.
  3. bindings/python is a Python-facing adapter package that may depend on sc-composer only.
  4. bindings/python must not depend on sc-compose, sc-observability, or ATM-specific crates.
  5. sc-composer must not depend on bindings/python.
  6. Do not read ATM_HOME.
  7. Any ATM integration belongs in ATM adapters, not in this repo.
  8. sc-sha is a pure computation crate. It may depend only on approved hashing/encoding dependencies, and may be depended on only by sc-composer, bindings/sc-sha-python, and bindings/sc-sha-go. See ADR-0018.
  9. bindings/sc-sha-python is a Python-facing adapter for sc-sha only. It may depend on published sc-sha plus PyO3/maturin packaging dependencies only. See ADR-0018.
  10. bindings/sc-sha-go is a generated UniFFI adapter for sc-sha only. It may depend on sc-sha plus its approved pinned UniFFI generation/runtime dependencies; it must not depend on sc-compose, sc-composer, ATM code, filesystem/resolver policy, or another adapter. sc-sha must not depend on it. See ADR-0018 and ADR-0020.
  11. sc-composer-beads is the host-neutral Beads formula-composition library. It may depend only on sc-composer, workspace serde/error dependencies, and the approved process-wrap platform-containment dependency. It must not depend on sc-compose, a foreign-language adapter, Beads source or database libraries, or ATM/runtime code. See ADR-0021.
  12. sc-compose is the CLI adapter over sc-composer-beads; the Beads library must not depend on the CLI.
  13. bindings/sc-composer-beads-python is the Python-facing adapter for sc-composer-beads only. It may depend on that crate plus approved PyO3/maturin/serde dependencies. It must not depend on sc-compose, sc-composer, a Beads source/database library, ATM/runtime code, or another adapter.

Team Communication

If this repo is being run with ATM team workflow enabled, follow docs/team-protocol.md for all ATM messages.