Skip to content

Development environment

Spine is a multi-repository workspace rather than a Python project. Shared tools prepare coordination context; each package keeps its own environment, system dependencies, tests, and lock or pin policy.

Workspace layouts

The default nested layout clones packages under repos/. The --sibling layout keeps them beside HSSMSpine. Setup, launchers, and worktree commands must use the same layout so discovery is deterministic.

Generated worktrees live below an ignored .worktrees root and are excluded from ordinary discovery. Optional artifact, feedstock, and experimental repositories are not part of the six-site native documentation contract.

Shared prerequisites

Contributors need Git, Python 3, uv, and the GitHub CLI for the common workflows. Agent CLIs are optional unless you use the corresponding launcher. Run the capability doctor for an actionable machine check.

Package environments remain separate:

  • ssm-simulators adds compiler, GSL, and OpenMP requirements.
  • LANfactory owns its training dependencies and backend-specific setup.
  • LAN_pipeline_minimal owns its operator and cluster environment.
  • HSSM owns its inference, notebook, and documentation groups.
  • HSSMCortex owns optional knowledge-store dependencies.

Follow the rendered documentation in the owning repository for current install commands. Spine intentionally does not duplicate fast-moving dependency lists.

Agent configuration

Tracked sources under _context/, _agents/, .claude/skills/, and .mcp.json fan out to local editor surfaces. Launchers synchronize them before starting a session. Generated CLAUDE.md, AGENTS.md, CURSOR.md, .cursor/, .agents/, and .codex/ content should not be edited as source.

Personal context

The optional _local/ layer stores gitignored preferences and task working memory. It must not contain credentials, sensitive data, or results that need repository review. _local.template/ is the tracked onboarding example, not a place for live task state.

Continue with Manage task context or consult the launcher reference.