Баунс

Project resources

Attach typed pointers — local directories — to a project so agents pick them up as scoped context.

A project resource is a typed pointer attached to a project — a directory on a specific machine to work in. When an agent runs a task against an issue inside that project, the daemon uses the project's resources to decide where and how the agent's code lives, so nobody has to paste paths into the issue body.

Mental model

A project is more than a label — it's a small resource container:

  • A project has 0..N resources.
  • Each resource has a resource_type and a typed resource_ref payload.
  • Adding a new resource type is additive — a new type string plus a handler, no schema migration.

One resource type ships today: local_directory. This mirrors the same discriminated-payload pattern Bounc uses elsewhere, so future types (a Git repository, a Notion page, an uploaded file, an external URL) stay a small, additive change.

Local directories

A project can point at an existing directory on a specific daemon's machine — a multi-gigabyte checkout, a large monorepo, or any code that can't reasonably be re-cloned per task. The agent runs directly inside that folder: no clone, no copy, no worktree.

bounc project resources add <project> local_directory /path/to/checkout \
  --daemon <daemon-id> \
  --label "main checkout"     # optional

A local_directory is bound to exactly one daemon — the --daemon value identifies the machine that holds that path. Only that daemon can run tasks against the directory.

Tasks against the same local directory run serially, one at a time — not in parallel. While one task holds the directory, the next parks with the task status waiting_local_directory until the directory is released or the task is cancelled.

Managing resources

bounc project resources list <project>
bounc project resources add <project> local_directory <path> --daemon <daemon-id> [options]
bounc project resources update <resource-id> --label "new label"
bounc project resources remove <resource-id>

<project> accepts a project title or its UUID; <path> is the directory path. See the CLI reference.

Next

On this page