Skip to main content
A project pack teaches Harnest how your company creates and upgrades agent repositories. Package your defaults, templates, and migrations once, then expose them through your own CLI or a custom interface. Install packs in your authoring environment. Their scaffolding and migration dependencies do not need to be installed in deployed agents. Use a Harnest Extension for capabilities that run inside the agent.

Create a pack

Define pack identity, typed options, and company configuration.

Build a company CLI

Expose init, upgrade, and your own commands.

Create a starter

This creates pack.py, an editable harnest-compile.yaml, and sample team documentation. Run python ./acme-pack/pack.py init ./sales to create an agent with those defaults. See generate a starter pack for setup and customization.

Supported decorators

Project packs support two decorators. Both register synchronous functions that return a ChangePlan; they propose changes during planning rather than applying them to the live project. There are no separate before/after init, apply, or rollback decorators. Harnest owns applying and recovering the proposed changes.

How changes reach the project

Harnest prepares its scaffold or core migrations in a temporary copy. Packs then propose their changes in the order you supply them. The planner validates company configuration and reports conflicts in one combined preview.

Files, YAML, and templates

Declare changes and choose an ownership policy.

Plans and recovery

Review plans, resolve blockers, and recover interrupted changes.