@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
package/CHANGELOG.md CHANGED
@@ -1,8 +1,50 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.1
4
+
5
+ ### Fixes
6
+
7
+ - Restore the stable release audit with pnpm's bulk advisory client and pin patched transitive versions of PostCSS, tmp, and uuid.
8
+
9
+ ## 1.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - d4260b9: Add the production documentation portal, deterministic AgentsKit Chat knowledge surface, generated LLM and raw Markdown artifacts, and README Standard v1 quality gates.
14
+
15
+ ## Unreleased
16
+
17
+ ### Features
18
+
19
+ - 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.
20
+ - Replace the legacy Pages landing with a statically exported Fumadocs portal backed directly by the canonical `docs/**` corpus.
21
+ - Generate `llms.txt`, `llms-full.txt`, raw Markdown, and a hash-verified deterministic AgentsKit Chat artifact from the repository's own Doc Bridge index.
22
+ - Add dynamic AgentsKit Chat dogfood with local exact answers, ambiguity choices, session-aware backend fallback, and explicit provenance.
23
+ - Adopt README Standard v1 for repository, package, and public-app profiles with synchronized executable examples and freshness evidence.
24
+
25
+ ### Quality
26
+
27
+ - Add `pnpm check:no-legacy-chat-imports` to reject any reintroduction of `@agentskit/chat-protocol` or `@agentskit/chat-react`.
28
+ - Add desktop/mobile Playwright coverage for the landing, Fumadocs, local chat, ambiguity, and completed backend stream.
29
+ - Expand self-ownership handoffs across CLI, indexing, query, MCP, quality, memory, and intelligence modules.
30
+
31
+ ## 1.1.1
32
+
33
+ ### Fixes
34
+
35
+ - Publish stable packages only from immutable tags after security, test, coverage, packaged-smoke, dogfood, and Documentation Standard v1 gates pass.
36
+ - Sync the canonical ecosystem snapshot before release so conformance and cross-product navigation remain current.
37
+
38
+ ## 1.1.0
39
+
40
+ ### Minor Changes
41
+
42
+ - Add the stable, HITL-approved Documentation Standard v1 deterministic conformance profile, CLI command, reports, remediation, explicit approved exceptions, generated llms.txt freshness checks, and canonical ecosystem manifest/claims validation.
43
+
3
44
  ## 1.0.2
4
45
 
5
46
  ### Fixes
47
+
6
48
  - Sync `ak-docs --version`, MCP `serverInfo.version`, and capabilities version from `package.json` during build/release.
7
49
  - Allow `ak-docs query <id> --agent` as a shortcut for package/ownership handoff lookup.
8
50
  - Packaged smoke now verifies installed CLI version.
@@ -10,6 +52,7 @@
10
52
  ## 1.0.1
11
53
 
12
54
  ### Fixes
55
+
13
56
  - Hardened release validation with coverage for Layer 1 CLI, RAG/chat wrappers, MCP install, package-manager checks, watcher, markdown/glob helpers, and packaged/docsite smoke paths.
14
57
  - Fixed provider API-key defaults for optional AgentsKit intelligence adapters.
15
58
  - Replaced publish-time `pnpm build` hooks with `npm run build` for npm-friendly packing.
@@ -19,11 +62,13 @@
19
62
  **Stable** — doctor, CI gate, MCP install, and agent skill are boring-reliable. Tier C polish ships.
20
63
 
21
64
  ### Features
65
+
22
66
  - **Landing** — `docs/landing/index.html` deployed to GitHub Pages (`https://agentskit-io.github.io/doc-bridge/`)
23
67
  - **Playbook pattern** — published `docs/playbook/doc-bridge-pattern.md` + `ak-docs playbook pattern [--text]`
24
68
  - **Used by** — public AgentsKit surfaces cited on landing (for-agents, Registry, Playbook)
25
69
 
26
70
  ### Stable criteria met
71
+
27
72
  - 60s demo path (`ak-docs demo`)
28
73
  - Doctor coverage score + badges
29
74
  - GitHub Action `doc-bridge-gate` + repo dogfood CI
@@ -31,6 +76,7 @@
31
76
  - Memory promote → draft PR, index `--watch`, Ollama smoke (optional)
32
77
 
33
78
  ### Breaking changes from alpha
79
+
34
80
  - None intended for Layer 0 config/handoff schemas (still `schemaVersion: 1`)
35
81
  - Pin `@v1.0.0` for GitHub Action instead of alpha tags
36
82
 
@@ -39,6 +85,7 @@
39
85
  Tier B — power-user workflows and production pipeline polish.
40
86
 
41
87
  ### Features
88
+
42
89
  - **`ak-docs memory promote --pr`** — draft file + `gh pr create --draft` (with `--dry-run`, `--force`)
43
90
  - **`ak-docs index --watch`** — debounced rebuild on agent/human doc changes
44
91
  - **`ak-docs doctor --badge`** / **`--write-badge`** — shields.io markdown + `.doc-bridge/coverage-badge.json`
@@ -51,6 +98,7 @@ Tier B — power-user workflows and production pipeline polish.
51
98
  Activation and agent-adoption polish — from "works" to "wow in 60s".
52
99
 
53
100
  ### Features
101
+
54
102
  - **`ak-docs demo`** — bundled example/monorepo fixtures; before/after handoff, gate red→green, MCP snippet (no local config)
55
103
  - **`ak-docs doctor`** — coverage score 0–100, missing agentDoc/humanDoc, gate status, next actions
56
104
  - **`ak-docs mcp install --cursor | --claude`** — writes MCP server config
@@ -65,6 +113,7 @@ Activation and agent-adoption polish — from "works" to "wow in 60s".
65
113
  Dogfood round-2 fixes (search ranking, full-text body, peers, federation soft-fail).
66
114
 
67
115
  ### Fixes
116
+
68
117
  - **Search ranking:** exact id / basename boost; ownership preferred for routing questions; path dedupe
69
118
  - **Full-text search:** knowledge entries store `body` excerpt; descriptions prefer frontmatter `purpose` and complete sentences
70
119
  - **ask:** next command prefers ownership match over knowledge-only
@@ -78,6 +127,7 @@ Dogfood round-2 fixes (search ranking, full-text body, peers, federation soft-fa
78
127
  Dogfood-driven polish after ecosystem install on agentskit, agentskit-os, playbook, and registry.
79
128
 
80
129
  ### Fixes / features
130
+
81
131
  - **Package-manager-aware checks** — pnpm/yarn/npm/bun; `pnpm --filter <pkg>` in workspaces
82
132
  - **Corpus ownership inference** — `packages/<id>.md`, pillars patterns, registry READMEs (toggle `routing.options.ownershipFromCorpus`)
83
133
  - **Richer `guessAgentDocForPackage`** — packages/id, index.md, mdx, for-agents top-level
package/CONTRIBUTING.md CHANGED
@@ -18,6 +18,14 @@ 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.3.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`).
22
+
23
+ ## Pull request checklist
24
+
25
+ - Run `pnpm typecheck && pnpm test && pnpm build`.
26
+ - Run `npm pack --dry-run` for package or README changes.
27
+ - Update docs and `CHANGELOG.md` when behavior changes.
28
+ - Keep examples public and reproducible.
21
29
 
22
30
  ## Releases
23
31
 
package/README.md CHANGED
@@ -1,12 +1,58 @@
1
1
  # doc-bridge
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/@agentskit/doc-bridge?style=flat-square)](https://www.npmjs.com/package/@agentskit/doc-bridge)
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/)
6
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE)
7
+ [![Node](https://img.shields.io/badge/node-%3E%3D22-339933?style=flat-square)](package.json)
8
+ [![TypeScript](https://img.shields.io/badge/types-TypeScript-3178c6?style=flat-square)](dist/index.d.ts)
9
+
3
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/)
4
11
 
5
- **AgentHandoff for your monorepo** — deterministic routing so coding agents edit the right package, run the right checks, and stay linked to human docs.
12
+ **Topics:** `ai-agents` · `documentation` · `developer-experience` · `mcp` · `llms-txt` · `typescript`
13
+
14
+ **Compatibility:** node >=22 · TypeScript 5.8+ · pnpm, npm, or yarn consumers
15
+
16
+ **Turn your docs into executable handoffs for coding agents.**
17
+
18
+ doc-bridge reads your repo docs, ownership map, and human documentation site, then gives every agent the same answer:
19
+
20
+ - where to start reading
21
+ - which files/packages it may edit
22
+ - which checks prove the change
23
+ - which human docs explain the feature
24
+
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.
26
+
27
+ ![doc-bridge maps human docs into structured agent handoffs](docs/landing/assets/doc-bridge-hero.webp)
28
+
29
+ ## Why teams use it
30
+
31
+ Agents are powerful, but most repo docs are written for humans. The result is familiar: the agent guesses ownership, edits the sibling package, runs the wrong test, or ignores the human guide that already explained the rule.
6
32
 
7
- Not a wiki. Not a hosted RAG chat. Layer 0 works **without any LLM or API key**.
33
+ doc-bridge works in both directions:
8
34
 
9
- ## 60-second wow path
35
+ ![doc-bridge connects human docs to coding agents and agent memory back to draft docs](docs/landing/assets/doc-bridge-two-way.webp)
36
+
37
+ | Direction | What it does | Command |
38
+ |-----------|--------------|---------|
39
+ | **Human docs → agents** | Turns Fumadocs, Docusaurus, markdown, and ownership docs into `AgentHandoff` | `ak-docs index` · `ak-docs query --agent` |
40
+ | **Agent memory → docs** | Reads `.agent-memory/**` and `.cursor/rules/*.mdc`, classifies what should become project docs, and drafts a human-reviewed promotion | `ak-docs memory ingest` · `classify` · `promote --pr` |
41
+
42
+ The handoff is a routing contract:
43
+
44
+ ```json
45
+ {
46
+ "startHere": "docs/for-agents/packages/auth.md",
47
+ "editRoots": ["packages/auth"],
48
+ "checks": ["pnpm --filter @demo/auth test"],
49
+ "humanDoc": "/docs/guides/auth"
50
+ }
51
+ ```
52
+
53
+ That contract works from the terminal, MCP, CI, and optional RAG/chat.
54
+
55
+ ## 60-second proof
10
56
 
11
57
  ```bash
12
58
  npm i -D @agentskit/doc-bridge
@@ -32,6 +78,24 @@ Monorepo fixture with auth + billing:
32
78
  npx ak-docs demo --fixture monorepo --text
33
79
  ```
34
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
+
35
99
  Full setup in your repo:
36
100
 
37
101
  ```bash
@@ -41,6 +105,23 @@ npx ak-docs query package example --agent
41
105
  ak-docs mcp install --cursor # wires MCP into .cursor/mcp.json
42
106
  ```
43
107
 
108
+ ## What ships
109
+
110
+ ![doc-bridge index used through CLI, MCP, CI, and documentation adapters](docs/landing/assets/doc-bridge-surfaces.webp)
111
+
112
+ | Surface | Use it for | Command / artifact |
113
+ |---------|------------|--------------------|
114
+ | **CLI** | Inspect ownership, search docs, run gates, ask local questions | `ak-docs query`, `search`, `ask`, `doctor`, `gate` |
115
+ | **MCP server** | Let Cursor, Claude Code, Codex-style agents resolve handoffs before editing | `ak-docs mcp`, `handoff.resolve` |
116
+ | **GitHub Action / CI** | Fail stale indexes and broken human-doc links on PRs | `AgentsKit-io/doc-bridge@v1.2.1` |
117
+ | **Documentation conformance** | Check the stable ecosystem standard with auditable evidence | `ak-docs conformance run documentation-standard-v1 --text` |
118
+ | **Doc adapters** | Link human docs to agent docs | `fumadocs`, `docusaurus`, `plain-markdown` |
119
+ | **Monorepo routing** | Discover workspaces and checks | `pnpm-monorepo` |
120
+ | **Memory pipeline** | Turn agent notes into reviewable documentation drafts | `memory ingest`, `classify`, `promote --pr` |
121
+ | **Optional RAG/chat** | Ground chat in the same handoff-first index | `@agentskit/rag`, `@agentskit/ink`, `ak-docs chat` |
122
+
123
+ See [docs/getting-started.md](docs/getting-started.md), [docs/mcp.md](docs/mcp.md), and [docs/examples.md](docs/examples.md).
124
+
44
125
  ## Why this exists
45
126
 
46
127
  | Pattern | Gap |
@@ -122,11 +203,18 @@ Next actions
122
203
  Reuse the bundled GitHub Action on every PR:
123
204
 
124
205
  ```yaml
125
- - uses: AgentsKit-io/doc-bridge@v1.0.0
126
- with:
127
- 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
128
214
  ```
129
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
+
130
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)
131
219
 
132
220
  Run `ak-docs doctor --badge` locally to refresh — or `pnpm coverage:badge` in CI.
@@ -139,9 +227,9 @@ ak-docs index && ak-docs gate run
139
227
 
140
228
  Gate fails with `Index is stale. Run: ak-docs index` — same check in CI annotations.
141
229
 
142
- ## Surfaces
230
+ ## Product surface
143
231
 
144
- ### Layer 0 — always (no LLM)
232
+ ### Core — always (no LLM)
145
233
 
146
234
  | Surface | Purpose |
147
235
  |---------|---------|
@@ -151,9 +239,9 @@ Gate fails with `Index is stale. Run: ak-docs index` — same check in CI annota
151
239
  | **CLI** | `query` / `search` / `list` / `ask` / `gate` / `memory` / `bootstrap` |
152
240
  | **MCP** | `handoff.resolve`, `doc.search`, `doc.get`, `gate.status`, … |
153
241
  | **Gates** | Freshness, human-link validation, optional OKF style |
154
- | **Plugins** | `pnpm-monorepo`, `fumadocs`, `docusaurus`, `plain-markdown` |
242
+ | **Adapters** | `pnpm-monorepo`, `fumadocs`, `docusaurus`, `plain-markdown` |
155
243
 
156
- ### Layer 1 — optional AgentsKit peers
244
+ ### Optional AgentsKit peers
157
245
 
158
246
  ```bash
159
247
  npm i -D @agentskit/rag @agentskit/ink @agentskit/adapters @agentskit/memory react
@@ -162,10 +250,9 @@ ak-docs rag ingest && ak-docs chat
162
250
 
163
251
  See **[docs/chat-and-rag.md](docs/chat-and-rag.md)**.
164
252
 
165
- ## Who uses it (public)
253
+ ## AgentsKit ecosystem
166
254
 
167
- [![npm](https://img.shields.io/npm/v/@agentskit/doc-bridge?style=flat-square)](https://www.npmjs.com/package/@agentskit/doc-bridge)
168
- [![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)
255
+ ### Who uses it (public)
169
256
 
170
257
  Designed for and dogfooded on open AgentsKit surfaces:
171
258
 
@@ -174,6 +261,9 @@ Designed for and dogfooded on open AgentsKit surfaces:
174
261
  | **for-agents** | [agentskit.io/docs/for-agents](https://www.agentskit.io/docs/for-agents) |
175
262
  | **Registry** | [registry.agentskit.io](https://registry.agentskit.io/) |
176
263
  | **Playbook** | [playbook.agentskit.io](https://playbook.agentskit.io/llms.txt) |
264
+ | **AgentsKit Chat** | [documentation](https://chat.agentskit.io) · [source](https://github.com/AgentsKit-io/agentskit-chat) |
265
+ | **AgentsKit OS** | [akos.agentskit.io](https://akos.agentskit.io) |
266
+ | **Code Review** | [repository-native CLI](https://github.com/AgentsKit-io/code-review-cli) |
177
267
  | **This repo** | CI green · `ak-docs gate run` on every PR |
178
268
 
179
269
  **Playbook pattern:** [`docs/playbook/doc-bridge-pattern.md`](docs/playbook/doc-bridge-pattern.md) — export with `ak-docs playbook pattern --text`
@@ -200,7 +290,7 @@ ak-docs memory promote --pr # opens draft PR via gh
200
290
 
201
291
  ## Status
202
292
 
203
- **v1.0.0 stable** — doctor + CI + skill boring-reliable. Landing, Playbook pattern, full Tier A/B/C shipped.
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.
204
294
 
205
295
  ```bash
206
296
  pnpm install && pnpm build && pnpm test
@@ -211,9 +301,16 @@ pnpm smoke:ollama # optional — skips if Ollama/peers unavailable
211
301
 
212
302
  ## Contributing
213
303
 
214
- - [CONTRIBUTING.md](CONTRIBUTING.md) · [SECURITY.md](SECURITY.md) · [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) · [CHANGELOG.md](CHANGELOG.md)
215
- - Positioning: [`docs/POSITIONING.md`](docs/POSITIONING.md)
304
+ Issues and PRs are welcome. Start here:
305
+
306
+ | Need | Doc |
307
+ |------|-----|
308
+ | Local setup, tests, release flow | [CONTRIBUTING.md](CONTRIBUTING.md) |
309
+ | Vulnerability reports | [SECURITY.md](SECURITY.md) |
310
+ | Community standards | [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) |
311
+ | Release history | [CHANGELOG.md](CHANGELOG.md) |
312
+ | Product positioning | [docs/POSITIONING.md](docs/POSITIONING.md) |
216
313
 
217
314
  ## License
218
315
 
219
- MIT
316
+ [MIT](LICENSE)
package/SECURITY.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Supported versions
4
4
 
5
- `@agentskit/doc-bridge` is currently in alpha. Security fixes target the latest published alpha.
5
+ Security fixes target the latest stable `@agentskit/doc-bridge` release on npm.
6
6
 
7
7
  ## Reporting a vulnerability
8
8
 
package/action.yml CHANGED
@@ -18,46 +18,41 @@ inputs:
18
18
  required: false
19
19
  default: '22'
20
20
  package-version:
21
- description: npm package version pin (e.g. 0.1.0-alpha.3)
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.1'
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
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 }}"
48
- else
49
- ak-docs index
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
50
41
  fi
42
+ npm install -g "@agentskit/doc-bridge@${DOC_BRIDGE_PACKAGE_VERSION}"
51
43
 
52
44
  - name: Run gates
53
45
  shell: bash
46
+ env:
47
+ DOC_BRIDGE_CONFIG_PATH: ${{ inputs.config-path }}
48
+ DOC_BRIDGE_GATE_ID: ${{ inputs.gate }}
54
49
  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 }}"
50
+ if [ -n "$DOC_BRIDGE_GATE_ID" ] && [ -n "$DOC_BRIDGE_CONFIG_PATH" ]; then
51
+ ak-docs gate run "$DOC_BRIDGE_GATE_ID" --config "$DOC_BRIDGE_CONFIG_PATH"
52
+ elif [ -n "$DOC_BRIDGE_GATE_ID" ]; then
53
+ ak-docs gate run "$DOC_BRIDGE_GATE_ID"
54
+ elif [ -n "$DOC_BRIDGE_CONFIG_PATH" ]; then
55
+ ak-docs gate run --config "$DOC_BRIDGE_CONFIG_PATH"
61
56
  else
62
57
  ak-docs gate run
63
58
  fi
@@ -65,9 +60,11 @@ runs:
65
60
  - name: Doctor coverage (annotation)
66
61
  shell: bash
67
62
  continue-on-error: true
63
+ env:
64
+ DOC_BRIDGE_CONFIG_PATH: ${{ inputs.config-path }}
68
65
  run: |
69
- if [ -n "${{ inputs.config-path }}" ]; then
70
- REPORT="$(ak-docs doctor --text --config "${{ inputs.config-path }}" 2>&1 || true)"
66
+ if [ -n "$DOC_BRIDGE_CONFIG_PATH" ]; then
67
+ REPORT="$(ak-docs doctor --text --config "$DOC_BRIDGE_CONFIG_PATH" 2>&1 || true)"
71
68
  else
72
69
  REPORT="$(ak-docs doctor --text 2>&1 || true)"
73
70
  fi
@@ -75,4 +72,4 @@ runs:
75
72
  SCORE="$(echo "$REPORT" | sed -n 's/^Score: \([0-9]*\)\/.*/\1/p' | head -1)"
76
73
  if [ -n "$SCORE" ]; then
77
74
  echo "::notice title=doc-bridge coverage::Score ${SCORE}/100 — run ak-docs doctor locally for next actions"
78
- fi
75
+ fi