Contributing
For repository setup, changesets, and pull requests, see the Contributing Guide.
Package Boundary
Section titled “Package Boundary”@maestria/opencode pairs a small runtime adapter with methodology generated from packages/core/agent-directives/. The adapter loads the generated agent files, parses their frontmatter, and registers them with OpenCode. Platform-specific lifecycle behavior belongs in packages/opencode/src/; shared methodology does not.
Change Methodology
Section titled “Change Methodology”Edit the canonical source, never generated files under packages/opencode/agents/ or packages/opencode/rules/. See the Canonical Source Workflow. After changing core content:
scripts/sync-allscripts/check-syncpnpm --filter @maestria/opencode testKeep permission changes in sync.config.ts, and test them against the generated output.
Architecture
Section titled “Architecture”Record OpenCode-specific boundary decisions in ADR-OC-001 or the relevant ADR.