@agentskit/doc-bridge 1.0.2 → 1.2.1
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.
- package/CHANGELOG.md +50 -0
- package/CONTRIBUTING.md +8 -0
- package/README.md +114 -17
- package/SECURITY.md +1 -1
- package/action.yml +23 -26
- package/dist/cli/program.js +1241 -309
- package/dist/cli/program.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.js +338 -13
- package/dist/config/index.js.map +1 -1
- package/dist/{index-CPUJbTbg.d.ts → index-DGI9TBLE.d.ts} +906 -11
- package/dist/index.d.ts +65 -11
- package/dist/index.js +1084 -171
- package/dist/index.js.map +1 -1
- package/docs/DOGFOOD-ROUND2.md +5 -0
- package/docs/DOGFOOD-ROUND3.md +5 -0
- package/docs/DOGFOOD-V1.md +5 -0
- package/docs/DOGFOOD.md +5 -0
- package/docs/MARKETPLACE-ECOSYSTEM-PLAN.md +16 -0
- package/docs/MARKETPLACE.md +39 -0
- package/docs/POSITIONING.md +5 -0
- package/docs/RELEASE.md +26 -19
- package/docs/agent-corpus/INDEX.md +10 -0
- package/docs/agent-corpus/OVERVIEW.md +9 -0
- package/docs/agent-corpus/chat.md +10 -0
- package/docs/agent-corpus/cli.md +10 -0
- package/docs/agent-corpus/conformance.md +10 -0
- package/docs/agent-corpus/doc-bridge.md +10 -0
- package/docs/agent-corpus/doctor.md +10 -0
- package/docs/agent-corpus/gates.md +10 -0
- package/docs/agent-corpus/mcp.md +10 -0
- package/docs/agent-corpus/memory.md +10 -0
- package/docs/agent-corpus/query.md +10 -0
- package/docs/chat-and-rag.md +34 -0
- package/docs/examples.md +5 -0
- package/docs/for-agents.md +31 -0
- package/docs/getting-started.md +32 -2
- package/docs/index.md +23 -0
- package/docs/landing/assets/doc-bridge-hero.webp +0 -0
- package/docs/landing/assets/doc-bridge-surfaces.webp +0 -0
- package/docs/landing/assets/doc-bridge-two-way.webp +0 -0
- package/docs/landing/index.html +70 -10
- package/docs/mcp.md +5 -0
- package/docs/meta.json +20 -0
- package/docs/ollama-demo.md +6 -1
- package/docs/playbook/doc-bridge-pattern.md +4 -2
- package/docs/query.md +34 -0
- package/docs/recipes/index-pipeline.md +7 -2
- package/docs/schemas/agent-handoff-v1.md +5 -0
- package/docs/schemas/doc-bridge-index-v1.md +5 -0
- package/docs/schemas/memory-candidate-v1.md +15 -1
- package/docs/skills/doc-bridge.md +6 -1
- package/docs/spec/cli.md +6 -0
- package/docs/spec/config-v1.md +56 -6
- package/docs/spec/documentation-standard-v1.md +136 -0
- package/docs/spec/playbook-feedback.md +5 -0
- package/docs/spec/registry-agents.md +5 -0
- package/ecosystem-claims.json +187 -0
- package/ecosystem-upstream.json +9 -0
- package/ecosystem.json +235 -0
- package/examples/verify-handoff.mjs +5 -0
- package/package.json +46 -4
- package/scripts/check-ecosystem-upstream.mjs +50 -0
- package/src/cli/program.ts +36 -3
- package/src/config/index.ts +7 -1
- package/src/config/load-config.ts +4 -14
- package/src/config/schema.ts +91 -0
- package/src/conformance/documentation-standard-v1.ts +502 -0
- package/src/conformance/ecosystem-contract.ts +175 -0
- package/src/gates/run-gates.ts +33 -4
- package/src/index-builder/human-adapters/core.ts +12 -5
- package/src/index-builder/human-adapters/docusaurus.ts +29 -44
- package/src/index-builder/human-adapters/index.ts +15 -3
- package/src/index-builder/scan-corpus.ts +6 -6
- package/src/index.ts +17 -0
- package/src/lib/bounded-text.ts +25 -0
- package/src/lib/paths.ts +20 -2
- package/src/lib/static-js-literal.ts +261 -0
- package/src/lib/walk.ts +23 -4
- package/src/version.ts +1 -1
package/docs/meta.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Doc Bridge",
|
|
3
|
+
"pages": [
|
|
4
|
+
"index",
|
|
5
|
+
"getting-started",
|
|
6
|
+
"for-agents",
|
|
7
|
+
"MARKETPLACE",
|
|
8
|
+
"POSITIONING",
|
|
9
|
+
"mcp",
|
|
10
|
+
"query",
|
|
11
|
+
"examples",
|
|
12
|
+
"chat-and-rag",
|
|
13
|
+
"ollama-demo",
|
|
14
|
+
"playbook",
|
|
15
|
+
"recipes",
|
|
16
|
+
"schemas",
|
|
17
|
+
"skills",
|
|
18
|
+
"spec"
|
|
19
|
+
]
|
|
20
|
+
}
|
package/docs/ollama-demo.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Ollama chat demo
|
|
3
|
+
description: Run the optional local chat layer with Ollama after deterministic routing.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Ollama chat demo (Layer 1)
|
|
2
7
|
|
|
3
8
|
Zero-cloud path for grounded `ak-docs chat` and `ak-docs ask --chat`.
|
|
@@ -61,4 +66,4 @@ Skips gracefully if Ollama is down or peers are missing (safe for CI as optional
|
|
|
61
66
|
| `Intelligence provider request failed` | `ollama serve` not running |
|
|
62
67
|
| `Optional peer "@agentskit/rag" is not installed` | Install Layer 1 peers (see above) |
|
|
63
68
|
| Empty chat response | Pull models: `ollama pull llama3.2` |
|
|
64
|
-
| Slow first `rag ingest` | Normal — embeds entire corpus locally |
|
|
69
|
+
| Slow first `rag ingest` | Normal — embeds entire corpus locally |
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: pattern
|
|
3
3
|
id: doc-bridge-pattern
|
|
4
|
+
title: Doc Bridge pattern
|
|
5
|
+
description: A reusable pattern for making documentation useful to humans and agents.
|
|
4
6
|
purpose: Route coding agents to the correct package, checks, and human docs in any monorepo.
|
|
5
7
|
owner: AgentsKit
|
|
6
8
|
license: CC-BY-4.0
|
|
@@ -75,7 +77,7 @@ Agents call `handoff.resolve` before editing `packages/*`:
|
|
|
75
77
|
## CI gate
|
|
76
78
|
|
|
77
79
|
```yaml
|
|
78
|
-
- uses: AgentsKit-io/doc-bridge@v1.
|
|
80
|
+
- uses: AgentsKit-io/doc-bridge@v1.2.1
|
|
79
81
|
```
|
|
80
82
|
|
|
81
83
|
Or: `ak-docs index && ak-docs gate run` — stale index fails the PR.
|
|
@@ -111,4 +113,4 @@ Teams track handoff % and human-bridge % daily.
|
|
|
111
113
|
- npm: https://www.npmjs.com/package/@agentskit/doc-bridge
|
|
112
114
|
- repo: https://github.com/AgentsKit-io/doc-bridge
|
|
113
115
|
- skill: [doc-bridge skill](../skills/doc-bridge.md)
|
|
114
|
-
- landing: https://agentskit-io.github.io/doc-bridge/
|
|
116
|
+
- landing: https://agentskit-io.github.io/doc-bridge/
|
package/docs/query.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Deterministic query engine
|
|
3
|
+
description: Ownership and documentation lookup rules for contributors changing Doc Bridge query behavior.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Deterministic query engine
|
|
7
|
+
|
|
8
|
+
The query layer reads the generated `.doc-bridge/index.json`; it does not scan
|
|
9
|
+
the repository again and does not call a model. Keep exact ownership resolution,
|
|
10
|
+
ranked document search, and handoff output deterministic.
|
|
11
|
+
|
|
12
|
+
## Ownership
|
|
13
|
+
|
|
14
|
+
- Source: `src/query/**`
|
|
15
|
+
- Index contract: `src/schemas/doc-bridge-index.ts`
|
|
16
|
+
- Handoff contract: `src/schemas/agent-handoff.ts`
|
|
17
|
+
- CLI consumers: `src/cli/program.ts`
|
|
18
|
+
- MCP consumers: `src/mcp/server.ts`
|
|
19
|
+
|
|
20
|
+
## Before editing
|
|
21
|
+
|
|
22
|
+
Read [DocBridgeIndex v1](./schemas/doc-bridge-index-v1.md), [AgentHandoff v1](./schemas/agent-handoff-v1.md), and the [CLI reference](./spec/cli.md).
|
|
23
|
+
|
|
24
|
+
## Checks
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pnpm test
|
|
28
|
+
pnpm typecheck
|
|
29
|
+
node bin/ak-docs.js index
|
|
30
|
+
node bin/ak-docs.js query package doc-bridge-query --agent
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Preserve stable JSON fields and text output. A breaking contract change requires
|
|
34
|
+
a schema version rather than an implicit reinterpretation of v1.
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Index pipeline recipes
|
|
3
|
+
description: Compose indexing, querying, gating, and CI into repeatable documentation workflows.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Index pipeline recipes
|
|
2
7
|
|
|
3
8
|
Keep `.doc-bridge/index.json` fresh during development and in CI.
|
|
@@ -66,7 +71,7 @@ Root `package.json`:
|
|
|
66
71
|
## CI (GitHub Action)
|
|
67
72
|
|
|
68
73
|
```yaml
|
|
69
|
-
- uses: AgentsKit-io/doc-bridge@v1.
|
|
74
|
+
- uses: AgentsKit-io/doc-bridge@v1.2.1
|
|
70
75
|
```
|
|
71
76
|
|
|
72
77
|
Or manual:
|
|
@@ -86,4 +91,4 @@ ak-docs doctor --write-badge
|
|
|
86
91
|
pnpm coverage:badge
|
|
87
92
|
```
|
|
88
93
|
|
|
89
|
-
Paste the shields.io line from `.doc-bridge/coverage-badge.json` → `markdown` field.
|
|
94
|
+
Paste the shields.io line from `.doc-bridge/coverage-badge.json` → `markdown` field.
|
|
@@ -1,10 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MemoryCandidate v1
|
|
3
|
+
description: Contract for reviewing and promoting durable agent memory into canonical documentation.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# MemoryCandidate v1
|
|
2
7
|
|
|
3
8
|
Zod schema: `MemoryCandidateV1Schema` in `@agentskit/doc-bridge`.
|
|
4
9
|
|
|
5
10
|
Portable JSON Schema export: `MemoryCandidateV1JsonSchema`.
|
|
6
11
|
|
|
7
|
-
This is the normalized
|
|
12
|
+
This is the normalized shape for memory ingestion. The core ships deterministic
|
|
13
|
+
local ingest for Cursor rules and `.agent-memory/**/*.md`, classification into
|
|
14
|
+
`agent | human | playbook | discard`, safety scanning, draft generation, and an
|
|
15
|
+
optional GitHub draft PR flow.
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
ak-docs memory ingest
|
|
19
|
+
ak-docs memory classify
|
|
20
|
+
ak-docs memory promote --pr --dry-run
|
|
21
|
+
```
|
|
8
22
|
|
|
9
23
|
## Shape
|
|
10
24
|
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Agent routing skill
|
|
3
|
+
description: Give coding agents a deterministic recipe for finding ownership and checks.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Doc Bridge — agent routing skill
|
|
2
7
|
|
|
3
8
|
Use this skill in Cursor, Claude Code, or Codex so agents resolve ownership **before** editing packages.
|
|
@@ -61,4 +66,4 @@ Before editing any file under packages/ or apps/:
|
|
|
61
66
|
```bash
|
|
62
67
|
ak-docs ask "auth is broken in staging"
|
|
63
68
|
ak-docs doctor --text
|
|
64
|
-
```
|
|
69
|
+
```
|
package/docs/spec/cli.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ak-docs CLI
|
|
3
|
+
description: Complete command reference for indexing, querying, gates, doctor, memory, and MCP.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# ak-docs CLI
|
|
2
7
|
|
|
3
8
|
Command-line interface for **`@agentskit/doc-bridge`**. The npm package is scoped; the **only published binary** is `ak-docs`.
|
|
@@ -69,6 +74,7 @@ pnpm add -D @agentskit/doc-bridge
|
|
|
69
74
|
| `ak-docs playbook pattern [--text]` | Export published Doc Bridge Playbook pattern (OKF markdown / JSON) |
|
|
70
75
|
| `ak-docs list <kind> [--text]` | List packages, apps, intents, … |
|
|
71
76
|
| `ak-docs gate run [index-freshness]` | Check generated index freshness |
|
|
77
|
+
| `ak-docs conformance run documentation-standard-v1 [--text\|--json]` | Run the stable ecosystem documentation profile with evidence and remediation |
|
|
72
78
|
| `ak-docs mcp` | Start MCP server (stdio default) |
|
|
73
79
|
| `ak-docs mcp install --cursor \| --claude` | Write MCP server config for Cursor or Claude Desktop |
|
|
74
80
|
|
package/docs/spec/config-v1.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Configuration contract v1
|
|
3
|
+
description: Configure documentation corpora, ownership routing, conformance, and gates.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# doc-bridge config contract v1
|
|
2
7
|
|
|
3
8
|
`doc-bridge.config.ts` (or `.js`, `.mjs`, `.json`, or `package.json` → `docBridge`) is the alpha integration point for any project. Layer 0 fields are sufficient to run `index`, `query`, and MCP without an LLM.
|
|
@@ -63,6 +68,9 @@ export default {
|
|
|
63
68
|
|
|
64
69
|
/** Optional: Playbook / Registry / remote OKF bundles */
|
|
65
70
|
federation?: FederationConfig
|
|
71
|
+
|
|
72
|
+
/** Optional deterministic documentation conformance profiles */
|
|
73
|
+
conformance?: ConformanceConfig
|
|
66
74
|
} satisfies DocBridgeConfigV1
|
|
67
75
|
```
|
|
68
76
|
|
|
@@ -248,7 +256,7 @@ Plugins document their join convention; gates fail on orphan links.
|
|
|
248
256
|
|
|
249
257
|
```ts
|
|
250
258
|
type GatesConfig = {
|
|
251
|
-
preset?: 'minimal' | 'standard' | 'strict'
|
|
259
|
+
preset?: 'minimal' | 'standard' | 'strict' | 'playbook'
|
|
252
260
|
/** Enabled gate ids; merged with preset */
|
|
253
261
|
include?: GateId[]
|
|
254
262
|
exclude?: GateId[]
|
|
@@ -269,18 +277,18 @@ type GatesConfig = {
|
|
|
269
277
|
| 'no-stale-wording'
|
|
270
278
|
>
|
|
271
279
|
}
|
|
272
|
-
'link-rot'?: { scanDirs?: string[] }
|
|
273
280
|
}
|
|
274
281
|
}
|
|
275
282
|
|
|
276
283
|
type GateId =
|
|
277
284
|
| 'index-freshness'
|
|
278
285
|
| 'human-guide-links'
|
|
279
|
-
| 'link-rot'
|
|
286
|
+
| 'link-rot' // reserved; emits a diagnostic and is not executed
|
|
280
287
|
| 'okf-type'
|
|
281
288
|
| 'docs-style'
|
|
282
|
-
| 'routing-currency'
|
|
283
|
-
| 'bootstrap-size'
|
|
289
|
+
| 'routing-currency' // reserved; emits a diagnostic and is not executed
|
|
290
|
+
| 'bootstrap-size' // reserved; emits a diagnostic and is not executed
|
|
291
|
+
| 'documentation-standard-v1' // opt-in ecosystem documentation profile
|
|
284
292
|
```
|
|
285
293
|
|
|
286
294
|
| Preset | Gates |
|
|
@@ -289,7 +297,7 @@ type GateId =
|
|
|
289
297
|
| `standard` | + `human-guide-links` in v0.1 alpha |
|
|
290
298
|
| `strict` | + `okf-type` in v0.1 alpha |
|
|
291
299
|
|
|
292
|
-
Implemented
|
|
300
|
+
Implemented gates include `index-freshness`, `human-guide-links`, `okf-type`, `docs-style`, and the opt-in `documentation-standard-v1`. For v1 compatibility, `link-rot`, `routing-currency`, and `bootstrap-size` remain accepted as reserved IDs; including one emits `AK_DOCS_RESERVED_GATE` and does not claim that the gate ran. Unknown IDs are rejected.
|
|
293
301
|
|
|
294
302
|
### Structural vs style validation
|
|
295
303
|
|
|
@@ -306,6 +314,47 @@ Alpha gates are deterministic lint checks, not editorial grading:
|
|
|
306
314
|
|
|
307
315
|
---
|
|
308
316
|
|
|
317
|
+
## `conformance` (optional)
|
|
318
|
+
|
|
319
|
+
Documentation Standard v1 is an opt-in, deterministic ecosystem profile. It validates
|
|
320
|
+
repository evidence without executing configured commands or making network/model calls.
|
|
321
|
+
|
|
322
|
+
```ts
|
|
323
|
+
type ConformanceConfig = {
|
|
324
|
+
documentationStandardV1?: {
|
|
325
|
+
rawSources?: string[]
|
|
326
|
+
contributionPaths?: string[]
|
|
327
|
+
metadata?: Array<{ path: string; contains: string[] }>
|
|
328
|
+
links?: Array<{ url: string; paths: string[] }>
|
|
329
|
+
quickstarts?: Array<{
|
|
330
|
+
id: string
|
|
331
|
+
doc: string
|
|
332
|
+
test: string
|
|
333
|
+
command: string
|
|
334
|
+
testContains: string[]
|
|
335
|
+
}>
|
|
336
|
+
visuals?: string[]
|
|
337
|
+
diagrams?: Array<{ path: string; contains: string[] }>
|
|
338
|
+
ecosystemContract?: {
|
|
339
|
+
manifest: string
|
|
340
|
+
claims: string
|
|
341
|
+
productId: string
|
|
342
|
+
}
|
|
343
|
+
exceptions?: Array<{
|
|
344
|
+
ruleId: DocumentationStandardRuleId
|
|
345
|
+
reason: string
|
|
346
|
+
approvedBy: string
|
|
347
|
+
trackingUrl: string
|
|
348
|
+
}>
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
See [Documentation Standard v1](documentation-standard-v1.md) for rule semantics,
|
|
354
|
+
report status, commands, and the recorded stable-publication HITL decision.
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
309
358
|
## `surfaces` (optional)
|
|
310
359
|
|
|
311
360
|
```ts
|
|
@@ -589,6 +638,7 @@ export default defineConfig({
|
|
|
589
638
|
| `ak-docs search <q>` | `index` |
|
|
590
639
|
| `ak-docs retrieve <q>` | `index` + `federation` |
|
|
591
640
|
| `ak-docs gate run` | `gates` |
|
|
641
|
+
| `ak-docs conformance run documentation-standard-v1` | `corpus`, `routing`, `index`, `conformance` |
|
|
592
642
|
| `ak-docs mcp` | `surfaces.mcp` |
|
|
593
643
|
| `ak-docs chat` | planned; `intelligence.*` |
|
|
594
644
|
| `ak-docs memory ingest` | deterministic local ingest; `MemoryCandidate[]` |
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Documentation Standard v1
|
|
3
|
+
description: Shared quality contract for AgentsKit documentation, metadata, examples, links, and visuals.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Documentation Standard v1
|
|
7
|
+
|
|
8
|
+
Status: **stable — HITL-approved on 2026-07-13**
|
|
9
|
+
|
|
10
|
+
Profile ID: `documentation-standard-v1`
|
|
11
|
+
|
|
12
|
+
Schema version: `1`
|
|
13
|
+
|
|
14
|
+
Documentation Standard v1 is a deterministic Doc Bridge conformance profile for
|
|
15
|
+
documentation properties in the AgentsKit ecosystem. It turns the shared quality
|
|
16
|
+
expectations into local evidence that humans, CI, and agents can inspect without a model,
|
|
17
|
+
API key, or network request.
|
|
18
|
+
|
|
19
|
+
```mermaid
|
|
20
|
+
flowchart LR
|
|
21
|
+
A[Human docs] --> P[Documentation Standard v1]
|
|
22
|
+
L[llms.txt and raw sources] --> P
|
|
23
|
+
H[AgentHandoff index] --> P
|
|
24
|
+
C[Contribution and metadata] --> P
|
|
25
|
+
Q[Quickstart test evidence] --> P
|
|
26
|
+
P --> R[Versioned conformance report]
|
|
27
|
+
R --> CI[CI exit code]
|
|
28
|
+
R --> HITL[Human approval]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Rule set
|
|
32
|
+
|
|
33
|
+
| Rule | Level | Passing evidence |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `human-docs` | Required | A configured human adapter discovers at least one non-agent document |
|
|
36
|
+
| `llms-and-raw-source` | Required | `llms.txt` exactly matches the current deterministic Doc Bridge output and every declared raw source is non-empty |
|
|
37
|
+
| `agent-handoffs` | Required | Every emitted handoff has `startHere`, edit roots, checks, and a linked/external human bridge |
|
|
38
|
+
| `contribution` | Required | At least one declared contribution guide exists and is non-empty |
|
|
39
|
+
| `metadata` | Required | Declared metadata files exist and contain every configured marker |
|
|
40
|
+
| `cross-links` | Required | Vendored canonical manifest/claims snapshots agree, include this product, and every declared URL is canonical and occurs in source |
|
|
41
|
+
| `tested-quickstarts` | Required | Each quickstart maps a doc to a test file, identifying test markers, and a CI command |
|
|
42
|
+
| `visual-explanations` | Recommended | Every declared image or animation asset exists |
|
|
43
|
+
| `structured-diagrams` | Recommended | Declared diagram source exists and contains its configured marker |
|
|
44
|
+
|
|
45
|
+
Recommended failures remain visible but do not fail the command. Required failures return
|
|
46
|
+
exit code 1 unless an approved exception applies.
|
|
47
|
+
|
|
48
|
+
## Approved exceptions
|
|
49
|
+
|
|
50
|
+
Exceptions are explicit audit records, not hidden exclusions. A valid exception requires
|
|
51
|
+
the rule ID, a substantive reason, the approver, and a tracking URL:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"ruleId": "structured-diagrams",
|
|
56
|
+
"reason": "The interactive visual already expresses this relationship more clearly.",
|
|
57
|
+
"approvedBy": "Documentation Working Group",
|
|
58
|
+
"trackingUrl": "https://github.com/AgentsKit-io/example/issues/123"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The report uses status `excepted`; it never rewrites an exception as an ordinary pass.
|
|
63
|
+
|
|
64
|
+
## Configuration
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"conformance": {
|
|
69
|
+
"documentationStandardV1": {
|
|
70
|
+
"rawSources": ["README.md", "docs/getting-started.md"],
|
|
71
|
+
"contributionPaths": ["CONTRIBUTING.md"],
|
|
72
|
+
"metadata": [
|
|
73
|
+
{ "path": "docs/index.html", "contains": ["<title>", "name=\"description\""] }
|
|
74
|
+
],
|
|
75
|
+
"links": [
|
|
76
|
+
{ "url": "https://www.agentskit.io", "paths": ["README.md"] }
|
|
77
|
+
],
|
|
78
|
+
"ecosystemContract": {
|
|
79
|
+
"manifest": "ecosystem.json",
|
|
80
|
+
"claims": "ecosystem-claims.json",
|
|
81
|
+
"productId": "example"
|
|
82
|
+
},
|
|
83
|
+
"quickstarts": [
|
|
84
|
+
{
|
|
85
|
+
"id": "demo",
|
|
86
|
+
"doc": "README.md",
|
|
87
|
+
"test": "tests/demo.test.ts",
|
|
88
|
+
"command": "pnpm vitest run tests/demo.test.ts",
|
|
89
|
+
"testContains": ["runs the demo"]
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"visuals": ["docs/assets/overview.webp"],
|
|
93
|
+
"diagrams": [
|
|
94
|
+
{ "path": "docs/architecture.md", "contains": ["```mermaid"] }
|
|
95
|
+
],
|
|
96
|
+
"exceptions": []
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The profile does not execute the declared quickstart command. The test-evidence file and
|
|
103
|
+
identifying markers prove that the quickstart has a repository test; the normal CI suite
|
|
104
|
+
executes that test. This avoids turning documentation configuration into an arbitrary
|
|
105
|
+
command-execution surface.
|
|
106
|
+
|
|
107
|
+
The ecosystem contract files are committed, network-free consumer snapshots of the canonical
|
|
108
|
+
AgentsKit `ecosystem.json` v2 manifest and `ecosystem-claims.json` ledger. The gate verifies
|
|
109
|
+
their schema relationship, product identity parity, the adopting product ID, and that declared
|
|
110
|
+
cross-links occur both in the manifest's public surfaces and in repository documentation.
|
|
111
|
+
Doc Bridge also records the upstream ref and SHA-256 digests in `ecosystem-upstream.json`;
|
|
112
|
+
`pnpm check:ecosystem-upstream` compares the local snapshots with AgentsKit `main` in CI.
|
|
113
|
+
This network parity check is deliberately separate from the runtime conformance profile, which
|
|
114
|
+
remains deterministic and offline.
|
|
115
|
+
|
|
116
|
+
## Run the profile
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
ak-docs conformance run documentation-standard-v1 --text
|
|
120
|
+
ak-docs conformance run documentation-standard-v1 --json
|
|
121
|
+
ak-docs gate run documentation-standard-v1
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
JSON output is the stable automation surface. Text output sends the same evidence in a
|
|
125
|
+
human-scannable form. Both return 0 when required rules pass or are explicitly excepted,
|
|
126
|
+
and 1 when a required rule fails.
|
|
127
|
+
|
|
128
|
+
## Adoption and stability
|
|
129
|
+
|
|
130
|
+
The Doc Bridge repository is the first real fixture and dogfoods the profile in its normal
|
|
131
|
+
`ak-docs gate run`. Other ecosystem repositories adopt it in their documentation slices.
|
|
132
|
+
The required/recommended rule split received product-owner HITL approval in
|
|
133
|
+
[issue #27](https://github.com/AgentsKit-io/doc-bridge/issues/27), and the canonical ecosystem
|
|
134
|
+
contract was delivered by
|
|
135
|
+
[AgentsKit #1208](https://github.com/AgentsKit-io/agentskit/pull/1208). The profile is stable;
|
|
136
|
+
future breaking rule changes require a new version.
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Playbook feedback promotion
|
|
3
|
+
description: Promote durable implementation lessons into reviewed AgentsKit Playbook contributions.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Playbook Feedback Promotion
|
|
2
7
|
|
|
3
8
|
doc-bridge can feed durable documentation learnings back into public patterns, but promotion must be explicit and reviewable.
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Registry agent topology
|
|
3
|
+
description: Connect registry agent definitions to Doc Bridge ownership and documentation handoffs.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Registry Agent Topology
|
|
2
7
|
|
|
3
8
|
doc-bridge exposes deterministic tools; Registry agents can compose them into maintenance flows.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"manifestSchemaVersion": 2,
|
|
4
|
+
"products": [
|
|
5
|
+
{
|
|
6
|
+
"productId": "agentskit",
|
|
7
|
+
"source": {
|
|
8
|
+
"type": "endpoint",
|
|
9
|
+
"url": "https://www.agentskit.io/api/stats.json"
|
|
10
|
+
},
|
|
11
|
+
"verification": "verified",
|
|
12
|
+
"claims": [
|
|
13
|
+
{
|
|
14
|
+
"id": "packages",
|
|
15
|
+
"value": 22,
|
|
16
|
+
"noun": "packages",
|
|
17
|
+
"conservativeFloor": 22,
|
|
18
|
+
"evidence": {
|
|
19
|
+
"type": "repository-derivation",
|
|
20
|
+
"repo": "AgentsKit-io/agentskit",
|
|
21
|
+
"path": "scripts/compute-stats.mjs",
|
|
22
|
+
"summary": "Published non-private @agentskit/* package directories."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "framework-bindings",
|
|
27
|
+
"value": 7,
|
|
28
|
+
"noun": "framework bindings",
|
|
29
|
+
"evidence": {
|
|
30
|
+
"type": "repository-derivation",
|
|
31
|
+
"repo": "AgentsKit-io/agentskit",
|
|
32
|
+
"path": "scripts/compute-stats.mjs",
|
|
33
|
+
"summary": "Published framework bindings from the supported binding list."
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "native-adapters",
|
|
38
|
+
"value": 25,
|
|
39
|
+
"noun": "native adapters",
|
|
40
|
+
"conservativeFloor": 25,
|
|
41
|
+
"evidence": {
|
|
42
|
+
"type": "repository-derivation",
|
|
43
|
+
"repo": "AgentsKit-io/agentskit",
|
|
44
|
+
"path": "scripts/compute-stats.mjs",
|
|
45
|
+
"summary": "Provider exports in the adapters package excluding composition helpers."
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "integrations",
|
|
50
|
+
"value": 50,
|
|
51
|
+
"noun": "integrations",
|
|
52
|
+
"conservativeFloor": 50,
|
|
53
|
+
"evidence": {
|
|
54
|
+
"type": "repository-derivation",
|
|
55
|
+
"repo": "AgentsKit-io/agentskit",
|
|
56
|
+
"path": "scripts/compute-stats.mjs",
|
|
57
|
+
"summary": "Service directories in the integrations catalog."
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "catalog-providers",
|
|
62
|
+
"value": 140,
|
|
63
|
+
"noun": "providers",
|
|
64
|
+
"conservativeFloor": 140,
|
|
65
|
+
"evidence": {
|
|
66
|
+
"type": "repository-derivation",
|
|
67
|
+
"repo": "AgentsKit-io/agentskit",
|
|
68
|
+
"path": "scripts/compute-stats.mjs",
|
|
69
|
+
"summary": "Providers in the committed model catalog snapshot."
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "catalog-models",
|
|
74
|
+
"value": 5162,
|
|
75
|
+
"noun": "models",
|
|
76
|
+
"conservativeFloor": 5000,
|
|
77
|
+
"evidence": {
|
|
78
|
+
"type": "repository-derivation",
|
|
79
|
+
"repo": "AgentsKit-io/agentskit",
|
|
80
|
+
"path": "scripts/compute-stats.mjs",
|
|
81
|
+
"summary": "Models in the committed provider catalog snapshot."
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "skills",
|
|
86
|
+
"value": 21,
|
|
87
|
+
"noun": "ready-made skills",
|
|
88
|
+
"conservativeFloor": 21,
|
|
89
|
+
"evidence": {
|
|
90
|
+
"type": "repository-derivation",
|
|
91
|
+
"repo": "AgentsKit-io/agentskit",
|
|
92
|
+
"path": "scripts/compute-stats.mjs",
|
|
93
|
+
"summary": "Concrete skill modules excluding registry and composition helpers."
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"id": "memory-backends",
|
|
98
|
+
"value": 17,
|
|
99
|
+
"noun": "memory backends",
|
|
100
|
+
"evidence": {
|
|
101
|
+
"type": "repository-derivation",
|
|
102
|
+
"repo": "AgentsKit-io/agentskit",
|
|
103
|
+
"path": "scripts/compute-stats.mjs",
|
|
104
|
+
"summary": "Concrete memory modules excluding contracts and helpers."
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "recipes",
|
|
109
|
+
"value": 69,
|
|
110
|
+
"noun": "recipes",
|
|
111
|
+
"conservativeFloor": 69,
|
|
112
|
+
"evidence": {
|
|
113
|
+
"type": "repository-derivation",
|
|
114
|
+
"repo": "AgentsKit-io/agentskit",
|
|
115
|
+
"path": "scripts/compute-stats.mjs",
|
|
116
|
+
"summary": "Published recipe MDX pages excluding indexes and metadata."
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "core-size-kb-gzip",
|
|
121
|
+
"value": 10,
|
|
122
|
+
"noun": "KB gzipped core budget",
|
|
123
|
+
"evidence": {
|
|
124
|
+
"type": "repository-derivation",
|
|
125
|
+
"repo": "AgentsKit-io/agentskit",
|
|
126
|
+
"path": "scripts/compute-stats.mjs",
|
|
127
|
+
"summary": "Configured ESM gzip size budget for @agentskit/core."
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"productId": "registry",
|
|
134
|
+
"source": {
|
|
135
|
+
"type": "endpoint",
|
|
136
|
+
"url": "https://registry.agentskit.io/r/index.json"
|
|
137
|
+
},
|
|
138
|
+
"verification": "declared",
|
|
139
|
+
"claims": []
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"productId": "agentskit-chat",
|
|
143
|
+
"source": {
|
|
144
|
+
"type": "repository",
|
|
145
|
+
"repo": "AgentsKit-io/agentskit-chat"
|
|
146
|
+
},
|
|
147
|
+
"verification": "declared",
|
|
148
|
+
"claims": []
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"productId": "playbook",
|
|
152
|
+
"source": {
|
|
153
|
+
"type": "endpoint",
|
|
154
|
+
"url": "https://playbook.agentskit.io/api/stats.json"
|
|
155
|
+
},
|
|
156
|
+
"verification": "declared",
|
|
157
|
+
"claims": []
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"productId": "doc-bridge",
|
|
161
|
+
"source": {
|
|
162
|
+
"type": "repository",
|
|
163
|
+
"repo": "AgentsKit-io/doc-bridge"
|
|
164
|
+
},
|
|
165
|
+
"verification": "declared",
|
|
166
|
+
"claims": []
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"productId": "code-review",
|
|
170
|
+
"source": {
|
|
171
|
+
"type": "repository",
|
|
172
|
+
"repo": "AgentsKit-io/code-review-cli"
|
|
173
|
+
},
|
|
174
|
+
"verification": "declared",
|
|
175
|
+
"claims": []
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"productId": "akos",
|
|
179
|
+
"source": {
|
|
180
|
+
"type": "endpoint",
|
|
181
|
+
"url": "https://akos.agentskit.io/api/stats.json"
|
|
182
|
+
},
|
|
183
|
+
"verification": "declared",
|
|
184
|
+
"claims": []
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"repository": "AgentsKit-io/agentskit",
|
|
4
|
+
"ref": "main",
|
|
5
|
+
"files": {
|
|
6
|
+
"ecosystem.json": "95adc3c083dd04885e52ff4cb9528b9d73d99d9c69e01408a484e1e862d0e797",
|
|
7
|
+
"ecosystem-claims.json": "0100f7fbc18a3381bb943aaf8151dd5d107f82c02c470e3c586b7d694c6be42e"
|
|
8
|
+
}
|
|
9
|
+
}
|