@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.
Files changed (80) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/CONTRIBUTING.md +8 -0
  3. package/README.md +114 -17
  4. package/SECURITY.md +1 -1
  5. package/action.yml +23 -26
  6. package/dist/cli/program.js +1241 -309
  7. package/dist/cli/program.js.map +1 -1
  8. package/dist/config/index.d.ts +1 -1
  9. package/dist/config/index.js +338 -13
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/{index-CPUJbTbg.d.ts → index-DGI9TBLE.d.ts} +906 -11
  12. package/dist/index.d.ts +65 -11
  13. package/dist/index.js +1084 -171
  14. package/dist/index.js.map +1 -1
  15. package/docs/DOGFOOD-ROUND2.md +5 -0
  16. package/docs/DOGFOOD-ROUND3.md +5 -0
  17. package/docs/DOGFOOD-V1.md +5 -0
  18. package/docs/DOGFOOD.md +5 -0
  19. package/docs/MARKETPLACE-ECOSYSTEM-PLAN.md +16 -0
  20. package/docs/MARKETPLACE.md +39 -0
  21. package/docs/POSITIONING.md +5 -0
  22. package/docs/RELEASE.md +26 -19
  23. package/docs/agent-corpus/INDEX.md +10 -0
  24. package/docs/agent-corpus/OVERVIEW.md +9 -0
  25. package/docs/agent-corpus/chat.md +10 -0
  26. package/docs/agent-corpus/cli.md +10 -0
  27. package/docs/agent-corpus/conformance.md +10 -0
  28. package/docs/agent-corpus/doc-bridge.md +10 -0
  29. package/docs/agent-corpus/doctor.md +10 -0
  30. package/docs/agent-corpus/gates.md +10 -0
  31. package/docs/agent-corpus/mcp.md +10 -0
  32. package/docs/agent-corpus/memory.md +10 -0
  33. package/docs/agent-corpus/query.md +10 -0
  34. package/docs/chat-and-rag.md +34 -0
  35. package/docs/examples.md +5 -0
  36. package/docs/for-agents.md +31 -0
  37. package/docs/getting-started.md +32 -2
  38. package/docs/index.md +23 -0
  39. package/docs/landing/assets/doc-bridge-hero.webp +0 -0
  40. package/docs/landing/assets/doc-bridge-surfaces.webp +0 -0
  41. package/docs/landing/assets/doc-bridge-two-way.webp +0 -0
  42. package/docs/landing/index.html +70 -10
  43. package/docs/mcp.md +5 -0
  44. package/docs/meta.json +20 -0
  45. package/docs/ollama-demo.md +6 -1
  46. package/docs/playbook/doc-bridge-pattern.md +4 -2
  47. package/docs/query.md +34 -0
  48. package/docs/recipes/index-pipeline.md +7 -2
  49. package/docs/schemas/agent-handoff-v1.md +5 -0
  50. package/docs/schemas/doc-bridge-index-v1.md +5 -0
  51. package/docs/schemas/memory-candidate-v1.md +15 -1
  52. package/docs/skills/doc-bridge.md +6 -1
  53. package/docs/spec/cli.md +6 -0
  54. package/docs/spec/config-v1.md +56 -6
  55. package/docs/spec/documentation-standard-v1.md +136 -0
  56. package/docs/spec/playbook-feedback.md +5 -0
  57. package/docs/spec/registry-agents.md +5 -0
  58. package/ecosystem-claims.json +187 -0
  59. package/ecosystem-upstream.json +9 -0
  60. package/ecosystem.json +235 -0
  61. package/examples/verify-handoff.mjs +5 -0
  62. package/package.json +46 -4
  63. package/scripts/check-ecosystem-upstream.mjs +50 -0
  64. package/src/cli/program.ts +36 -3
  65. package/src/config/index.ts +7 -1
  66. package/src/config/load-config.ts +4 -14
  67. package/src/config/schema.ts +91 -0
  68. package/src/conformance/documentation-standard-v1.ts +502 -0
  69. package/src/conformance/ecosystem-contract.ts +175 -0
  70. package/src/gates/run-gates.ts +33 -4
  71. package/src/index-builder/human-adapters/core.ts +12 -5
  72. package/src/index-builder/human-adapters/docusaurus.ts +29 -44
  73. package/src/index-builder/human-adapters/index.ts +15 -3
  74. package/src/index-builder/scan-corpus.ts +6 -6
  75. package/src/index.ts +17 -0
  76. package/src/lib/bounded-text.ts +25 -0
  77. package/src/lib/paths.ts +20 -2
  78. package/src/lib/static-js-literal.ts +261 -0
  79. package/src/lib/walk.ts +23 -4
  80. package/src/version.ts +1 -1
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: Dogfood round 2
3
+ description: Validation evidence from the second published Doc Bridge alpha.
4
+ ---
5
+
1
6
  # Dogfood round 2 — published `@agentskit/doc-bridge@0.1.0-alpha.2`
2
7
 
3
8
  **Date:** 2026-07-09
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: Dogfood round 3
3
+ description: Validation evidence from the third published Doc Bridge alpha.
4
+ ---
5
+
1
6
  # Dogfood round 3 — `@agentskit/doc-bridge@0.1.0-alpha.3`
2
7
 
3
8
  **Date:** 2026-07-09
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: Dogfood validation v1
3
+ description: Release validation evidence for the first stable Doc Bridge package.
4
+ ---
5
+
1
6
  # Dogfood validation — `@agentskit/doc-bridge@1.0.0`
2
7
 
3
8
  **Date:** 2026-07-09
package/docs/DOGFOOD.md CHANGED
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: Ecosystem dogfood
3
+ description: How AgentsKit repositories validate Doc Bridge against real documentation surfaces.
4
+ ---
5
+
1
6
  # Ecosystem dogfood — `@agentskit/doc-bridge`
2
7
 
3
8
  Validated **2026-07-09** against four consumers.
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: Ecosystem and Marketplace acceptance plan
3
+ description: Internal acceptance criteria for the Doc Bridge ecosystem and Marketplace slice.
4
+ ---
5
+
6
+ # Doc Bridge ecosystem and Marketplace acceptance plan
7
+
8
+ This slice is complete only when all conditions below are evidenced locally. Publication remains an owner-only follow-up.
9
+
10
+ - Composite Action validates committed freshness, accepts shell inputs only through quoted environment variables, pins its runtime package, and pins third-party Actions by SHA.
11
+ - Marketplace metadata, consumer example, release-owner checklist, and automated contract checks agree on the same version.
12
+ - The public portal exposes seven ecosystem products, six Doc Bridge peers, and contextual routes for Chat, Code Review, and AKOS.
13
+ - `/for-agents`, `llms.txt`, `llms-full.txt`, raw Markdown, and deterministic knowledge are public and cross-linked.
14
+ - Human docs remain concise and navigable; source-heavy detail stays in raw/full machine surfaces.
15
+ - Landing and documentation pages have no horizontal overflow at 375, 768, 1280, or 1440 pixels.
16
+ - `ak-docs gate run`, documentation conformance, and `ak-docs doctor` finish at 100/A.
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: GitHub Marketplace
3
+ description: Add the Doc Bridge freshness gate to pull requests with a reproducible composite Action.
4
+ ---
5
+
6
+ # GitHub Marketplace
7
+
8
+ Doc Bridge ships one root composite Action: `doc-bridge-gate`. It verifies the committed index and configured documentation gates without rebuilding artifacts first.
9
+
10
+ ## Use it in a repository
11
+
12
+ ```yaml
13
+ name: Documentation gate
14
+ on: [pull_request]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ docs:
21
+ runs-on: ubuntu-latest
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+ - uses: AgentsKit-io/doc-bridge@v1.2.1
25
+ with:
26
+ config-path: doc-bridge.config.json
27
+ ```
28
+
29
+ If the index is stale, run `ak-docs index`, review the generated diff, and commit it. The Action's default package version matches its immutable release tag.
30
+
31
+ ## Release-owner checklist
32
+
33
+ 1. Run `pnpm check:marketplace`, `pnpm test:marketplace`, and the repository release matrix.
34
+ 2. Confirm the public repository contains exactly one root `action.yml` and its name is available.
35
+ 3. Push the immutable semver tag. The release workflow publishes npm, uploads the artifact, and leaves a GitHub Release draft ready for review.
36
+ 4. Open that draft, select **Publish this Action to the GitHub Marketplace**, choose categories, and accept the GitHub Marketplace Developer Agreement if prompted.
37
+ 5. Publish the release, then verify the listing and execute the exact consumer workflow above in a clean fixture repository.
38
+
39
+ Marketplace publication is a deliberate owner action; the workflow never moves tags and does not publish the GitHub Release before the Marketplace fields are complete.
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: Doc Bridge positioning
3
+ description: Product purpose, boundaries, maturity, and role inside the AgentsKit ecosystem.
4
+ ---
5
+
1
6
  # doc-bridge positioning
2
7
 
3
8
  Source of truth for README, issues, RFCs, and external posts.
package/docs/RELEASE.md CHANGED
@@ -1,16 +1,27 @@
1
+ ---
2
+ title: Release checklist
3
+ description: Reproducible package, documentation, and registry checks for a Doc Bridge release.
4
+ ---
5
+
1
6
  # Release checklist — `@agentskit/doc-bridge`
2
7
 
3
8
  ## Pre-flight (local)
4
9
 
5
10
  ```bash
6
11
  pnpm install
12
+ pnpm audit --audit-level low
7
13
  pnpm typecheck
14
+ pnpm check:ecosystem-upstream
8
15
  pnpm test
16
+ pnpm coverage
9
17
  pnpm build
10
18
  pnpm smoke:packaged
19
+ node bin/ak-docs.js index
20
+ node bin/ak-docs.js gate run
21
+ node bin/ak-docs.js conformance run documentation-standard-v1 --text
11
22
  ```
12
23
 
13
- Expect: packaged smoke prints `packaged smoke passed` and includes demo `query package example --agent`.
24
+ Expect: zero known vulnerabilities, coverage above the repository threshold, packaged smoke prints `packaged smoke passed`, and every required and recommended documentation rule passes without exceptions.
14
25
 
15
26
  ## Version
16
27
 
@@ -21,45 +32,41 @@ pnpm changeset # if new entry needed
21
32
  pnpm version-packages # bumps package.json + CHANGELOG from .changeset/*
22
33
  ```
23
34
 
24
- Current track: **`1.0.0` stable** (alpha series ended at `0.1.0-alpha.5`).
35
+ Current track: **`1.2.1` stable** (alpha series ended at `0.1.0-alpha.5`).
25
36
 
26
- ## Publish (npm)
37
+ ## Publish (npm + GitHub)
27
38
 
28
- Requires npm auth for the `@agentskit` org (`npm whoami` / `NPM_TOKEN`).
39
+ Stable packages are published only by `.github/workflows/release.yml` from an immutable semver tag. The workflow re-runs the complete security, test, coverage, packaged-smoke, dogfood, Marketplace-contract, and conformance matrix, publishes npm with provenance, verifies the registry result, uploads the tarball to a GitHub Release draft, and leaves final publication to the owner so the Marketplace fields can be completed first.
29
40
 
30
41
  ```bash
31
- pnpm release
32
- # equivalent:
33
- # pnpm build && pnpm test && changeset publish
42
+ git tag v1.2.1
43
+ git push origin v1.2.1
34
44
  ```
35
45
 
36
- Or one-shot after version bump:
46
+ For recovery of an existing immutable tag, use the guarded manual dispatch. Never move or recreate a release tag.
37
47
 
38
48
  ```bash
39
- npm publish --access public
49
+ gh workflow run release.yml --ref master -f tag=v1.2.1
40
50
  ```
41
51
 
42
52
  Confirm:
43
53
 
44
54
  ```bash
45
- npm view @agentskit/doc-bridge version
46
- npx ak-docs@0.1.0-alpha.x --version
55
+ npm view @agentskit/doc-bridge@1.2.1 version dist.integrity
56
+ npx ak-docs@1.2.1 --version
57
+ gh release view v1.2.1 --json isDraft
47
58
  ```
48
59
 
49
- ## GitHub
60
+ GitHub Pages must remain configured for GitHub Actions; `.github/workflows/pages.yml` builds and deploys the Fumadocs portal from `apps/docs`.
50
61
 
51
- ```bash
52
- git tag v1.0.0
53
- git push origin master --tags
54
- gh release create v1.0.0 --title "v1.0.0 — AgentHandoff stable" --notes-file CHANGELOG.md
55
- ```
62
+ ## Publish the GitHub Action to Marketplace
56
63
 
57
- Enable GitHub Pages (Settings → Pages → GitHub Actions) for landing deploy from `.github/workflows/pages.yml`.
64
+ Run `pnpm check:marketplace && pnpm test:marketplace`, then follow [the Marketplace guide](./MARKETPLACE.md). In the generated release draft, select the Marketplace option and categories before publishing the GitHub Release. npm success alone does not publish the listing.
58
65
 
59
66
  ## Post-publish smoke (fresh machine)
60
67
 
61
68
  ```bash
62
- npm i -D @agentskit/doc-bridge@0.1.0-alpha.x
69
+ npm i -D @agentskit/doc-bridge@1.2.1
63
70
  npx ak-docs init
64
71
  npx ak-docs index
65
72
  npx ak-docs query package example --agent
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-index
4
+ editRoot: src/index-builder
5
+ humanDoc: /docs/recipes/index-pipeline
6
+ ---
7
+
8
+ # Index builder
9
+
10
+ Owns corpus scanning, handoffs, hashes, `llms.txt`, and watch mode. Generated output must remain deterministic.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: index
3
+ purpose: Route coding agents to Doc Bridge ownership sidecars.
4
+ owner: maintainers
5
+ ---
6
+
7
+ # Doc Bridge agent corpus
8
+
9
+ Resolve the requested ownership ID with `ak-docs query ownership <id> --agent`. Read the returned sidecar and its linked human guide before editing.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-chat
4
+ editRoot: src/intelligence
5
+ humanDoc: /docs/chat-and-rag
6
+ ---
7
+
8
+ # Chat and RAG
9
+
10
+ Owns optional AgentsKit retrieval and chat after deterministic lookup. Conversational UI belongs to AgentsKit Chat; enterprise orchestration belongs to AKOS.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-cli
4
+ editRoot: src/cli
5
+ humanDoc: /docs/spec/cli
6
+ ---
7
+
8
+ # CLI
9
+
10
+ Owns public `ak-docs` commands and output modes. Keep JSON output versioned and text output readable.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-conformance
4
+ editRoot: src/conformance
5
+ humanDoc: /docs/spec/documentation-standard-v1
6
+ ---
7
+
8
+ # Conformance
9
+
10
+ Owns versioned documentation-standard rules and evidence. Do not turn missing evidence into a passing score.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge
4
+ editRoot: src
5
+ humanDoc: /docs/POSITIONING
6
+ ---
7
+
8
+ # Doc Bridge core
9
+
10
+ Owns the public CLI, index, MCP, gates, and doctor contracts. Preserve deterministic behavior and run `pnpm test && pnpm typecheck`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-doctor
4
+ editRoot: src/doctor
5
+ humanDoc: /docs/spec/documentation-standard-v1
6
+ ---
7
+
8
+ # Doctor
9
+
10
+ Owns health scoring and remediation guidance. Every point must trace to meaningful repository evidence.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-gates
4
+ editRoot: src/gates
5
+ humanDoc: /docs/spec/documentation-standard-v1
6
+ ---
7
+
8
+ # Gates
9
+
10
+ Owns freshness, coverage, and human-link checks. A gate must observe committed state before rewriting artifacts.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-mcp
4
+ editRoot: src/mcp
5
+ humanDoc: /docs/mcp
6
+ ---
7
+
8
+ # MCP
9
+
10
+ Owns the stdio server and public tool contracts. Preserve runtime validation and stable response shapes.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-memory
4
+ editRoot: src/memory
5
+ humanDoc: /docs/schemas/memory-candidate-v1
6
+ ---
7
+
8
+ # Memory
9
+
10
+ Owns reviewable learning ingestion, classification, and promotion. Durable knowledge becomes a documented change, never silent state.
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: package
3
+ package: doc-bridge-query
4
+ editRoot: src/query
5
+ humanDoc: /docs/query
6
+ ---
7
+
8
+ # Query
9
+
10
+ Owns deterministic package and document resolution. Prefer an explicit miss over an invented answer.
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: Chat and RAG
3
+ description: Add optional AgentsKit retrieval and chat after deterministic documentation resolution.
4
+ ---
5
+
1
6
  # Chat and RAG (Layer 1)
2
7
 
3
8
  Layer 0 (index, handoff, MCP, gates, memory pipeline) never requires an LLM.
@@ -12,6 +17,35 @@ Layer 1 is **opt-in** and dogfoods public AgentsKit packages:
12
17
  | `@agentskit/ink` | Terminal chat UI (`ak-docs chat`) |
13
18
  | `react` | Required by Ink |
14
19
 
20
+ ## Public docs chat: deterministic before backend
21
+
22
+ The documentation portal uses `@agentskit/chat` (root), `@agentskit/chat/react`,
23
+ and `@agentskit/chat/protocol` directly — the consolidated AgentsKit Chat 0.3.x
24
+ surface. It does not recreate chat lifecycle or session state.
25
+
26
+ At build time, `scripts/build-docs-artifacts.mjs` reads the fresh
27
+ `.doc-bridge/index.json` and canonical `docs/**` corpus, then writes:
28
+
29
+ - `deterministic/knowledge.json` — exact commands, documents, and real ownership handoffs;
30
+ - `deterministic/site-config.json` — trusted artifact hash plus fallback policy;
31
+ - `llms.txt`, `llms-full.txt`, and `raw/**` — model-friendly public sources.
32
+
33
+ The browser verifies the SHA-256 content hash before using the artifact. A
34
+ known exact question answers locally with provenance. Multiple exact matches
35
+ return local choices. Only a genuine miss reaches the configured backend, and
36
+ the UI reports a backend answer only after a successful completed stream.
37
+
38
+ ```mermaid
39
+ flowchart LR
40
+ Q[Question] --> A{Verified exact match?}
41
+ A -->|one| L[Local answer + citation]
42
+ A -->|many| C[Local choices]
43
+ A -->|none| B[AgentsKit backend]
44
+ B --> S{Completed stream?}
45
+ S -->|yes| R[Backend answer + provenance]
46
+ S -->|no| E[Retryable error]
47
+ ```
48
+
15
49
  ## Trust model
16
50
 
17
51
  1. **`handoffFirst`** (default): if the question mentions a known package id, attach deterministic AgentHandoff context before the model answers.
package/docs/examples.md CHANGED
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: Examples
3
+ description: Ready-to-run Doc Bridge configurations and integration examples.
4
+ ---
5
+
1
6
  # Examples
2
7
 
3
8
  Config sketches under [`examples/`](../examples/):
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: For agents
3
+ description: Resolve ownership, read compact context, and run the repository's own checks before editing.
4
+ ---
5
+
6
+ # For agents
7
+
8
+ Use Doc Bridge before changing a module. It returns versioned, runtime-validated data instead of asking a model to infer ownership from the entire repository.
9
+
10
+ ```bash
11
+ ak-docs query ownership <id> --agent
12
+ ```
13
+
14
+ The response supplies four things: `startHere`, `readBeforeEditing`, `editRoots`, and `checks`.
15
+
16
+ ```mermaid
17
+ flowchart LR
18
+ Q["Resolve ownership"] --> R["Read startHere"]
19
+ R --> E["Edit only editRoots"]
20
+ E --> T["Run checks"]
21
+ T --> P["Promote durable learning"]
22
+ ```
23
+
24
+ ## Machine entry points
25
+
26
+ - [`llms.txt`](https://agentskit-io.github.io/doc-bridge/llms.txt) — concise discovery and canonical routes
27
+ - [`llms-full.txt`](https://agentskit-io.github.io/doc-bridge/llms-full.txt) — complete source corpus
28
+ - [`deterministic/knowledge.json`](https://agentskit-io.github.io/doc-bridge/deterministic/knowledge.json) — local chat/discovery artifact
29
+ - [`raw/for-agents.md`](https://agentskit-io.github.io/doc-bridge/raw/for-agents.md) — this guide as raw Markdown
30
+
31
+ If the task is conversational UI, continue with [AgentsKit Chat](https://chat.agentskit.io). For verification before merge, use [AgentsKit Code Review](https://github.com/AgentsKit-io/code-review-cli). For enterprise orchestration, governance, and audit, continue with [AKOS](https://akos.agentskit.io).
@@ -1,5 +1,21 @@
1
+ ---
2
+ title: Getting started
3
+ description: Install, index, query, and gate repository documentation in about 60 seconds.
4
+ ---
5
+
1
6
  # Getting started
2
7
 
8
+ doc-bridge turns your existing docs into an **AgentHandoff** index:
9
+
10
+ - `startHere` — what the agent reads first
11
+ - `editRoots` — where the agent is allowed to work
12
+ - `checks` — what proves the edit
13
+ - `humanDoc` — the human-facing guide for the same area
14
+
15
+ It also runs the inverse loop: local agent memory becomes a classified,
16
+ reviewable documentation draft. Start with CLI. Add MCP when agents should call
17
+ it automatically. Add CI when the bridge becomes part of review.
18
+
3
19
  ## Install
4
20
 
5
21
  ```bash
@@ -60,6 +76,17 @@ Project root for `--config path/to/doc-bridge.config.json` is the **directory of
60
76
 
61
77
  See [config-v1](./spec/config-v1.md) and [examples](./examples.md).
62
78
 
79
+ ## Use surfaces
80
+
81
+ | Surface | When to use | Command |
82
+ |---------|-------------|---------|
83
+ | CLI | You want to inspect or debug the bridge yourself | `ak-docs query package <id> --agent` |
84
+ | MCP | You want coding agents to resolve handoffs before editing | `ak-docs mcp install --cursor` |
85
+ | CI | You want stale indexes and broken links to fail PRs | `ak-docs index && ak-docs gate run` |
86
+ | Adapters | You already have Fumadocs, Docusaurus, or markdown docs | configure `corpus.human` |
87
+ | Memory pipeline | You want agent notes turned into reviewable docs | `ak-docs memory promote --pr --dry-run` |
88
+ | Optional RAG/chat | You want a terminal assistant grounded in the same index | `ak-docs rag ingest && ak-docs chat` |
89
+
63
90
  ## MCP (Cursor / Claude)
64
91
 
65
92
  ```json
@@ -90,10 +117,13 @@ ak-docs bootstrap agent-docs # draft agent docs from human site
90
117
  ```bash
91
118
  ak-docs memory ingest
92
119
  ak-docs memory classify
93
- ak-docs memory promote # draft only — never auto-merges
120
+ ak-docs memory promote # prints a safe draft body
121
+ ak-docs memory promote --pr --dry-run
122
+ ak-docs memory promote --pr # opens a GitHub draft PR via gh
94
123
  ```
95
124
 
96
- Sources include `.agent-memory/**` and `.cursor/rules/*.mdc`.
125
+ Sources include `.agent-memory/**` and `.cursor/rules/*.mdc`. Promotion is
126
+ draft-only and never auto-merges.
97
127
 
98
128
  ## Optional chat + RAG (AgentsKit)
99
129
 
package/docs/index.md ADDED
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: Documentation
3
+ description: Choose the shortest Doc Bridge path for humans, agents, or pull-request enforcement.
4
+ ---
5
+
6
+ # Documentation
7
+
8
+ Doc Bridge keeps one repository useful to both people and coding agents. Start with the outcome you need:
9
+
10
+ - **Try it locally:** [Getting started](./getting-started.md)
11
+ - **Route an agent:** [For agents](./for-agents.md)
12
+ - **Block stale context in PRs:** [GitHub Marketplace](./MARKETPLACE.md)
13
+ - **Connect an MCP client:** [MCP](./mcp.md)
14
+
15
+ ```mermaid
16
+ flowchart LR
17
+ D["Repository docs"] --> I["Deterministic index"]
18
+ I --> H["Human guide"]
19
+ I --> A["Agent handoff"]
20
+ I --> G["Pull-request gate"]
21
+ ```
22
+
23
+ Long-form contracts remain available under **Specification** and as raw Markdown, without making the primary path read like a reference manual.
@@ -3,8 +3,8 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>doc-bridge — AgentHandoff for your monorepo</title>
7
- <meta name="description" content="Deterministic routing for coding agents: edit the right package, run the right checks, bridge to human docs. No API key required." />
6
+ <title>doc-bridge — docs your agents can act on</title>
7
+ <meta name="description" content="Turn human docs into executable handoffs for agents, and turn agent memory into reviewable documentation drafts. MCP, CLI, CI. No API key required." />
8
8
  <link rel="preconnect" href="https://fonts.googleapis.com" />
9
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
10
  <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap" rel="stylesheet" />
@@ -105,6 +105,22 @@
105
105
  .dot-y { background: var(--amber); }
106
106
  .dot-g { background: var(--green); }
107
107
  .terminal-body { padding: 1.25rem 1.5rem; overflow-x: auto; }
108
+ .hero-image {
109
+ display: block;
110
+ width: 100%;
111
+ margin: 0 0 2rem;
112
+ border: 1px solid var(--border);
113
+ border-radius: var(--radius);
114
+ box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
115
+ }
116
+ .section-image {
117
+ display: block;
118
+ width: 100%;
119
+ margin: 0 0 1.5rem;
120
+ border: 1px solid var(--border);
121
+ border-radius: var(--radius);
122
+ box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
123
+ }
108
124
  .t-dim { color: var(--muted); }
109
125
  .t-ok { color: var(--green); }
110
126
  .t-bad { color: var(--red); }
@@ -145,6 +161,25 @@
145
161
  text-decoration: none;
146
162
  }
147
163
  .used-by a:hover { border-color: var(--accent-dim); }
164
+ .surface-table {
165
+ width: 100%;
166
+ border-collapse: collapse;
167
+ overflow: hidden;
168
+ border: 1px solid var(--border);
169
+ border-radius: var(--radius);
170
+ background: var(--surface);
171
+ }
172
+ .surface-table th,
173
+ .surface-table td {
174
+ padding: 0.9rem 1rem;
175
+ border-bottom: 1px solid var(--border);
176
+ text-align: left;
177
+ vertical-align: top;
178
+ font-size: 0.92rem;
179
+ }
180
+ .surface-table th { color: var(--text); font-weight: 600; }
181
+ .surface-table td { color: var(--muted); }
182
+ .surface-table tr:last-child td { border-bottom: 0; }
148
183
  .badge-row { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.5rem; }
149
184
  .badge-row img { height: 22px; }
150
185
  footer {
@@ -173,16 +208,19 @@
173
208
  <main>
174
209
  <section class="hero">
175
210
  <div class="wrap">
176
- <div class="eyebrow">AgentHandoff for your monorepo</div>
177
- <h1>Your agent never edits the wrong package again.</h1>
211
+ <div class="eyebrow">Docs your agents can act on</div>
212
+ <h1>Turn repo docs into executable handoffs.</h1>
178
213
  <p class="lead">
179
- Deterministic handoffs: <strong>startHere</strong>, <strong>editRoots</strong>, <strong>checks</strong>, and a bridge to human docs.
180
- Layer 0 works without any LLM or API key.
214
+ doc-bridge gives every coding agent the same contract: <strong>startHere</strong>,
215
+ <strong>editRoots</strong>, <strong>checks</strong>, and <strong>humanDoc</strong>.
216
+ Then it turns agent memory back into reviewable documentation drafts.
217
+ Use it from CLI, MCP, and CI. No LLM or API key required.
181
218
  </p>
182
219
  <div class="cta-row">
183
220
  <a class="btn btn-primary" href="#demo">See 60s demo</a>
184
221
  <a class="btn btn-ghost" href="https://github.com/AgentsKit-io/doc-bridge#readme">Read README</a>
185
222
  </div>
223
+ <img class="hero-image" src="assets/doc-bridge-hero.webp" alt="doc-bridge maps human docs into structured agent handoffs for CLI, MCP, and CI" />
186
224
  <div class="grid-2" id="demo">
187
225
  <div class="terminal">
188
226
  <div class="terminal-bar"><span class="dot dot-r"></span><span class="dot dot-y"></span><span class="dot dot-g"></span></div>
@@ -221,10 +259,32 @@
221
259
  </div>
222
260
  </section>
223
261
 
262
+ <section>
263
+ <div class="wrap">
264
+ <h2>Use it where agents already work</h2>
265
+ <p class="section-lead">One index, multiple surfaces. Start with the CLI; wire MCP and CI when the first handoff is useful.</p>
266
+ <img class="section-image" src="assets/doc-bridge-surfaces.webp" alt="doc-bridge index used through CLI, MCP, CI, and documentation adapters" />
267
+ <table class="surface-table">
268
+ <thead>
269
+ <tr><th>Surface</th><th>What it does</th><th>How you use it</th></tr>
270
+ </thead>
271
+ <tbody>
272
+ <tr><td>CLI</td><td>Query ownership, inspect handoffs, run doctor, search docs.</td><td><code>ak-docs query package auth --agent</code></td></tr>
273
+ <tr><td>MCP</td><td>Lets Cursor, Claude Code, and Codex-style agents resolve before editing.</td><td><code>ak-docs mcp install --cursor</code></td></tr>
274
+ <tr><td>CI</td><td>Blocks stale indexes and broken human-doc bridges.</td><td><code>ak-docs index && ak-docs gate run</code></td></tr>
275
+ <tr><td>Adapters</td><td>Connect Fumadocs, Docusaurus, plain markdown, and pnpm workspaces.</td><td><code>fumadocs</code> · <code>docusaurus</code> · <code>plain-markdown</code></td></tr>
276
+ <tr><td>Memory pipeline</td><td>Classifies local agent memory and drafts documentation updates.</td><td><code>ak-docs memory promote --pr</code></td></tr>
277
+ <tr><td>Optional RAG/chat</td><td>Adds handoff-first chat when you install AgentsKit peers.</td><td><code>ak-docs rag ingest && ak-docs chat</code></td></tr>
278
+ </tbody>
279
+ </table>
280
+ </div>
281
+ </section>
282
+
224
283
  <section id="loops">
225
284
  <div class="wrap">
226
285
  <h2>Four loops, one bridge</h2>
227
286
  <p class="section-lead">Act, bridge, learn, explain — each loop has a CLI command and real output, not a concept table.</p>
287
+ <img class="section-image" src="assets/doc-bridge-two-way.webp" alt="doc-bridge connects human docs to coding agents and agent memory back to draft docs" />
228
288
  <div class="loops">
229
289
  <div class="card">
230
290
  <div class="loop-tag">Act</div>
@@ -238,8 +298,8 @@
238
298
  </div>
239
299
  <div class="card">
240
300
  <div class="loop-tag">Learn</div>
241
- <h3>Memory → docs</h3>
242
- <p><code>memory promote --pr</code> · HITL draft PR</p>
301
+ <h3>Agent memory → docs</h3>
302
+ <p><code>memory classify</code> · <code>promote --pr</code></p>
243
303
  </div>
244
304
  <div class="card">
245
305
  <div class="loop-tag">Explain</div>
@@ -277,7 +337,7 @@
277
337
  <div class="terminal-bar"><span class="dot dot-r"></span><span class="dot dot-y"></span><span class="dot dot-g"></span></div>
278
338
  <div class="terminal-body">
279
339
  <div class="t-dim"># .github/workflows/pr.yml</div>
280
- <div>- uses: <span class="t-hi">AgentsKit-io/doc-bridge@v1.0.0</span></div>
340
+ <div>- uses: <span class="t-hi">AgentsKit-io/doc-bridge@v1.2.1</span></div>
281
341
  <div>&nbsp;&nbsp;with:</div>
282
342
  <div>&nbsp;&nbsp;&nbsp;&nbsp;config-path: doc-bridge.config.json</div>
283
343
  </div>
@@ -296,4 +356,4 @@
296
356
  </div>
297
357
  </footer>
298
358
  </body>
299
- </html>
359
+ </html>
package/docs/mcp.md CHANGED
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: MCP setup
3
+ description: Connect Doc Bridge deterministic handoffs to MCP-compatible coding agents.
4
+ ---
5
+
1
6
  # MCP setup
2
7
 
3
8
  ## One command (recommended)