Contributing
For repository setup, changesets, and pull requests, see the Contributing Guide. For shared methodology changes, follow the Canonical Source Workflow.
Package Boundary
Section titled “Package Boundary”Pi and Oh My Pi share the same architecture: each package pairs a runtime extension with generated agent and skill resources. The extensions own lifecycle hooks, mode state, compaction, commands, deployment, and subagent dispatch; prompts and global rules remain in packages/core/agent-directives/. Keep runtime changes in each package’s src/; do not assume the two runtimes behave interchangeably.
Change Shared Methodology
Section titled “Change Shared Methodology”Edit the canonical source, never generated files under agents/ or skills/, then regenerate:
scripts/sync-allPlatform transforms stay small: Pi rewrites @agent to /agent; OMP keeps the bare agent name and native task(). Platform-only skills need valid frontmatter and must pass the package skill validator.
Validate
Section titled “Validate”pnpm --filter @maestria/pi buildpnpm --filter @maestria/omp buildpnpm --filter @maestria/pi validatepnpm --filter @maestria/omp validatepnpm --filter @maestria/pi testpnpm --filter @maestria/omp testUse the Pi and OMP reference for user-facing command, dispatch, and session behavior.