agentleFS
jugoljugol/workcell/AGENTS.md

workcell

AGENTS.md1 starsChanged 4 months agoMITView on GitHub

Guidance for human and AI contributors working in this repository. Workcell is a multi-agent operations platform for running development projects: a human board owns direction, approvals, and policy, and an AI team executes against it with proof. The team is four seats by default — Orchestrator, Designer, Developer, QA — an opinionated, design-first skeleton that the org extends with more roles (Lead, PM, Researcher, Security, DevOps, general) and capabilities as the work demands. See the README's philosophy section for the…

  • Deletes or force-pushes
  • Installs packages
  • Commits and pushes

The file

Show its rules and text

We split this AGENTS.md into the rules it gives an agent

17 rules. About 0 are common, 11 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before making changes, read in this order:

    line 19
  2. Very specific:

    Use embedded PGlite in dev by leaving DATABASE_URL unset.

    line 43
  3. Distinctive:

    Every domain entity should be scoped to a company and company boundaries must be enforced in routes/services.

    line 72
  4. Distinctive:

    If you change schema/API behavior, update all impacted layers:

    line 75
  5. Very specific:

    Do not replace strategic docs wholesale unless asked.

    line 88
  6. Very specific:

    Prefer additive updates. Keep doc/SPEC.md and doc/SPEC-implementation.md aligned.

    line 89
  7. Very specific:

    Keep repo plan docs dated and centralized.

    line 91
  8. Distinctive:

    When changing data model:

    line 96
  9. Very specific:

    Ensure new tables are exported from packages/db/src/schema/index.ts

    line 99
  10. Distinctive:

    Default local/agent test path:

    line 118
  11. Distinctive:

    Run the browser suites only when your change touches them or when you are explicitly verifying CI/release flows.

    line 131
  12. Distinctive:

    Run this full check before claiming repo work done in a PR-ready hand-off, or when the change scope is broad enough that targeted checks …

    line 135
  13. Distinctive:

    If anything cannot be run, explicitly report what was not run and why.

    line 143
  14. Distinctive:

    write activity log entries for mutations

    line 156
  15. Distinctive:

    Keep routes and nav aligned with available API surface

    line 161
  16. Distinctive:

    Use company selection context for company-scoped pages

    line 162
  17. Very specific:

    When creating a pull request (via gh pr create or any other method), you must read and fill in every section of …

    line 167

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

AGENTS.md

Guidance for human and AI contributors working in this repository.

1. Purpose

Workcell is a multi-agent operations platform for running development projects: a human board owns direction, approvals, and policy, and an AI team executes against it with proof. The team is four seats by default — Orchestrator, Designer, Developer, QA — an opinionated, design-first skeleton that the org extends with more roles (Lead, PM, Researcher, Security, DevOps, general) and capabilities as the work demands. See the README's philosophy section for the full stance. Workcell began as a fork of Paperclip (MIT); the original notice is preserved in NOTICE.

The current implementation target is V1 and is defined in doc/SPEC-implementation.md.

2. Read This First

Before making changes, read in this order:

  1. doc/GOAL.md
  2. doc/PRODUCT.md
  3. doc/SPEC-implementation.md
  4. doc/DEVELOPING.md
  5. doc/DATABASE.md

doc/SPEC.md is long-horizon product context. doc/SPEC-implementation.md is the concrete V1 build contract.

3. Repo Map

  • server/: Express REST API and orchestration services
  • ui/: React + Vite board UI
  • packages/db/: Drizzle schema, migrations, DB clients
  • packages/shared/: shared types, constants, validators, API path constants
  • packages/adapters/: agent adapter implementations (Claude, Codex, Cursor, etc.)
  • packages/adapter-utils/: shared adapter utilities
  • packages/plugins/: plugin system packages
  • doc/: operational and product docs

4. Dev Setup (Auto DB)

Use embedded PGlite in dev by leaving DATABASE_URL unset.

pnpm install
pnpm dev

This starts:

  • API: http://localhost:3100
  • UI: http://localhost:3100 (served by API server in dev middleware mode)

Quick checks:

curl http://localhost:3100/api/health
curl http://localhost:3100/api/companies

Reset local dev DB:

rm -rf data/pglite
pnpm dev

5. Core Engineering Rules

  1. Keep changes company-scoped. Every domain entity should be scoped to a company and company boundaries must be enforced in routes/services.
  2. Keep contracts synchronized. If you change schema/API behavior, update all impacted layers:
  • packages/db schema and exports
  • packages/shared types/constants/validators
  • server routes/services
  • ui API clients and pages
  1. Preserve control-plane invariants.
  • Single-assignee task model
  • Atomic issue checkout semantics
  • Approval gates for governed actions
  • Budget hard-stop auto-pause behavior
  • Activity logging for mutating actions
  1. Do not replace strategic docs wholesale unless asked. Prefer additive updates. Keep doc/SPEC.md and doc/SPEC-implementation.md aligned.
  2. Keep repo plan docs dated and centralized. When you are creating a plan file in the repository itself, new plan documents belong in doc/plans/ and should use YYYY-MM-DD-slug.md filenames. This does not replace Workcell issue planning: if a Workcell issue asks for a plan, update the issue plan document per the workcell skill instead of creating a repo markdown file.

6. Database Change Workflow

When changing data model:

  1. Edit packages/db/src/schema/*.ts
  2. Ensure new tables are exported from packages/db/src/schema/index.ts
  3. Generate migration:
pnpm db:generate
  1. Validate compile:
pnpm -r typecheck

Notes:

  • packages/db/drizzle.config.ts reads compiled schema from dist/schema/*.js
  • pnpm db:generate compiles packages/db first

7. Verification Before Hand-off

Default local/agent test path:

pnpm test

This is the cheap default and only runs the Vitest suite. Browser suites stay opt-in:

pnpm test:e2e
pnpm test:release-smoke

Run the browser suites only when your change touches them or when you are explicitly verifying CI/release flows.

For normal issue work, run the smallest relevant verification first. Do not default to repo-wide typecheck/build/test on every heartbeat when a narrower check is enough to prove the change.

Run this full check before claiming repo work done in a PR-ready hand-off, or when the change scope is broad enough that targeted checks are not sufficient:

pnpm -r typecheck
pnpm test:run
pnpm build

If anything cannot be run, explicitly report what was not run and why.

8. API and Auth Expectations

  • Base path: /api
  • Board access is treated as full-control operator context
  • Agent access uses bearer API keys (agent_api_keys), hashed at rest
  • Agent keys must not access other companies

When adding endpoints:

  • apply company access checks
  • enforce actor permissions (board vs agent)
  • write activity log entries for mutations
  • return consistent HTTP errors (400/401/403/404/409/422/500)

9. UI Expectations

  • Keep routes and nav aligned with available API surface
  • Use company selection context for company-scoped pages
  • Surface failures clearly; do not silently ignore API errors

10. Pull Request Requirements

When creating a pull request (via gh pr create or any other method), you must read and fill in every section of .github/PULL_REQUEST_TEMPLATE.md. Do not craft ad-hoc PR bodies — use the template as the structure for your PR description. Required sections:

  • Thinking Path — trace reasoning from project context to this change (see CONTRIBUTING.md for examples)
  • What Changed — bullet list of concrete changes
  • Verification — how a reviewer can confirm it works
  • Risks — what could go wrong
  • Model Used — the AI model that produced or assisted with the change (provider, exact model ID, context window, capabilities). Write "None — human-authored" if no AI was used.
  • Checklist — all items checked

11. Definition of Done

A change is done when all are true:

  1. Behavior matches doc/SPEC-implementation.md
  2. Typecheck, tests, and build pass
  3. Contracts are synced across db/shared/server/ui
  4. Docs updated when behavior or commands change
  5. PR description follows the PR template with all sections filled in (including Model Used)

12. Fork lineage

Workcell is a fork of Paperclip (paperclipai, MIT-licensed). The control plane (heartbeat scheduler, budgets, org chart, governance, ticketing, plugins, workspaces, multi-company isolation) is inherited; the product direction — board + orchestrator + functional-role taxonomy, proof-gated execution — and the net-new subsystems (Knowledge Graph, Graphify code-graph, Capability Registry, Pair collaboration, the outbound MCP bridge, app-wide i18n) are Workcell's own.

  • Full fork rationale: root README.md.
  • Required upstream attribution (MIT): NOTICE — must be retained.
  • Feature inventory with [Paperclip] / [Changed] / [New] tags: docs/FEATURES.md.

Note: external agent adapters can be loaded as plugins via ~/.workcell/adapter-plugins.json (the plugin loader does dynamic loading with no hardcoded adapter imports). Built-in adapters in this repo are claude / codex / process / http.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.