agent-context-store 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +65 -90
  2. package/package.json +25 -2
package/README.md CHANGED
@@ -6,6 +6,8 @@ Agent Context Store (`acs`) is a Git-backed, schema-validated handoff toolkit th
6
6
 
7
7
  Each role agent writes schema-validated documents — SRS, design docs, ADRs, API specs, test plans — with structured frontmatter into a Git-tracked store. A validated handoff record acts as the contract between agents; the receiving agent packages and reads it before starting work. Works with Cursor, Claude Code, Codex, CI pipelines, and any custom agent runtime.
8
8
 
9
+ `acs` is built on the same handoff principles formalized by the [OpenAI Agents SDK](https://openai.github.io/openai-agents-python/handoffs/), the [Microsoft Agent Framework](https://learn.microsoft.com/en-us/agent-framework/workflows/orchestrations/handoff) handoff orchestration, and Google's [Agent2Agent (A2A) protocol](https://github.com/a2aproject/A2A) — applied to the SDLC roles BA, SA, Dev, QA, and persisted to Git so handoffs survive across runtimes, sessions, and CI.
10
+
9
11
  ## Architecture
10
12
 
11
13
  ```mermaid
@@ -83,6 +85,21 @@ Run `acs init` in your project directory. When stdin is a terminal, an interacti
83
85
 
84
86
  A summary is shown before anything is written, and you can abort with `n`.
85
87
 
88
+ Pass `--mode` to skip the wizard entirely:
89
+
90
+ ```bash
91
+ acs init # wizard (TTY only)
92
+ acs init --mode in-repo # silent, creates .acs/ in current dir
93
+ acs init --mode local # silent, stores in OS user-data dir
94
+ acs init --mode dedicated . # silent, current dir is the store root
95
+ ```
96
+
97
+ | Mode | Where context is stored | Best for |
98
+ |------|------------------------|----------|
99
+ | **in-repo** _(default)_ | `.acs/` inside your project | Most projects — context stays with code |
100
+ | **local** | OS user-data dir | Personal workflows, no repo changes |
101
+ | **dedicated** | This folder IS the store root | Multi-project teams, CI governance |
102
+
86
103
  ## Step 3: Run Your First Workflow
87
104
 
88
105
  After setup, each team member opens their AI agent (Cursor or Claude Code) and invokes the matching role skill by name. The skill tells the agent exactly which `acs` commands to run — the human never types `acs` directly.
@@ -179,46 +196,9 @@ acs index
179
196
 
180
197
  All four role artifacts and handoff records are now persisted in the store.
181
198
 
182
- ## How Agents Should Use It
183
-
184
- Give each agent access to the same project (in-repo mode) or context store repository (dedicated mode) and instruct it to use `acs` for durable handoffs.
185
-
186
- Suggested agent instruction:
187
-
188
- ```text
189
- Use Agent Context Store for durable project context.
190
- Before creating or handing off work, run acs status and acs validate.
191
- Use acs roles, acs role explain, and acs next to follow the configured workflow.
192
- Create task artifacts with acs new or acs <role> new.
193
- Create role handoffs with acs handoff create.
194
- Generate the next role package with acs package.
195
- Commit context store changes to the configured Git repository.
196
- ```
197
-
198
199
  ## Context Store Layout
199
200
 
200
- ### In-repo mode (default)
201
-
202
- ```text
203
- .acs/
204
- config.yaml
205
- acs.yaml
206
- index.json
207
- audit/
208
- artifacts/
209
- <artifact-type>/
210
- handoffs/
211
- summaries/
212
- packages/
213
- roles/
214
- artifact-types/
215
- workflows/
216
- schemas/
217
- templates/
218
- docs/
219
- ```
220
-
221
- ### Dedicated mode
201
+ The store root is `.acs/` in **in-repo** mode and `<store-root>/` in **dedicated** mode. Both use the same structure:
222
202
 
223
203
  ```text
224
204
  <store-root>/
@@ -227,6 +207,7 @@ Commit context store changes to the configured Git repository.
227
207
  index.json
228
208
  audit/
229
209
  artifacts/
210
+ <artifact-type>/
230
211
  handoffs/
231
212
  summaries/
232
213
  packages/
@@ -238,37 +219,33 @@ Commit context store changes to the configured Git repository.
238
219
  docs/
239
220
  ```
240
221
 
241
- Important outputs:
242
-
243
222
  - `artifacts/`: durable SDLC artifacts such as requirements, designs, ADRs, API notes, and test plans.
244
223
  - `handoffs/`: explicit role-to-role handoff records.
245
224
  - `packages/`: role-specific context bundles for the next agent.
246
225
  - `index.json`: generated artifact and handoff index.
247
226
  - `audit/`: local audit log for CLI-created changes.
248
227
 
249
- In **in-repo mode** all paths above are inside `.acs/`.
250
-
251
228
  ## Commands
252
229
 
253
- | Command | What it does | Example |
254
- | -------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
255
- | `acs --version` | Prints the installed CLI version. | `acs --version` |
256
- | `acs init` | Initializes the context store. Runs an interactive wizard on a TTY; pass `--mode` to skip it. | `acs init`, `acs init --mode local` |
257
- | `acs status` | Shows current mode, store path, initialized state, and artifact/handoff counts. | `acs status` |
258
- | `acs install-skills` | Installs agent-specific skill and instruction files for Cursor, Claude, Codex, or all supported agents. | `acs install-skills --agent cursor` |
259
- | `acs roles` | Lists configured role profiles. | `acs roles` |
260
- | `acs role explain` | Explains what a role can create/read and suggests task commands. | `acs role explain dev --task TASK-123` |
261
- | `acs next` | Shows missing inputs, suggested outputs, and next workflow commands. | `acs next --role sa --task TASK-123` |
262
- | `acs new` | Creates a configured SDLC artifact. | `acs ba new srs --task TASK-123` |
263
- | `acs validate` | Validates the context store structure, artifact metadata, schemas, and handoff records. | `acs validate --role dev --task TASK-123` |
264
- | `acs handoff create` | Creates a role-to-role handoff record for a task. | `acs handoff create --from sa --to dev --task TASK-123` |
265
- | `acs handoff check` | Validates a specific handoff before another agent relies on it. | `acs handoff check HOFF-TASK-123-SA-DEV` |
266
- | `acs handoff list` | Lists handoff records, optionally filtered by task or role. | `acs handoff list --task TASK-123` |
267
- | `acs package` | Builds a role-specific context package for the next agent or automation step. | `acs package --task TASK-123 --role dev` |
268
- | `acs index` | Rebuilds `index.json` from artifacts and handoffs. | `acs index` |
269
- | `acs doctor` | Runs the same validation checks as `acs validate` for quick health checks. | `acs doctor` |
270
-
271
- ### Command - Reference
230
+ | Command | What it does |
231
+ | -------------------- | ------------------------------------------------------------------------------------------------------- |
232
+ | `acs --version` | Prints the installed CLI version. |
233
+ | `acs init` | Initializes the context store. Runs an interactive wizard on a TTY; pass `--mode` to skip it. |
234
+ | `acs status` | Shows current mode, store path, initialized state, and artifact/handoff counts. |
235
+ | `acs install-skills` | Installs agent-specific skill and instruction files for Cursor, Claude, Codex, or all supported agents. |
236
+ | `acs roles` | Lists configured role profiles (`ba`, `sa`, `dev`, `qa`). |
237
+ | `acs role explain` | Explains what a role can create/read and suggests task commands. |
238
+ | `acs next` | Shows missing inputs, suggested outputs, and next workflow commands. |
239
+ | `acs new` | Creates a configured SDLC artifact. |
240
+ | `acs validate` | Validates the context store structure, artifact metadata, schemas, and handoff records. |
241
+ | `acs handoff create` | Creates a role-to-role handoff record for a task. |
242
+ | `acs handoff check` | Validates a specific handoff before another agent relies on it. |
243
+ | `acs handoff list` | Lists handoff records, optionally filtered by task or role. |
244
+ | `acs package` | Builds a role-specific context package for the next agent or automation step. |
245
+ | `acs index` | Rebuilds `index.json` from artifacts and handoffs. |
246
+ | `acs doctor` | Runs the same validation checks as `acs validate` for quick health checks. |
247
+
248
+ ### Full syntax
272
249
 
273
250
  ```bash
274
251
  acs --version
@@ -291,35 +268,6 @@ acs index
291
268
  acs doctor
292
269
  ```
293
270
 
294
- Common roles:
295
-
296
- - `ba`
297
- - `sa`
298
- - `dev`
299
- - `developer`
300
- - `qa`
301
- - `reviewer`
302
-
303
-
304
- ### Command - init
305
-
306
- Pass `--mode` to skip the wizard entirely:
307
-
308
- ```bash
309
- acs init # wizard (TTY only)
310
- acs init --mode in-repo # silent, creates .acs/ in current dir
311
- acs init --mode local # silent, stores in OS user-data dir
312
- acs init --mode dedicated . # silent, current dir is the store root
313
- ```
314
-
315
- `acs` supports three storage modes:
316
-
317
- | Mode | Where context is stored | Best for |
318
- |------|------------------------|----------|
319
- | **in-repo** _(default)_ | `.acs/` inside your project | Most projects — context stays with code |
320
- | **local** | OS user-data dir | Personal workflows, no repo changes |
321
- | **dedicated** | This folder IS the store root | Multi-project teams, CI governance |
322
-
323
271
  ### Command - install-skills
324
272
 
325
273
  The wizard offers to install skill files during `acs init`. You can also run this separately at any time:
@@ -342,6 +290,33 @@ acs install-skills --agent all --path /path/to/repo
342
290
 
343
291
  Skill files are always replaced with the bundled version. If `AGENTS.md` or `CLAUDE.md` already exists, the installer appends to it.
344
292
 
293
+
294
+ ## Aligned with Industry Handoff Standards
295
+
296
+ `acs` adopts the same handoff vocabulary used by the major agent frameworks — typed handoff records, dynamic role-to-role routing, full task ownership transfer, capability advertisement, and durable checkpointing — and grounds them in a Git-tracked store so the handoff itself becomes an auditable, reviewable artifact rather than an in-memory tool call.
297
+
298
+ | Concept | Industry definition | `acs` equivalent |
299
+ |---------|--------------------|------------------|
300
+ | **Typed handoff contract** | OpenAI's `handoff()` with `input_type` schema, `handoff_description`, and `on_handoff` callback validates the data passed between agents. [[#1]](#references) | `acs handoff create --from <ROLE> --to <ROLE> --task <TASK_ID>` writes a YAML record validated against a JSON schema; `acs handoff check` is the receiver-side guard equivalent to `on_handoff` validation. |
301
+ | **Context filtering on handoff** | OpenAI `input_filter` and Microsoft's `HandoffAgentExecutor` strip handoff tool calls before forwarding to the next agent. [[#1]](#references) [[#2]](#references) | `acs package --task <TASK_ID> --role <ROLE>` builds a role-scoped context bundle so the receiving agent reads only what is relevant to its job. |
302
+ | **Full task ownership transfer** | Microsoft Agent Framework: "the agent receiving the handoff takes full ownership of the task" (vs. agent-as-tools, where control returns). [[#2]](#references) | BA → SA → Dev → QA each take complete ownership of the task in their phase; control does not return to the previous role. |
303
+ | **Mesh topology, no central orchestrator** | Microsoft: agents are connected directly; each decides when to hand off. [[#2]](#references) | No orchestrator process — each role agent independently decides when its artifacts are complete and issues a handoff. The store is the shared substrate. |
304
+ | **Dynamic routing rules** | Microsoft `HandoffBuilder.add_handoff(...)` / `WithHandoffs(...)` declares which agents may route to which. [[#2]](#references) | `workflows/` and `roles/` in the store define the legal BA→SA→Dev→QA edges; `acs validate` rejects out-of-policy handoffs. |
305
+ | **Capability discovery (Agent Cards)** | A2A: agents advertise abilities via JSON Agent Cards so peers know what they can do. [[#3]](#references) | `acs roles` and `acs role explain <ROLE>` expose each role's inputs, outputs, and allowed artifact types — the role profile is the Agent Card. |
306
+ | **Tasks & artifacts as the unit of exchange** | A2A: communication centers on tasks with lifecycles; artifacts are the task outputs. [[#4]](#references) | Every `acs` operation is keyed by `--task <TASK_ID>`; `artifacts/` holds the schema-validated outputs of each role's task phase. |
307
+ | **Durable, resumable workflows** | Microsoft `checkpoint_storage` / `FileCheckpointStorage` lets workflows pause and resume hours or days later. [[#2]](#references) | The Git-tracked store *is* the checkpoint. Any agent on any machine can `git pull` and resume from the last validated handoff. |
308
+ | **Runtime-agnostic interoperability** | A2A: opaque agents on different frameworks collaborate without sharing memory or internal state. [[#4]](#references) | Cursor, Claude Code, Codex, and CI agents collaborate purely through validated artifacts and handoff records — no shared runtime, no shared memory. |
309
+ | **Auditable handoff history** | A2A emphasizes observability and auditability for enterprise use. [[#4]](#references) | `audit/`, `index.json`, `acs handoff list`, and Git history give a complete, reviewable trail of every handoff. |
310
+
311
+ In short: industry handoff frameworks model handoffs as in-process tool calls between live agent instances. `acs` models them as **persisted, schema-validated, Git-reviewable contracts** — making the same pattern work across role boundaries, agent runtimes, machines, and time.
312
+
313
+ ### References
314
+
315
+ 1. OpenAI Agents SDK — Handoffs: <https://openai.github.io/openai-agents-python/handoffs/>
316
+ 2. Microsoft Agent Framework — Handoff Orchestration: <https://learn.microsoft.com/en-us/agent-framework/workflows/orchestrations/handoff?pivots=programming-language-csharp>
317
+ 3. Google Developers Blog — A2A: A new era of agent interoperability: <https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/>
318
+ 4. A2A Project — Agent2Agent protocol repository: <https://github.com/a2aproject/A2A>
319
+
345
320
  ## Developing This Repository
346
321
 
347
322
  If you want to modify or test the toolkit itself, see [DEVELOPMENT.md](DEVELOPMENT.md).
package/package.json CHANGED
@@ -1,9 +1,32 @@
1
1
  {
2
2
  "name": "agent-context-store",
3
- "version": "0.2.10",
3
+ "version": "0.2.11",
4
4
  "description": "acs CLI for Agent Context Store Toolkit.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
+ "keywords": [
8
+ "ai",
9
+ "ai-agent",
10
+ "ai-agents",
11
+ "agentic-engineering",
12
+ "multi-agent",
13
+ "agent-handoff",
14
+ "a2a",
15
+ "agent2agent",
16
+ "context",
17
+ "context-store",
18
+ "context-engineering",
19
+ "sdlc",
20
+ "claude",
21
+ "claude-code",
22
+ "cursor",
23
+ "codex",
24
+ "openai-agents",
25
+ "agent-framework",
26
+ "schema-validated",
27
+ "git-backed",
28
+ "cli"
29
+ ],
7
30
  "homepage": "https://github.com/max9159/agent-context-store#readme",
8
31
  "repository": {
9
32
  "type": "git",
@@ -23,7 +46,7 @@
23
46
  },
24
47
  "dependencies": {
25
48
  "@inquirer/prompts": "^8.4.2",
26
- "agent-context-store-core": "0.2.10"
49
+ "agent-context-store-core": "0.2.11"
27
50
  },
28
51
  "scripts": {
29
52
  "build": "tsc -p tsconfig.json"