harness-auto-docs 0.1.0 → 0.1.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/AGENTS.md CHANGED
@@ -5,7 +5,7 @@ Read this file first, then follow the pointers below for deeper context.
5
5
 
6
6
  ## What this project does
7
7
 
8
- `harness-engineering-auto-docs` is a TypeScript CLI that auto-generates Harness Engineering-style
8
+ `harness-auto-docs` is a TypeScript CLI that auto-generates Harness Engineering-style
9
9
  documentation when a git tag is pushed. It diffs two adjacent tags, selects relevant
10
10
  doc targets, calls an LLM (Claude or GPT), writes Markdown files, and opens a GitHub PR.
11
11
 
package/ARCHITECTURE.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # ARCHITECTURE.md
2
2
 
3
- Top-level architecture of `harness-engineering-auto-docs`.
3
+ Top-level architecture of `harness-auto-docs`.
4
4
  See `AGENTS.md` for navigation and `docs/design-docs/` for per-release decisions.
5
5
 
6
6
  ## Overview
7
7
 
8
- `harness-engineering-auto-docs` is a single-binary CLI (Node.js ESM) with no server or database.
8
+ `harness-auto-docs` is a single-binary CLI (Node.js ESM) with no server or database.
9
9
  It is invoked once per git tag event, runs to completion, and exits.
10
10
 
11
11
  ```
@@ -48,7 +48,7 @@ cli.ts (orchestration)
48
48
  ```
49
49
  git tag push
50
50
  → GitHub Actions triggers workflow
51
- → npx harness-engineering-auto-docs
51
+ → npx harness-auto-docs
52
52
  → extractDiff() reads git history, returns DiffResult
53
53
  → selectTargets() classifies files, returns DocTarget[]
54
54
  → generateDocs() calls AI provider in parallel, returns GenerationResult[]
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # harness-engineering-auto-docs
1
+ # harness-auto-docs
2
2
 
3
3
  Auto-generate [Harness Engineering](https://openai.com/research/harness-engineering) style documentation when your project creates a git tag. Opens a PR with updated docs.
4
4
 
@@ -34,7 +34,7 @@ When you push a tag (`git tag v1.2.0 && git push --tags`), a PR is automatically
34
34
  ## Local run
35
35
 
36
36
  ```bash
37
- AI_MODEL=claude-sonnet-4-6 AI_API_KEY=sk-ant-... GITHUB_TOKEN=ghp_... npx harness-engineering-auto-docs
37
+ AI_MODEL=claude-sonnet-4-6 AI_API_KEY=sk-ant-... GITHUB_TOKEN=ghp_... npx harness-auto-docs
38
38
  ```
39
39
 
40
40
  ## Supported models
package/dist/cli.js CHANGED
@@ -79,14 +79,14 @@ async function main() {
79
79
  const baseBranch = getDefaultBranch();
80
80
  execSync(`git checkout -b ${branch}`);
81
81
  execSync(`git add ${writtenFiles.map(f => `"${f}"`).join(' ')}`);
82
- execSync(`git commit -m "docs: Harness Engineering docs update for ${diff.currentTag}"`, { env: { ...process.env, GIT_AUTHOR_NAME: 'harness-engineering-auto-docs', GIT_AUTHOR_EMAIL: 'bot@harness-engineering-auto-docs' } });
82
+ execSync(`git commit -m "docs: Harness Engineering docs update for ${diff.currentTag}"`, { env: { ...process.env, GIT_AUTHOR_NAME: 'harness-auto-docs', GIT_AUTHOR_EMAIL: 'bot@harness-auto-docs' } });
83
83
  execSync(`git push -u origin ${branch}`);
84
84
  const platform = detectPlatform();
85
85
  const prUrl = await platform.createOrUpdatePR({
86
86
  branch,
87
87
  title: `docs: Harness Engineering docs for ${diff.currentTag}`,
88
88
  body: [
89
- `Auto-generated by [harness-engineering-auto-docs](https://github.com/your-org/harness-engineering-auto-docs).`,
89
+ `Auto-generated by [harness-auto-docs](https://github.com/chooin/harness-auto-docs).`,
90
90
  ``,
91
91
  `Updates documentation based on changes from **${diff.prevTag}** to **${diff.currentTag}**.`,
92
92
  ``,
@@ -1,6 +1,6 @@
1
1
  export class GitLabProvider {
2
2
  async createOrUpdatePR(_opts) {
3
3
  throw new Error('GitLab provider is not yet implemented. ' +
4
- 'Contributions welcome: https://github.com/your-org/harness-engineering-auto-docs');
4
+ 'Contributions welcome: https://github.com/chooin/harness-auto-docs');
5
5
  }
6
6
  }
package/docs/DESIGN.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # DESIGN.md
2
2
 
3
- Design philosophy and key decisions for `harness-engineering-auto-docs`.
3
+ Design philosophy and key decisions for `harness-auto-docs`.
4
4
  See `docs/design-docs/` for per-release design documents.
5
5
 
6
6
  ## Core philosophy
@@ -12,7 +12,7 @@ keeping repository knowledge current. Based on lessons from the Harness Engineer
12
12
  > "From the agent's point of view, anything it can't access in-context while running effectively
13
13
  > doesn't exist." — Ryan Lopopolo, Harness Engineering
14
14
 
15
- `harness-engineering-auto-docs` makes repository knowledge self-maintaining: every git tag triggers a
15
+ `harness-auto-docs` makes repository knowledge self-maintaining: every git tag triggers a
16
16
  documentation pass, so the knowledge store reflects the codebase as it actually exists.
17
17
 
18
18
  ## Key design decisions
@@ -1,7 +1,7 @@
1
1
  # QUALITY_SCORE.md
2
2
 
3
3
  Quality grades for each domain and architectural layer.
4
- Updated on each release by `harness-engineering-auto-docs` itself.
4
+ Updated on each release by `harness-auto-docs` itself.
5
5
 
6
6
  ## Grading legend
7
7
 
@@ -1,6 +1,6 @@
1
1
  # Core Beliefs
2
2
 
3
- Agent-first operating principles for `harness-engineering-auto-docs`.
3
+ Agent-first operating principles for `harness-auto-docs`.
4
4
  These beliefs inform every design decision and should be consulted when making trade-offs.
5
5
 
6
6
  Source: [Harness Engineering: Leveraging Codex in an Agent-First World](https://openai.com/index/harness-engineering/) (OpenAI, Feb 2026)
@@ -40,7 +40,7 @@ The knowledge store is organized so each layer reveals more detail than the last
40
40
  Documentation alone cannot keep a codebase coherent. Rules that matter must be enforced via
41
41
  linters, type system constraints, or structural tests — not just written down and hoped about.
42
42
 
43
- **Implication**: `harness-engineering-auto-docs` is a mechanical enforcement tool — it runs automatically
43
+ **Implication**: `harness-auto-docs` is a mechanical enforcement tool — it runs automatically
44
44
  on every tag, not on request.
45
45
 
46
46
  ## 6. Continuous small increments beat periodic big fixes
@@ -1,6 +1,6 @@
1
1
  # Design Docs Index
2
2
 
3
- Catalogued design documents for `harness-engineering-auto-docs`.
3
+ Catalogued design documents for `harness-auto-docs`.
4
4
  Each entry links to the per-release design document generated at tag time.
5
5
 
6
6
  See `docs/design-docs/core-beliefs.md` for the foundational agent-first operating principles
@@ -8,7 +8,7 @@ that underpin every design decision in this project.
8
8
 
9
9
  ## Releases
10
10
 
11
- <!-- harness-engineering-auto-docs appends entries here on each release -->
11
+ <!-- harness-auto-docs appends entries here on each release -->
12
12
 
13
13
  _No releases yet. The first tagged release will appear here._
14
14
 
@@ -1,6 +1,6 @@
1
1
  # Tech Debt Tracker
2
2
 
3
- Tracks known technical debt in `harness-engineering-auto-docs`.
3
+ Tracks known technical debt in `harness-auto-docs`.
4
4
  Updated automatically on each release. See `docs/QUALITY_SCORE.md` for graded gap tracking.
5
5
 
6
6
  ---
@@ -23,4 +23,4 @@ _None yet — first baseline._
23
23
 
24
24
  ---
25
25
 
26
- <!-- harness-engineering-auto-docs appends sections here on each release -->
26
+ <!-- harness-auto-docs appends sections here on each release -->
@@ -1,9 +1,9 @@
1
1
  # Product Specs Index
2
2
 
3
- Feature specifications for `harness-engineering-auto-docs`.
3
+ Feature specifications for `harness-auto-docs`.
4
4
  Each entry links to a spec document for a significant feature addition.
5
5
 
6
- <!-- harness-engineering-auto-docs appends entries here when new features are detected in a release -->
6
+ <!-- harness-auto-docs appends entries here when new features are detected in a release -->
7
7
 
8
8
  ## Shipped features
9
9
 
@@ -13,7 +13,7 @@ Each entry links to a spec document for a significant feature addition.
13
13
  selects relevant documentation targets, calls an LLM to generate content, writes Markdown files,
14
14
  and opens a GitHub PR with the updates.
15
15
 
16
- **Trigger**: `git tag v*` → GitHub Actions workflow → `npx harness-engineering-auto-docs`
16
+ **Trigger**: `git tag v*` → GitHub Actions workflow → `npx harness-auto-docs`
17
17
 
18
18
  **Inputs**: `AI_MODEL`, `AI_API_KEY`, `GITHUB_TOKEN` (environment variables)
19
19
 
@@ -1,8 +1,8 @@
1
- # Harness Engineering Auto Docs Implementation Plan
1
+ # Harness Auto Docs Implementation Plan
2
2
 
3
3
  > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
4
 
5
- **Goal:** Build and publish an npm CLI package (`harness-engineering-auto-docs`) that runs via `npx`, extracts the git diff between two tags, generates Harness Engineering-style documentation using a configurable AI model, and opens a PR.
5
+ **Goal:** Build and publish an npm CLI package (`harness-auto-docs`) that runs via `npx`, extracts the git diff between two tags, generates Harness Engineering-style documentation using a configurable AI model, and opens a PR.
6
6
 
7
7
  **Architecture:** Three independent layers — `core/` (diff, relevance, generation, file writing), `ai/` (Anthropic + OpenAI providers behind a shared interface), and `providers/` (GitHub PR creation; GitLab stub). The CLI (`cli.ts`) wires them together: write docs to disk → git commit + push → platform API creates PR.
8
8
 
@@ -13,7 +13,7 @@
13
13
  ## File Structure
14
14
 
15
15
  ```
16
- harness-engineering-auto-docs/
16
+ harness-auto-docs/
17
17
  ├── package.json
18
18
  ├── tsconfig.json
19
19
  ├── vitest.config.ts
@@ -63,12 +63,12 @@ harness-engineering-auto-docs/
63
63
 
64
64
  ```json
65
65
  {
66
- "name": "harness-engineering-auto-docs",
66
+ "name": "harness-auto-docs",
67
67
  "version": "0.1.0",
68
68
  "description": "Auto-generate Harness Engineering docs on git tag",
69
69
  "type": "module",
70
70
  "bin": {
71
- "harness-engineering-auto-docs": "./dist/cli.js"
71
+ "harness-auto-docs": "./dist/cli.js"
72
72
  },
73
73
  "scripts": {
74
74
  "build": "tsc",
@@ -1487,7 +1487,7 @@ export class GitLabProvider implements PlatformProvider {
1487
1487
  }): Promise<string> {
1488
1488
  throw new Error(
1489
1489
  'GitLab provider is not yet implemented. ' +
1490
- 'Contributions welcome: https://github.com/your-org/harness-engineering-auto-docs'
1490
+ 'Contributions welcome: https://github.com/chooin/harness-auto-docs'
1491
1491
  );
1492
1492
  }
1493
1493
  }
@@ -1669,7 +1669,7 @@ async function main() {
1669
1669
  execSync(`git add ${writtenFiles.map(f => `"${f}"`).join(' ')}`);
1670
1670
  execSync(
1671
1671
  `git commit -m "docs: Harness Engineering docs update for ${diff.currentTag}"`,
1672
- { env: { ...process.env, GIT_AUTHOR_NAME: 'harness-engineering-auto-docs', GIT_AUTHOR_EMAIL: 'bot@harness-engineering-auto-docs' } }
1672
+ { env: { ...process.env, GIT_AUTHOR_NAME: 'harness-auto-docs', GIT_AUTHOR_EMAIL: 'bot@harness-auto-docs' } }
1673
1673
  );
1674
1674
  execSync(`git push -u origin ${branch}`);
1675
1675
 
@@ -1679,7 +1679,7 @@ async function main() {
1679
1679
  branch,
1680
1680
  title: `docs: Harness Engineering docs for ${diff.currentTag}`,
1681
1681
  body: [
1682
- `Auto-generated by [harness-engineering-auto-docs](https://github.com/your-org/harness-engineering-auto-docs).`,
1682
+ `Auto-generated by [harness-auto-docs](https://github.com/chooin/harness-auto-docs).`,
1683
1683
  ``,
1684
1684
  `Updates documentation based on changes from **${diff.prevTag}** to **${diff.currentTag}**.`,
1685
1685
  ``,
@@ -1751,7 +1751,7 @@ jobs:
1751
1751
  node-version: '20'
1752
1752
 
1753
1753
  - name: Generate and PR Harness Engineering docs
1754
- run: npx harness-engineering-auto-docs@latest
1754
+ run: npx harness-auto-docs@latest
1755
1755
  env:
1756
1756
  AI_MODEL: claude-sonnet-4-6 # or gpt-4o
1757
1757
  AI_API_KEY: ${{ secrets.AI_API_KEY }}
@@ -1761,7 +1761,7 @@ jobs:
1761
1761
  - [ ] **Step 2: Write README.md**
1762
1762
 
1763
1763
  ```markdown
1764
- # harness-engineering-auto-docs
1764
+ # harness-auto-docs
1765
1765
 
1766
1766
  Auto-generate [Harness Engineering](https://openai.com/research/harness-engineering) style documentation when your project creates a git tag. Opens a PR with updated docs.
1767
1767
 
@@ -1797,7 +1797,7 @@ When you push a tag (`git tag v1.2.0 && git push --tags`), a PR is automatically
1797
1797
  ## Local run
1798
1798
 
1799
1799
  ```bash
1800
- AI_MODEL=claude-sonnet-4-6 AI_API_KEY=sk-ant-... GITHUB_TOKEN=ghp_... npx harness-engineering-auto-docs
1800
+ AI_MODEL=claude-sonnet-4-6 AI_API_KEY=sk-ant-... GITHUB_TOKEN=ghp_... npx harness-auto-docs
1801
1801
  ```
1802
1802
 
1803
1803
  ## Supported models
@@ -1,11 +1,11 @@
1
- # Harness Engineering Auto Docs — Design Spec
1
+ # Harness Auto Docs — Design Spec
2
2
 
3
3
  **Date:** 2026-04-03
4
4
  **Status:** Approved
5
5
 
6
6
  ## Overview
7
7
 
8
- A CLI tool published as an npm package (`harness-engineering-auto-docs`) that automatically generates and updates Harness Engineering-style documentation when a GitHub/GitLab project creates a new tag. The tool runs via `npx harness-engineering-auto-docs` inside CI and opens a PR/MR with the updated docs.
8
+ A CLI tool published as an npm package (`harness-auto-docs`) that automatically generates and updates Harness Engineering-style documentation when a GitHub/GitLab project creates a new tag. The tool runs via `npx harness-auto-docs` inside CI and opens a PR/MR with the updated docs.
9
9
 
10
10
  **Core constraint:** Context source is git diff only (prev_tag → current_tag). No full-repo reads.
11
11
 
@@ -148,7 +148,7 @@ jobs:
148
148
  - uses: actions/checkout@v4
149
149
  with:
150
150
  fetch-depth: 0 # required: fetch all tags
151
- - run: npx harness-engineering-auto-docs@latest
151
+ - run: npx harness-auto-docs@latest
152
152
  env:
153
153
  AI_MODEL: claude-sonnet-4-6
154
154
  AI_API_KEY: ${{ secrets.AI_API_KEY }}
@@ -158,7 +158,7 @@ jobs:
158
158
  **Locally:**
159
159
 
160
160
  ```bash
161
- AI_MODEL=claude-sonnet-4-6 AI_API_KEY=sk-... GITHUB_TOKEN=... npx harness-engineering-auto-docs
161
+ AI_MODEL=claude-sonnet-4-6 AI_API_KEY=sk-... GITHUB_TOKEN=... npx harness-auto-docs
162
162
  ```
163
163
 
164
164
  ## Out of Scope
@@ -25,7 +25,7 @@ jobs:
25
25
  node-version: '20'
26
26
 
27
27
  - name: Generate and PR Harness Engineering docs
28
- run: npx harness-engineering-auto-docs@latest
28
+ run: npx harness-auto-docs@latest
29
29
  env:
30
30
  AI_MODEL: claude-sonnet-4-6 # or gpt-4o
31
31
  AI_API_KEY: ${{ secrets.AI_API_KEY }}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "harness-auto-docs",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Auto-generate Harness Engineering docs on git tag",
5
5
  "type": "module",
6
6
  "bin": {
7
- "harness-engineering-auto-docs": "./dist/cli.js"
7
+ "harness-auto-docs": "./dist/cli.js"
8
8
  },
9
9
  "scripts": {
10
10
  "build": "tsc",
@@ -26,5 +26,5 @@
26
26
  "engines": {
27
27
  "node": ">=18"
28
28
  },
29
- "packageManager": "10.33.0"
29
+ "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319"
30
30
  }
package/src/cli.ts CHANGED
@@ -94,7 +94,7 @@ async function main() {
94
94
  execSync(`git add ${writtenFiles.map(f => `"${f}"`).join(' ')}`);
95
95
  execSync(
96
96
  `git commit -m "docs: Harness Engineering docs update for ${diff.currentTag}"`,
97
- { env: { ...process.env, GIT_AUTHOR_NAME: 'harness-engineering-auto-docs', GIT_AUTHOR_EMAIL: 'bot@harness-engineering-auto-docs' } }
97
+ { env: { ...process.env, GIT_AUTHOR_NAME: 'harness-auto-docs', GIT_AUTHOR_EMAIL: 'bot@harness-auto-docs' } }
98
98
  );
99
99
  execSync(`git push -u origin ${branch}`);
100
100
 
@@ -103,7 +103,7 @@ async function main() {
103
103
  branch,
104
104
  title: `docs: Harness Engineering docs for ${diff.currentTag}`,
105
105
  body: [
106
- `Auto-generated by [harness-engineering-auto-docs](https://github.com/your-org/harness-engineering-auto-docs).`,
106
+ `Auto-generated by [harness-auto-docs](https://github.com/chooin/harness-auto-docs).`,
107
107
  ``,
108
108
  `Updates documentation based on changes from **${diff.prevTag}** to **${diff.currentTag}**.`,
109
109
  ``,
@@ -10,7 +10,7 @@ export class GitLabProvider implements PlatformProvider {
10
10
  }): Promise<string> {
11
11
  throw new Error(
12
12
  'GitLab provider is not yet implemented. ' +
13
- 'Contributions welcome: https://github.com/your-org/harness-engineering-auto-docs'
13
+ 'Contributions welcome: https://github.com/chooin/harness-auto-docs'
14
14
  );
15
15
  }
16
16
  }