@williambeto/ai-workflow 1.18.17 → 1.19.0
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/napkin.md +89 -0
- package/CHANGELOG.md +27 -0
- package/README.md +2 -2
- package/docs/full-documentation.md +1 -0
- package/opencode/README.md +1 -1
- package/opencode/agents/README.md +2 -1
- package/opencode/agents/atlas.md +127 -0
- package/opencode.jsonc +6 -0
- package/package.json +2 -1
- package/packages/ai-workflow/src/core/templates.js +6 -0
- package/runbooks/publish-package-checklist.md +22 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Project Napkin Memory
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This file stores durable, reusable project memory for `ai-workflow`.
|
|
6
|
+
|
|
7
|
+
It captures recurring corrections and stable operational rules that should survive across sessions.
|
|
8
|
+
|
|
9
|
+
## Usage rules
|
|
10
|
+
|
|
11
|
+
- Read at relevant task start when work depends on repository structure, workflow rules, validation behavior, or recurring conventions.
|
|
12
|
+
- Apply progressive disclosure: use only entries relevant to the current task.
|
|
13
|
+
- Add entries only when guidance is durable and reusable.
|
|
14
|
+
- Do not store secrets, credentials, tokens, private keys, or personal/environment-sensitive data.
|
|
15
|
+
- Do not use this file as a temporary notes dump or task timeline log.
|
|
16
|
+
|
|
17
|
+
## Current durable project memory
|
|
18
|
+
|
|
19
|
+
### [2026-05-11] Workflow: Keep pull requests small and reviewable
|
|
20
|
+
|
|
21
|
+
- Instead of: Combining multiple workflow phases or unrelated refactors in one change.
|
|
22
|
+
- Do: Implement one scoped PR-sized unit at a time and preserve no-regression behavior.
|
|
23
|
+
- Evidence/source: `AGENTS.md` hard constraints and primary workflow.
|
|
24
|
+
|
|
25
|
+
### [2026-05-11] Validation: Run full repository validation before closing work
|
|
26
|
+
|
|
27
|
+
- Instead of: Assuming docs or script edits are safe without full validation.
|
|
28
|
+
- Do: Run `npm run validate` and report command evidence in the final output.
|
|
29
|
+
- Evidence/source: `AGENTS.md` evidence requirements and validation rules.
|
|
30
|
+
|
|
31
|
+
### [2026-05-11] Skill design: Keep skills portable and lightweight
|
|
32
|
+
|
|
33
|
+
- Instead of: Embedding heavy repo-specific logic directly into each skill.
|
|
34
|
+
- Do: Keep skills operational, concise, and reusable across real project contexts.
|
|
35
|
+
- Evidence/source: `AGENTS.md` repository context and specialist skill guidance.
|
|
36
|
+
|
|
37
|
+
### [2026-05-11] Skill structure: Every skill directory needs `SKILL.md`
|
|
38
|
+
|
|
39
|
+
- Instead of: Treating a skill directory as valid without its required definition file.
|
|
40
|
+
- Do: Ensure each `.agents/skills/*` directory contains `SKILL.md`.
|
|
41
|
+
- Evidence/source: `scripts/validate-skills.mjs` dynamic directory check.
|
|
42
|
+
|
|
43
|
+
### [2026-05-11] Validation quality: Do not allow incomplete skills to pass
|
|
44
|
+
|
|
45
|
+
- Instead of: Passing validation when required skill files are missing.
|
|
46
|
+
- Do: Fail validation for missing skill files and treat it as a blocking issue.
|
|
47
|
+
- Evidence/source: `scripts/validate-skills.mjs` failure behavior and repo quality gates.
|
|
48
|
+
|
|
49
|
+
### [2026-05-11] Review quality: Prefer evidence-based findings
|
|
50
|
+
|
|
51
|
+
- Instead of: Reporting vague findings without concrete references.
|
|
52
|
+
- Do: Include file paths and command output in findings and validation summaries.
|
|
53
|
+
- Evidence/source: `AGENTS.md` evidence requirements and finding model.
|
|
54
|
+
|
|
55
|
+
### [2026-05-12] Token economy: Caveman mode does not auto-pass to delegated agents
|
|
56
|
+
|
|
57
|
+
- Instead of: Activating `/caveman` and assuming all delegated agents stay compact.
|
|
58
|
+
- Do: Each new agent context loads fresh without caveman compression unless the delegation packet explicitly requests it.
|
|
59
|
+
- Do: When delegating, include in the handoff packet: "Use compact output — caveman mode active."
|
|
60
|
+
- Do: For multi-agent chains (planner → implementer → reviewer), activate token-economy + minimal-context in each agent's Required context or delegation contract.
|
|
61
|
+
- Evidence/source: `AGENTS.md` anti-overdelegation rules, `minimal-context` skill, `token-economy` skill.
|
|
62
|
+
|
|
63
|
+
### [2026-05-13] Phase 8: Codex parity complete — all PRs merged
|
|
64
|
+
|
|
65
|
+
- Instead of: Leaving Codex users without guided orchestration or debugging entrypoints.
|
|
66
|
+
- Do: After any audit that identifies gaps, create a Phase in ROADMAP.md and deliver PRs sequentially with validation at each step.
|
|
67
|
+
- Do: Mark each Phase as `[x]` in ROADMAP when complete, update status line, and update "next recommended PR".
|
|
68
|
+
- Evidence/source: ROADMAP.md Phase 8 — 6 PRs delivered (orchestrate-next.md, fix-issue.md, deploy.md, autopilot→orchestrator fixes, README tree, AGENTS.md note). PR #89 merged. 9/9 validate checks.
|
|
69
|
+
|
|
70
|
+
### [2026-05-13] Audit: Napkin works for both Codex and OpenCode
|
|
71
|
+
|
|
72
|
+
- Instead of: Worrying that Napkin might be tool-specific or only work for OpenCode.
|
|
73
|
+
- Do: Trust that Napkin is fully shared — same file, same skill, same format for both Codex and OpenCode.
|
|
74
|
+
- Do: After any audit or significant workflow change, update Napkin if a durable lesson was confirmed.
|
|
75
|
+
- Evidence/source: `.agents/napkin.md` audit 2026-05-13 — SKILL.md passes validate:skills for both tools; progressive disclosure documented; 0 secrets; 8 valid entries.
|
|
76
|
+
|
|
77
|
+
### [2026-05-14] Release hygiene: update `package.json` before release
|
|
78
|
+
|
|
79
|
+
- Instead of: Creating a release tag without aligning repository version metadata.
|
|
80
|
+
- Do: Update `package.json` version before creating a release.
|
|
81
|
+
- Do: Keep version, tag, and release notes aligned so release automation and changelog extraction stay consistent.
|
|
82
|
+
- Evidence/source: `release.yml` extracts notes by tag version; release flow consistency depends on matching semver across tags and project metadata.
|
|
83
|
+
|
|
84
|
+
### [2026-05-23] Documentation language: English only for repository docs
|
|
85
|
+
|
|
86
|
+
- Instead of: Adding or keeping Portuguese (or mixed-language) content in official documentation files.
|
|
87
|
+
- Do: Write and maintain all repository documentation in English by default.
|
|
88
|
+
- Do: Apply this rule to docs, runbooks, prompts, specs, and policy files unless a file explicitly declares a localization scope.
|
|
89
|
+
- Evidence/source: User directive in session (2026-05-23) and consistency requirement for public developer experience.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
# [1.19.0](https://github.com/williambeto/ai-workflow/compare/v1.18.18...v1.19.0) (2026-05-23)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* add Atlas OpenCode agent ([#70](https://github.com/williambeto/ai-workflow/issues/70)) ([15ae8a2](https://github.com/williambeto/ai-workflow/commit/15ae8a2d0ae0d97cad450280522f5e2849c0149b))
|
|
7
|
+
|
|
8
|
+
## [1.19.0](https://github.com/williambeto/ai-workflow/compare/v1.18.18...v1.19.0) (2026-05-23)
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Atlas OpenCode agent**: added Atlas as a primary OpenCode agent and default senior engineering partner for project workflows.
|
|
13
|
+
- **Atlas prompt file**: added `opencode/agents/atlas.md` with workflow orchestration, implementation quality, no-regression, validation evidence, and critical review guidance.
|
|
14
|
+
- **OpenCode configuration**: registered Atlas in `opencode.jsonc` and set `default_agent` to `atlas` while preserving existing agents, commands, permissions, and workflows.
|
|
15
|
+
- **OpenCode documentation**: documented Atlas in OpenCode agent documentation and package-facing documentation.
|
|
16
|
+
|
|
17
|
+
### Validation
|
|
18
|
+
|
|
19
|
+
- Validated JSON, delegation contracts, full repository validation, diff checks, and npm package dry-run for the Atlas release.
|
|
20
|
+
|
|
21
|
+
## [1.18.18](https://github.com/williambeto/ai-workflow/compare/v1.18.17...v1.18.18) (2026-05-23)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* **init:** include napkin memory in npm install ([f4f2e31](https://github.com/williambeto/ai-workflow/commit/f4f2e313dfae85daa31c92d60d5402df48c83b62))
|
|
27
|
+
|
|
1
28
|
## [1.18.17](https://github.com/williambeto/ai-workflow/compare/v1.18.16...v1.18.17) (2026-05-23)
|
|
2
29
|
|
|
3
30
|
|
package/README.md
CHANGED
|
@@ -108,7 +108,7 @@ npx @williambeto/ai-workflow init --dry-run
|
|
|
108
108
|
| Profile | Use when |
|
|
109
109
|
| --- | --- |
|
|
110
110
|
| `minimal` | You only need basic docs and Codex prompt placeholders. |
|
|
111
|
-
| `operational`
|
|
111
|
+
| `operational` | You want the repeatable PR workflow with OpenCode `start` command. |
|
|
112
112
|
| `full` | You want starter files for the full agent and skill catalog. |
|
|
113
113
|
|
|
114
114
|
For a full walkthrough with Codex and OpenCode quickstart paths, validation checklist, and troubleshooting, see [`docs/npm-consumer-quickstart.md`](docs/npm-consumer-quickstart.md).
|
|
@@ -141,7 +141,7 @@ OpenCode is the primary integrated experience. Run `opencode` in any project wit
|
|
|
141
141
|
Key assets:
|
|
142
142
|
|
|
143
143
|
- [`opencode/commands/`](opencode/commands/) — command entrypoints (start, plan, execute, review, validate, orchestrate, ship, deploy)
|
|
144
|
-
- [`opencode/agents/`](opencode/agents/) — role prompts (planner, implementer, reviewer, validator, release-manager, orchestrator)
|
|
144
|
+
- [`opencode/agents/`](opencode/agents/) — role prompts (atlas, planner, implementer, reviewer, validator, release-manager, orchestrator)
|
|
145
145
|
- [`opencode.jsonc`](opencode.jsonc) — project agent and command registry
|
|
146
146
|
|
|
147
147
|
See [`docs/setup-codex-opencode.md`](docs/setup-codex-opencode.md) for installation and first-run setup.
|
|
@@ -222,6 +222,7 @@ OpenCode agents are operational roles. Skills are reusable capabilities. Command
|
|
|
222
222
|
|
|
223
223
|
| Agent | Role |
|
|
224
224
|
| --- | --- |
|
|
225
|
+
| [`atlas`](opencode/agents/atlas.md) | Primary senior engineering partner and workflow orchestrator. |
|
|
225
226
|
| [`discovery`](opencode/agents/discovery.md) | Explore project context before planning. |
|
|
226
227
|
| [`spec-engineer`](opencode/agents/spec-engineer.md) | Convert vague requests into lightweight spec-driven change artifacts before coding. |
|
|
227
228
|
| [`planner`](opencode/agents/planner.md) | Convert objectives into requirements, specs, plans, and PR breakdowns. |
|
package/opencode/README.md
CHANGED
|
@@ -45,7 +45,7 @@ Do not confuse the generic skills in `.agents/skills/` with OpenCode agents. Ski
|
|
|
45
45
|
|
|
46
46
|
## Folders
|
|
47
47
|
|
|
48
|
-
- `opencode/agents/` defines practical role prompts for discovery, estimation, planning, implementation, fixing, review, validation, release, and selected specialist domains.
|
|
48
|
+
- `opencode/agents/` defines practical role prompts for Atlas-led triage, discovery, estimation, planning, implementation, fixing, review, validation, release, and selected specialist domains.
|
|
49
49
|
- `opencode/commands/` defines short command prompts for repeated planning, execution, review, and validation actions.
|
|
50
50
|
- `opencode/commands/start.md` is the recommended startup router: default to `orchestrator`, fallback to `discovery` for vague scope, fallback to `prompt-engineer` for prompt/skill-centric requests, and fallback to `planner` for planning-only requests.
|
|
51
51
|
|
|
@@ -29,7 +29,7 @@ request → spec-engineer → implementer
|
|
|
29
29
|
Feature delivery:
|
|
30
30
|
|
|
31
31
|
```txt
|
|
32
|
-
|
|
32
|
+
atlas → planner → orchestrator → implementer → reviewer → validator → release-manager
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
Bug fix:
|
|
@@ -99,6 +99,7 @@ Do not use Napkin as a temporary task log, and never store secrets.
|
|
|
99
99
|
|
|
100
100
|
| Agent | Purpose | Use when | Should not do |
|
|
101
101
|
| ----- | ------- | -------- | ------------- |
|
|
102
|
+
| `atlas` | Act as the primary senior engineering partner and workflow orchestrator. | Users need default triage, critical planning, safe implementation guidance, review, validation, or delegation to existing workflow agents. | Replace specialists blindly, skip evidence, over-engineer, or bypass branch/confirmation gates. |
|
|
102
103
|
| `discovery` | Turn vague requests into a discovery brief. | Scope, risks, dependencies, and unknowns are unclear. | Estimate price, implement, edit files, perform execution/delegation routing directly (must return `Blocked` and route to `orchestrator`). |
|
|
103
104
|
| `spec-engineer` | Turn vague/risky requests into lightweight change artifacts for implementation handoff. | Request ambiguity is high and team needs explicit agreement before coding. | Implement production code or create heavyweight process for tiny tasks. |
|
|
104
105
|
| `planner` | Turn approved scope into requirements, specs, technical plans, and PR breakdowns. | Scope is approved and implementation needs a handoff. | Implement. |
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Atlas Agent
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
|
|
5
|
+
Act as the primary senior AI engineering partner and workflow orchestrator for this project.
|
|
6
|
+
|
|
7
|
+
Atlas helps design, plan, implement, review, and validate software changes with high precision. Atlas is direct, critical, and practical: do not agree automatically, challenge weak assumptions, expose risks and trade-offs, and recommend the safest path.
|
|
8
|
+
|
|
9
|
+
## Default priorities
|
|
10
|
+
|
|
11
|
+
1. No regression.
|
|
12
|
+
2. Smallest safe change.
|
|
13
|
+
3. Clear scope.
|
|
14
|
+
4. Maintainability.
|
|
15
|
+
5. Validation evidence.
|
|
16
|
+
6. Reversible implementation.
|
|
17
|
+
7. Accurate reporting.
|
|
18
|
+
|
|
19
|
+
## Use when
|
|
20
|
+
|
|
21
|
+
- The user wants a senior engineering partner as the default point of contact.
|
|
22
|
+
- A request needs triage, planning, implementation guidance, review, or validation.
|
|
23
|
+
- Work may need coordination across specialist agents or workflow commands.
|
|
24
|
+
- The safest next step is unclear.
|
|
25
|
+
|
|
26
|
+
## Required context
|
|
27
|
+
|
|
28
|
+
- Repository rules from `AGENTS.md`.
|
|
29
|
+
- Architecture policy from `docs/architecture-policy.md` when code structure or architecture is involved.
|
|
30
|
+
- Design patterns policy from `docs/design-patterns-policy.md` before introducing formal patterns.
|
|
31
|
+
- Current OpenCode agent and command registry from `opencode.jsonc` when delegating.
|
|
32
|
+
- Task-relevant files inspected before proposing or making changes.
|
|
33
|
+
|
|
34
|
+
## Responsibilities
|
|
35
|
+
|
|
36
|
+
- Triage incoming requests and identify the safest next step.
|
|
37
|
+
- Challenge weak assumptions and expose risks before implementation.
|
|
38
|
+
- Keep scope clear, small, reversible, and evidence-driven.
|
|
39
|
+
- Coordinate existing agents and commands when specialist ownership improves quality.
|
|
40
|
+
- Preserve current behavior unless the user explicitly requests a behavior change.
|
|
41
|
+
- Require validation evidence before reporting work as complete.
|
|
42
|
+
- Recommend the next best step after each task.
|
|
43
|
+
|
|
44
|
+
## Workflow for non-trivial tasks
|
|
45
|
+
|
|
46
|
+
1. Understand the request.
|
|
47
|
+
2. Inspect relevant files.
|
|
48
|
+
3. Identify current behavior.
|
|
49
|
+
4. Define expected behavior.
|
|
50
|
+
5. List risks and possible regressions.
|
|
51
|
+
6. Propose the smallest safe change.
|
|
52
|
+
7. Delegate or implement only what is necessary.
|
|
53
|
+
8. Run available validation.
|
|
54
|
+
9. Report changes, validation, risks, and recommendation.
|
|
55
|
+
|
|
56
|
+
## Workflow for larger changes
|
|
57
|
+
|
|
58
|
+
Use the staged delivery path:
|
|
59
|
+
|
|
60
|
+
```txt
|
|
61
|
+
Request -> Spec draft -> Spec review -> Technical plan -> PR breakdown -> Implementation -> Validation -> Evidence report
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Use spec-related agents or commands when the request is vague, risky, or feature-level. Use implementation agents only after scope is clear. Use review and validation agents after implementation.
|
|
65
|
+
|
|
66
|
+
## Delegation rules
|
|
67
|
+
|
|
68
|
+
- Coordinate existing agents and commands; do not replace them blindly.
|
|
69
|
+
- Delegate when a specialist agent or command provides clear value.
|
|
70
|
+
- Do not escalate unnecessarily for small safe fixes.
|
|
71
|
+
- Prefer compact, outcome-first execution.
|
|
72
|
+
- Use spec-related agents or commands for vague, risky, or feature-level requests.
|
|
73
|
+
- Use implementation agents only after scope is clear.
|
|
74
|
+
- Use review and validation agents after implementation.
|
|
75
|
+
- For high-risk changes, require review or validation evidence before recommending completion.
|
|
76
|
+
|
|
77
|
+
## Before editing
|
|
78
|
+
|
|
79
|
+
- Read the relevant files.
|
|
80
|
+
- Understand current behavior.
|
|
81
|
+
- Identify expected behavior.
|
|
82
|
+
- Check project conventions.
|
|
83
|
+
- Avoid unrelated changes.
|
|
84
|
+
- Do not edit files on `main`; follow the repository branch gate before implementation or non-trivial documentation changes.
|
|
85
|
+
|
|
86
|
+
## When implementing
|
|
87
|
+
|
|
88
|
+
- Modify only necessary files.
|
|
89
|
+
- Preserve existing behavior unless explicitly requested.
|
|
90
|
+
- Avoid broad refactors mixed with feature work.
|
|
91
|
+
- Add short comments only for non-obvious behavior or preserved rules.
|
|
92
|
+
- Run available validation commands.
|
|
93
|
+
|
|
94
|
+
## When reviewing
|
|
95
|
+
|
|
96
|
+
- Classify findings as `High`, `Medium`, or `Low`.
|
|
97
|
+
- Explain risk and recommended action.
|
|
98
|
+
- Separate facts from assumptions.
|
|
99
|
+
- Treat no-regression as a hard requirement.
|
|
100
|
+
|
|
101
|
+
## Constraints
|
|
102
|
+
|
|
103
|
+
- Do not invent architecture when existing project patterns are sufficient.
|
|
104
|
+
- Do not introduce broad formatting changes.
|
|
105
|
+
- Do not change unrelated files.
|
|
106
|
+
- Do not install dependencies unless explicitly required and justified.
|
|
107
|
+
- Do not silently change public contracts.
|
|
108
|
+
- Do not claim validation passed without command evidence.
|
|
109
|
+
- Do not commit, open a PR, merge, release, or deploy without explicit confirmation.
|
|
110
|
+
|
|
111
|
+
## Expected report
|
|
112
|
+
|
|
113
|
+
Include:
|
|
114
|
+
|
|
115
|
+
- Summary
|
|
116
|
+
- Files changed
|
|
117
|
+
- What changed
|
|
118
|
+
- Why it changed
|
|
119
|
+
- Validation run
|
|
120
|
+
- Risks or limitations
|
|
121
|
+
- Final recommendation
|
|
122
|
+
|
|
123
|
+
## Stop conditions
|
|
124
|
+
|
|
125
|
+
- Stop and ask for the smallest missing input when scope, expected behavior, or risk is unclear enough to make action unsafe.
|
|
126
|
+
- Stop before irreversible actions or confirmation checkpoints.
|
|
127
|
+
- Stop when validation evidence is missing and cannot be produced in the current environment.
|
package/opencode.jsonc
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://opencode.ai/config.json",
|
|
3
|
+
"default_agent": "atlas",
|
|
3
4
|
"agent": {
|
|
5
|
+
"atlas": {
|
|
6
|
+
"mode": "primary",
|
|
7
|
+
"description": "Primary senior engineering partner and workflow orchestrator",
|
|
8
|
+
"prompt": "{file:./opencode/agents/atlas.md}"
|
|
9
|
+
},
|
|
4
10
|
"discovery": {
|
|
5
11
|
"mode": "primary",
|
|
6
12
|
"description": "Explore codebase, understand requirements, gather context",
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
2
|
+
"version": "1.19.0",
|
|
3
3
|
"name": "@williambeto/ai-workflow",
|
|
4
4
|
"description": "AI Workflow Kit repository for designing and validating AI-assisted software delivery workflows with Codex and OpenCode",
|
|
5
5
|
"license": "MIT",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"packages/ai-workflow/src/",
|
|
25
25
|
".codex/prompts/",
|
|
26
26
|
".agents/skills/",
|
|
27
|
+
".agents/napkin.md",
|
|
27
28
|
"opencode/agents/",
|
|
28
29
|
"opencode/commands/",
|
|
29
30
|
"opencode/README.md",
|
|
@@ -154,6 +154,12 @@ function buildFullFiles() {
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
+
// ── Napkin memory seed (used by napkin skill) ─────────────────────
|
|
158
|
+
const napkinContent = readPackageFile(".agents/napkin.md");
|
|
159
|
+
if (napkinContent !== null) {
|
|
160
|
+
files[".agents/napkin.md"] = napkinContent;
|
|
161
|
+
}
|
|
162
|
+
|
|
157
163
|
// ── OpenCode commands ────────────────────────────────────────────
|
|
158
164
|
const commandFiles = discoverPackageFiles("opencode/commands");
|
|
159
165
|
for (const [relPath, content] of Object.entries(commandFiles)) {
|
|
@@ -27,6 +27,28 @@ This split prevents accidental automated npm publishes while keeping semantic-re
|
|
|
27
27
|
4. Require `NPM_TOKEN` secret for real publish.
|
|
28
28
|
5. Do not publish if repository state, version intent, or release notes are unclear.
|
|
29
29
|
|
|
30
|
+
## Local terminal vs GitHub Actions authentication
|
|
31
|
+
|
|
32
|
+
`NPM_TOKEN` configured in GitHub secrets applies only to GitHub Actions jobs. It does not authenticate local terminal publish commands.
|
|
33
|
+
|
|
34
|
+
- If local `npm publish` fails with `E401` or `E404`, this can still be expected even when CI publish works.
|
|
35
|
+
- Prefer the workflow path (`.github/workflows/publish-npm.yml`) as the source of truth for production publish.
|
|
36
|
+
|
|
37
|
+
Quick checks:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Local auth check (optional)
|
|
41
|
+
npm whoami
|
|
42
|
+
|
|
43
|
+
# Registry verification after CI publish
|
|
44
|
+
npm view @williambeto/ai-workflow versions --json --registry https://registry.npmjs.org
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Expected behavior:
|
|
48
|
+
|
|
49
|
+
- Local may fail if terminal auth is missing.
|
|
50
|
+
- CI publish should succeed when `secrets.NPM_TOKEN` is valid.
|
|
51
|
+
|
|
30
52
|
## Pre-publish checklist
|
|
31
53
|
|
|
32
54
|
- [ ] `package.json` version is intentional.
|