@agentskit/doc-bridge 1.1.1 → 1.2.3

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 (66) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/CONTRIBUTING.md +1 -0
  3. package/README.md +42 -11
  4. package/action.yml +27 -23
  5. package/dist/cli/program.js +18 -5
  6. package/dist/cli/program.js.map +1 -1
  7. package/dist/index.d.ts +39 -2
  8. package/dist/index.js +46 -5
  9. package/dist/index.js.map +1 -1
  10. package/docs/DOGFOOD-ROUND2.md +5 -0
  11. package/docs/DOGFOOD-ROUND3.md +5 -0
  12. package/docs/DOGFOOD-V1.md +5 -0
  13. package/docs/DOGFOOD.md +5 -0
  14. package/docs/MARKETPLACE-ECOSYSTEM-PLAN.md +16 -0
  15. package/docs/MARKETPLACE.md +45 -0
  16. package/docs/POSITIONING.md +17 -1
  17. package/docs/RELEASE.md +19 -10
  18. package/docs/agent-corpus/INDEX.md +10 -0
  19. package/docs/agent-corpus/OVERVIEW.md +9 -0
  20. package/docs/agent-corpus/chat.md +10 -0
  21. package/docs/agent-corpus/cli.md +10 -0
  22. package/docs/agent-corpus/conformance.md +10 -0
  23. package/docs/agent-corpus/doc-bridge.md +10 -0
  24. package/docs/agent-corpus/doctor.md +10 -0
  25. package/docs/agent-corpus/gates.md +10 -0
  26. package/docs/agent-corpus/mcp.md +10 -0
  27. package/docs/agent-corpus/memory.md +10 -0
  28. package/docs/agent-corpus/query.md +10 -0
  29. package/docs/chat-and-rag.md +34 -0
  30. package/docs/examples.md +14 -1
  31. package/docs/for-agents.md +39 -0
  32. package/docs/getting-started.md +15 -0
  33. package/docs/guides/cli-map.md +153 -0
  34. package/docs/guides/gate-ci.md +64 -0
  35. package/docs/guides/index-and-query.md +75 -0
  36. package/docs/guides/install-and-run.md +84 -0
  37. package/docs/guides/mcp-agents.md +63 -0
  38. package/docs/guides/memory-pipeline.md +105 -0
  39. package/docs/guides/meta.json +11 -0
  40. package/docs/index.md +58 -0
  41. package/docs/landing/index.html +1 -1
  42. package/docs/mcp.md +14 -0
  43. package/docs/meta.json +26 -0
  44. package/docs/ollama-demo.md +6 -1
  45. package/docs/playbook/doc-bridge-pattern.md +4 -2
  46. package/docs/query.md +58 -0
  47. package/docs/recipes/index-pipeline.md +6 -1
  48. package/docs/schemas/agent-handoff-v1.md +5 -0
  49. package/docs/schemas/doc-bridge-index-v1.md +5 -0
  50. package/docs/schemas/memory-candidate-v1.md +5 -0
  51. package/docs/skills/doc-bridge.md +6 -1
  52. package/docs/spec/cli.md +5 -0
  53. package/docs/spec/config-v1.md +5 -0
  54. package/docs/spec/documentation-standard-v1.md +5 -0
  55. package/docs/spec/playbook-feedback.md +5 -0
  56. package/docs/spec/registry-agents.md +5 -0
  57. package/ecosystem-claims.json +2 -2
  58. package/ecosystem-upstream.json +2 -2
  59. package/ecosystem.json +122 -40
  60. package/examples/verify-handoff.mjs +5 -0
  61. package/package.json +40 -6
  62. package/src/conformance/ecosystem-contract.ts +22 -3
  63. package/src/federation/ecosystem-llms.ts +67 -0
  64. package/src/index.ts +6 -0
  65. package/src/playbook/doc-bridge-pattern.ts +1 -1
  66. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.3
4
+
5
+ ### Fixed
6
+ - Publish path for seven-product `properties[]` contract and `formatEcosystemLlmsBlock` (v1.2.2 GitHub tag/package.json were misaligned; npm still on 1.2.1)
7
+ - Marketplace Action dogfoods the local workspace package when run in this repository
8
+ - Docs site `llms.txt` renders the shared seven-product mesh with role, maturity, machine index, and **(current)**
9
+
10
+ ### Changed
11
+ - Sync `ecosystem.json` upstream snapshot from AgentsKit hub main
12
+
13
+ ## 1.2.1
14
+
15
+ ### Fixes
16
+
17
+ - Restore the stable release audit with pnpm's bulk advisory client and pin patched transitive versions of PostCSS, tmp, and uuid.
18
+
19
+ ## 1.2.0
20
+
21
+ ### Minor Changes
22
+
23
+ - d4260b9: Add the production documentation portal, deterministic AgentsKit Chat knowledge surface, generated LLM and raw Markdown artifacts, and README Standard v1 quality gates.
24
+
25
+ ## Unreleased
26
+
27
+ ### Features
28
+
29
+ - Migrate the documentation portal dogfood from AgentsKit Chat 0.2 packages (`@agentskit/chat-protocol`, `@agentskit/chat-react`) to the consolidated 0.3.x surface (`@agentskit/chat/protocol`, `@agentskit/chat/react`) while keeping `@agentskit/chat` as the root package.
30
+ - Replace the legacy Pages landing with a statically exported Fumadocs portal backed directly by the canonical `docs/**` corpus.
31
+ - Generate `llms.txt`, `llms-full.txt`, raw Markdown, and a hash-verified deterministic AgentsKit Chat artifact from the repository's own Doc Bridge index.
32
+ - Add dynamic AgentsKit Chat dogfood with local exact answers, ambiguity choices, session-aware backend fallback, and explicit provenance.
33
+ - Adopt README Standard v1 for repository, package, and public-app profiles with synchronized executable examples and freshness evidence.
34
+
35
+ ### Quality
36
+
37
+ - Add `pnpm check:no-legacy-chat-imports` to reject any reintroduction of `@agentskit/chat-protocol` or `@agentskit/chat-react`.
38
+ - Add desktop/mobile Playwright coverage for the landing, Fumadocs, local chat, ambiguity, and completed backend stream.
39
+ - Expand self-ownership handoffs across CLI, indexing, query, MCP, quality, memory, and intelligence modules.
40
+
3
41
  ## 1.1.1
4
42
 
5
43
  ### Fixes
@@ -35,7 +73,7 @@
35
73
 
36
74
  ### Features
37
75
 
38
- - **Landing** — `docs/landing/index.html` deployed to GitHub Pages (`https://agentskit-io.github.io/doc-bridge/`)
76
+ - **Landing** — `docs/landing/index.html` deployed to GitHub Pages (`https://doc-bridge.agentskit.io/`)
39
77
  - **Playbook pattern** — published `docs/playbook/doc-bridge-pattern.md` + `ak-docs playbook pattern [--text]`
40
78
  - **Used by** — public AgentsKit surfaces cited on landing (for-agents, Registry, Playbook)
41
79
 
package/CONTRIBUTING.md CHANGED
@@ -18,6 +18,7 @@ pnpm build
18
18
  - Prefer existing helpers and Node APIs before adding dependencies.
19
19
  - Add or update the smallest test that would fail if the behavior regresses.
20
20
  - Public contract changes must update the relevant docs under `docs/spec/` or `docs/schemas/`.
21
+ - Dogfood AgentsKit Chat 0.4.x only: `@agentskit/chat`, `@agentskit/chat/protocol`, and `@agentskit/chat/react`. Never reintroduce `@agentskit/chat-protocol` or `@agentskit/chat-react` (`pnpm check:no-legacy-chat-imports`).
21
22
 
22
23
  ## Pull request checklist
23
24
 
package/README.md CHANGED
@@ -2,12 +2,16 @@
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@agentskit/doc-bridge?style=flat-square)](https://www.npmjs.com/package/@agentskit/doc-bridge)
4
4
  [![CI](https://img.shields.io/github/actions/workflow/status/AgentsKit-io/doc-bridge/ci.yml?branch=master&style=flat-square)](https://github.com/AgentsKit-io/doc-bridge/actions/workflows/ci.yml)
5
- [![Pages](https://img.shields.io/github/actions/workflow/status/AgentsKit-io/doc-bridge/pages.yml?branch=master&label=pages&style=flat-square)](https://agentskit-io.github.io/doc-bridge/)
5
+ [![Pages](https://img.shields.io/github/actions/workflow/status/AgentsKit-io/doc-bridge/pages.yml?branch=master&label=pages&style=flat-square)](https://doc-bridge.agentskit.io/)
6
6
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE)
7
7
  [![Node](https://img.shields.io/badge/node-%3E%3D22-339933?style=flat-square)](package.json)
8
8
  [![TypeScript](https://img.shields.io/badge/types-TypeScript-3178c6?style=flat-square)](dist/index.d.ts)
9
9
 
10
- **npm:** [`@agentskit/doc-bridge`](https://www.npmjs.com/package/@agentskit/doc-bridge) · **CLI:** `ak-docs` · **Landing:** [agentskit-io.github.io/doc-bridge](https://agentskit-io.github.io/doc-bridge/)
10
+ **npm:** [`@agentskit/doc-bridge`](https://www.npmjs.com/package/@agentskit/doc-bridge) · **CLI:** `ak-docs` · **Landing:** [agentskit-io.github.io/doc-bridge](https://doc-bridge.agentskit.io/)
11
+
12
+ **Topics:** `ai-agents` · `documentation` · `developer-experience` · `mcp` · `llms-txt` · `typescript`
13
+
14
+ **Compatibility:** node >=22 · TypeScript 5.8+ · pnpm, npm, or yarn consumers
11
15
 
12
16
  **Turn your docs into executable handoffs for coding agents.**
13
17
 
@@ -18,7 +22,7 @@ doc-bridge reads your repo docs, ownership map, and human documentation site, th
18
22
  - which checks prove the change
19
23
  - which human docs explain the feature
20
24
 
21
- It is not a wiki, not hosted RAG, and not another chat UI. The core works **without any LLM or API key**.
25
+ It is not a wiki or hosted RAG. The core works **without any LLM or API key**; the documentation portal dogfoods AgentsKit Chat as an optional surface over that deterministic layer.
22
26
 
23
27
  ![doc-bridge maps human docs into structured agent handoffs](docs/landing/assets/doc-bridge-hero.webp)
24
28
 
@@ -74,6 +78,24 @@ Monorepo fixture with auth + billing:
74
78
  npx ak-docs demo --fixture monorepo --text
75
79
  ```
76
80
 
81
+ ### Verify the real handoff path
82
+
83
+ This checked example runs the bundled demo through the public CLI. The README gate compares this block byte-for-byte with the executable fixture and runs it on every PR.
84
+
85
+ <!-- readme-command:verify-handoff -->
86
+ <!-- readme-example:verify-handoff -->
87
+ ```js
88
+ import { execFileSync } from 'node:child_process'
89
+
90
+ execFileSync(process.execPath, ['bin/ak-docs.js', 'demo', '--text'], {
91
+ stdio: 'inherit',
92
+ })
93
+ ```
94
+
95
+ ```bash
96
+ node examples/verify-handoff.mjs
97
+ ```
98
+
77
99
  Full setup in your repo:
78
100
 
79
101
  ```bash
@@ -91,7 +113,7 @@ ak-docs mcp install --cursor # wires MCP into .cursor/mcp.json
91
113
  |---------|------------|--------------------|
92
114
  | **CLI** | Inspect ownership, search docs, run gates, ask local questions | `ak-docs query`, `search`, `ask`, `doctor`, `gate` |
93
115
  | **MCP server** | Let Cursor, Claude Code, Codex-style agents resolve handoffs before editing | `ak-docs mcp`, `handoff.resolve` |
94
- | **GitHub Action / CI** | Fail stale indexes and broken human-doc links on PRs | `AgentsKit-io/doc-bridge@v1.1.1` |
116
+ | **GitHub Action / CI** | Fail stale indexes and broken human-doc links on PRs | `AgentsKit-io/doc-bridge@v1.2.1` |
95
117
  | **Documentation conformance** | Check the stable ecosystem standard with auditable evidence | `ak-docs conformance run documentation-standard-v1 --text` |
96
118
  | **Doc adapters** | Link human docs to agent docs | `fumadocs`, `docusaurus`, `plain-markdown` |
97
119
  | **Monorepo routing** | Discover workspaces and checks | `pnpm-monorepo` |
@@ -181,11 +203,18 @@ Next actions
181
203
  Reuse the bundled GitHub Action on every PR:
182
204
 
183
205
  ```yaml
184
- - uses: AgentsKit-io/doc-bridge@v1.1.1
185
- with:
186
- config-path: doc-bridge.config.json
206
+ permissions:
207
+ contents: read
208
+
209
+ steps:
210
+ - uses: actions/checkout@v4
211
+ - uses: AgentsKit-io/doc-bridge@v1.2.1
212
+ with:
213
+ config-path: doc-bridge.config.json
187
214
  ```
188
215
 
216
+ The Action checks the committed index before changing anything, pins the matching npm package, and rejects non-exact package versions. See the [Marketplace guide](docs/MARKETPLACE.md).
217
+
189
218
  ![handoff coverage](https://img.shields.io/badge/handoff_coverage-100%25-2ea44f?style=flat-square) ![human bridge](https://img.shields.io/badge/human_bridge-0%25-cb2431?style=flat-square)
190
219
 
191
220
  Run `ak-docs doctor --badge` locally to refresh — or `pnpm coverage:badge` in CI.
@@ -221,7 +250,9 @@ ak-docs rag ingest && ak-docs chat
221
250
 
222
251
  See **[docs/chat-and-rag.md](docs/chat-and-rag.md)**.
223
252
 
224
- ## Who uses it (public)
253
+ ## AgentsKit ecosystem
254
+
255
+ ### Who uses it (public)
225
256
 
226
257
  Designed for and dogfooded on open AgentsKit surfaces:
227
258
 
@@ -230,7 +261,7 @@ Designed for and dogfooded on open AgentsKit surfaces:
230
261
  | **for-agents** | [agentskit.io/docs/for-agents](https://www.agentskit.io/docs/for-agents) |
231
262
  | **Registry** | [registry.agentskit.io](https://registry.agentskit.io/) |
232
263
  | **Playbook** | [playbook.agentskit.io](https://playbook.agentskit.io/llms.txt) |
233
- | **AgentsKit Chat** | [chat framework](https://github.com/AgentsKit-io/agentskit-chat) |
264
+ | **AgentsKit Chat** | [documentation](https://chat.agentskit.io) · [source](https://github.com/AgentsKit-io/agentskit-chat) |
234
265
  | **AgentsKit OS** | [akos.agentskit.io](https://akos.agentskit.io) |
235
266
  | **Code Review** | [repository-native CLI](https://github.com/AgentsKit-io/code-review-cli) |
236
267
  | **This repo** | CI green · `ak-docs gate run` on every PR |
@@ -259,14 +290,14 @@ ak-docs memory promote --pr # opens draft PR via gh
259
290
 
260
291
  ## Status
261
292
 
262
- **v1.1.1 stable** — deterministic Documentation Standard v1 conformance, verified release provenance, doctor + CI + skill, landing, Playbook pattern, and full Tier A/B/C.
293
+ **v1.2.1 stable** — deterministic Documentation Standard v1 conformance, verified release provenance, Fumadocs portal, Marketplace Action, doctor + CI + skill, and full Tier A/B/C.
263
294
 
264
295
  ```bash
265
296
  pnpm install && pnpm build && pnpm test
266
297
  pnpm smoke:ollama # optional — skips if Ollama/peers unavailable
267
298
  ```
268
299
 
269
- **Landing:** https://agentskit-io.github.io/doc-bridge/
300
+ **Landing:** https://doc-bridge.agentskit.io/
270
301
 
271
302
  ## Contributing
272
303
 
package/action.yml CHANGED
@@ -18,46 +18,48 @@ inputs:
18
18
  required: false
19
19
  default: '22'
20
20
  package-version:
21
- description: npm package version pin (e.g. 1.1.1)
21
+ description: Exact @agentskit/doc-bridge npm version (kept in sync with this Action release)
22
22
  required: false
23
- default: ''
23
+ default: '1.2.3'
24
24
 
25
25
  runs:
26
26
  using: composite
27
27
  steps:
28
28
  - name: Setup Node
29
- uses: actions/setup-node@v4
29
+ uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v4
30
30
  with:
31
31
  node-version: ${{ inputs.node-version }}
32
32
 
33
33
  - name: Install ak-docs
34
34
  shell: bash
35
+ env:
36
+ DOC_BRIDGE_PACKAGE_VERSION: ${{ inputs.package-version }}
35
37
  run: |
36
- VERSION="${{ inputs.package-version }}"
37
- if [ -n "$VERSION" ]; then
38
- npm install -g "@agentskit/doc-bridge@${VERSION}"
39
- else
40
- npm install -g @agentskit/doc-bridge
38
+ if [[ ! "$DOC_BRIDGE_PACKAGE_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$ ]]; then
39
+ echo "::error title=Invalid package-version::Use an exact semver version such as 1.2.1"
40
+ exit 2
41
41
  fi
42
-
43
- - name: Build index
44
- shell: bash
45
- run: |
46
- if [ -n "${{ inputs.config-path }}" ]; then
47
- ak-docs index --config "${{ inputs.config-path }}"
42
+ # When this Action runs against the Doc Bridge repository itself (CI dogfood),
43
+ # install the workspace package so gates exercise the PR under test — not a
44
+ # stale published npm version that may lag the local ecosystem contract.
45
+ if [ -f package.json ] && [ "$(node -p "try{require('./package.json').name}catch{''}")" = "@agentskit/doc-bridge" ]; then
46
+ npm install -g .
48
47
  else
49
- ak-docs index
48
+ npm install -g "@agentskit/doc-bridge@${DOC_BRIDGE_PACKAGE_VERSION}"
50
49
  fi
51
50
 
52
51
  - name: Run gates
53
52
  shell: bash
53
+ env:
54
+ DOC_BRIDGE_CONFIG_PATH: ${{ inputs.config-path }}
55
+ DOC_BRIDGE_GATE_ID: ${{ inputs.gate }}
54
56
  run: |
55
- if [ -n "${{ inputs.gate }}" ] && [ -n "${{ inputs.config-path }}" ]; then
56
- ak-docs gate run "${{ inputs.gate }}" --config "${{ inputs.config-path }}"
57
- elif [ -n "${{ inputs.gate }}" ]; then
58
- ak-docs gate run "${{ inputs.gate }}"
59
- elif [ -n "${{ inputs.config-path }}" ]; then
60
- ak-docs gate run --config "${{ inputs.config-path }}"
57
+ if [ -n "$DOC_BRIDGE_GATE_ID" ] && [ -n "$DOC_BRIDGE_CONFIG_PATH" ]; then
58
+ ak-docs gate run "$DOC_BRIDGE_GATE_ID" --config "$DOC_BRIDGE_CONFIG_PATH"
59
+ elif [ -n "$DOC_BRIDGE_GATE_ID" ]; then
60
+ ak-docs gate run "$DOC_BRIDGE_GATE_ID"
61
+ elif [ -n "$DOC_BRIDGE_CONFIG_PATH" ]; then
62
+ ak-docs gate run --config "$DOC_BRIDGE_CONFIG_PATH"
61
63
  else
62
64
  ak-docs gate run
63
65
  fi
@@ -65,9 +67,11 @@ runs:
65
67
  - name: Doctor coverage (annotation)
66
68
  shell: bash
67
69
  continue-on-error: true
70
+ env:
71
+ DOC_BRIDGE_CONFIG_PATH: ${{ inputs.config-path }}
68
72
  run: |
69
- if [ -n "${{ inputs.config-path }}" ]; then
70
- REPORT="$(ak-docs doctor --text --config "${{ inputs.config-path }}" 2>&1 || true)"
73
+ if [ -n "$DOC_BRIDGE_CONFIG_PATH" ]; then
74
+ REPORT="$(ak-docs doctor --text --config "$DOC_BRIDGE_CONFIG_PATH" 2>&1 || true)"
71
75
  else
72
76
  REPORT="$(ak-docs doctor --text 2>&1 || true)"
73
77
  fi
@@ -716,7 +716,10 @@ var ManifestSchema = z2.object({
716
716
  schemaVersion: z2.literal(2),
717
717
  parentBrand: z2.object({ id: NonEmptyStringSchema, name: NonEmptyStringSchema }).passthrough(),
718
718
  products: z2.array(ProductSchema).min(1),
719
- properties: z2.array(LegacyPropertySchema).length(4),
719
+ // Historical four-product shim or full seven-product projection of products[].
720
+ properties: z2.array(LegacyPropertySchema).refine((value) => value.length === 4 || value.length === 7, {
721
+ message: "must project either the legacy four products or the full seven-product catalog"
722
+ }),
720
723
  builder: z2.object({ id: NonEmptyStringSchema, name: NonEmptyStringSchema, url: HttpsUrlSchema }).passthrough().optional()
721
724
  }).passthrough();
722
725
  var EvidenceSchema = z2.discriminatedUnion("type", [
@@ -749,7 +752,16 @@ var ClaimsSchema = z2.object({
749
752
  manifestSchemaVersion: z2.literal(2),
750
753
  products: z2.array(ClaimProductSchema)
751
754
  }).passthrough();
752
- var LEGACY_PRODUCT_IDS = ["agentskit", "akos", "playbook", "registry"];
755
+ var LEGACY_FOUR_PRODUCT_IDS = ["agentskit", "akos", "playbook", "registry"];
756
+ var FULL_SEVEN_PRODUCT_IDS = [
757
+ "agentskit",
758
+ "registry",
759
+ "agentskit-chat",
760
+ "playbook",
761
+ "doc-bridge",
762
+ "code-review",
763
+ "akos"
764
+ ];
753
765
  var parseCanonicalEcosystemContract = (manifestInput, claimsInput) => {
754
766
  const manifest = ManifestSchema.parse(manifestInput);
755
767
  const claims = ClaimsSchema.parse(claimsInput);
@@ -775,7 +787,8 @@ var parseCanonicalEcosystemContract = (manifestInput, claimsInput) => {
775
787
  if (!products.has(nextId)) throw new Error(`Product ${product.id} references unknown product ${nextId}.`);
776
788
  }
777
789
  }
778
- for (const [index, id] of LEGACY_PRODUCT_IDS.entries()) {
790
+ const propertyIds = manifest.properties.length === 7 ? FULL_SEVEN_PRODUCT_IDS : LEGACY_FOUR_PRODUCT_IDS;
791
+ for (const [index, id] of propertyIds.entries()) {
779
792
  const legacy = manifest.properties[index];
780
793
  const product = products.get(id);
781
794
  if (!legacy || !product || legacy.id !== id || !product.surfaces.home) {
@@ -1334,7 +1347,7 @@ var buildLookup = (config, packages, corpus, indexOutFile, humanDocs = {}, root
1334
1347
  };
1335
1348
 
1336
1349
  // src/version.ts
1337
- var PACKAGE_VERSION = "1.1.1";
1350
+ var PACKAGE_VERSION = "1.2.3";
1338
1351
 
1339
1352
  // src/index-builder/capabilities.ts
1340
1353
  var renderCapabilitiesJson = (config, index, paths) => {
@@ -3694,7 +3707,7 @@ Teams track handoff % and human-bridge % daily.
3694
3707
  - npm: https://www.npmjs.com/package/@agentskit/doc-bridge
3695
3708
  - repo: https://github.com/AgentsKit-io/doc-bridge
3696
3709
  - skill: https://github.com/AgentsKit-io/doc-bridge/blob/master/docs/skills/doc-bridge.md
3697
- - landing: https://agentskit-io.github.io/doc-bridge/
3710
+ - landing: https://doc-bridge.agentskit.io/
3698
3711
  `;
3699
3712
  var docBridgePatternPayload = () => ({
3700
3713
  ...DOC_BRIDGE_PATTERN_META,