pmp-gywd 3.3.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/LICENSE +27 -0
- package/README.md +567 -0
- package/bin/install.js +348 -0
- package/commands/gywd/add-phase.md +207 -0
- package/commands/gywd/anticipate.md +271 -0
- package/commands/gywd/bootstrap.md +336 -0
- package/commands/gywd/challenge.md +344 -0
- package/commands/gywd/check-drift.md +144 -0
- package/commands/gywd/complete-milestone.md +106 -0
- package/commands/gywd/consider-issues.md +202 -0
- package/commands/gywd/context.md +93 -0
- package/commands/gywd/create-roadmap.md +115 -0
- package/commands/gywd/deps.md +169 -0
- package/commands/gywd/digest.md +138 -0
- package/commands/gywd/discuss-milestone.md +47 -0
- package/commands/gywd/discuss-phase.md +60 -0
- package/commands/gywd/execute-plan.md +161 -0
- package/commands/gywd/extract-decisions.md +325 -0
- package/commands/gywd/health.md +150 -0
- package/commands/gywd/help.md +556 -0
- package/commands/gywd/history.md +278 -0
- package/commands/gywd/impact.md +317 -0
- package/commands/gywd/init.md +95 -0
- package/commands/gywd/insert-phase.md +227 -0
- package/commands/gywd/list-phase-assumptions.md +50 -0
- package/commands/gywd/map-codebase.md +84 -0
- package/commands/gywd/memory.md +159 -0
- package/commands/gywd/new-milestone.md +59 -0
- package/commands/gywd/new-project.md +315 -0
- package/commands/gywd/pause-work.md +123 -0
- package/commands/gywd/plan-fix.md +205 -0
- package/commands/gywd/plan-phase.md +93 -0
- package/commands/gywd/preview-plan.md +139 -0
- package/commands/gywd/profile.md +363 -0
- package/commands/gywd/progress.md +317 -0
- package/commands/gywd/remove-phase.md +338 -0
- package/commands/gywd/research-phase.md +91 -0
- package/commands/gywd/resume-work.md +40 -0
- package/commands/gywd/rollback.md +179 -0
- package/commands/gywd/status.md +42 -0
- package/commands/gywd/sync-github.md +234 -0
- package/commands/gywd/verify-work.md +71 -0
- package/commands/gywd/why.md +251 -0
- package/docs/COMMANDS.md +722 -0
- package/docs/CONTRIBUTING.md +342 -0
- package/docs/EXAMPLES.md +535 -0
- package/docs/GETTING-STARTED.md +262 -0
- package/docs/README.md +55 -0
- package/docs/RELEASING.md +159 -0
- package/get-your-work-done/core/agent-patterns.md +331 -0
- package/get-your-work-done/core/architecture.md +334 -0
- package/get-your-work-done/core/context-model-schema.json +154 -0
- package/get-your-work-done/core/decisions-schema.json +193 -0
- package/get-your-work-done/core/learning-state-schema.json +133 -0
- package/get-your-work-done/core/profile-schema.json +257 -0
- package/get-your-work-done/references/adaptive-decomposition.md +175 -0
- package/get-your-work-done/references/checkpoints.md +287 -0
- package/get-your-work-done/references/confidence-scoring.md +169 -0
- package/get-your-work-done/references/continuation-format.md +255 -0
- package/get-your-work-done/references/git-integration.md +254 -0
- package/get-your-work-done/references/plan-format.md +428 -0
- package/get-your-work-done/references/principles.md +157 -0
- package/get-your-work-done/references/questioning.md +162 -0
- package/get-your-work-done/references/research-pitfalls.md +215 -0
- package/get-your-work-done/references/scope-estimation.md +172 -0
- package/get-your-work-done/references/tdd.md +263 -0
- package/get-your-work-done/templates/codebase/architecture.md +255 -0
- package/get-your-work-done/templates/codebase/concerns.md +310 -0
- package/get-your-work-done/templates/codebase/conventions.md +307 -0
- package/get-your-work-done/templates/codebase/integrations.md +280 -0
- package/get-your-work-done/templates/codebase/stack.md +186 -0
- package/get-your-work-done/templates/codebase/structure.md +285 -0
- package/get-your-work-done/templates/codebase/testing.md +480 -0
- package/get-your-work-done/templates/config.json +18 -0
- package/get-your-work-done/templates/context.md +161 -0
- package/get-your-work-done/templates/continue-here.md +78 -0
- package/get-your-work-done/templates/discovery.md +146 -0
- package/get-your-work-done/templates/issues.md +32 -0
- package/get-your-work-done/templates/milestone-archive.md +123 -0
- package/get-your-work-done/templates/milestone-context.md +93 -0
- package/get-your-work-done/templates/milestone.md +115 -0
- package/get-your-work-done/templates/phase-prompt.md +303 -0
- package/get-your-work-done/templates/project.md +184 -0
- package/get-your-work-done/templates/research.md +529 -0
- package/get-your-work-done/templates/roadmap.md +196 -0
- package/get-your-work-done/templates/state.md +210 -0
- package/get-your-work-done/templates/summary.md +273 -0
- package/get-your-work-done/templates/uat-issues.md +143 -0
- package/get-your-work-done/workflows/complete-milestone.md +643 -0
- package/get-your-work-done/workflows/create-milestone.md +416 -0
- package/get-your-work-done/workflows/create-roadmap.md +481 -0
- package/get-your-work-done/workflows/discovery-phase.md +293 -0
- package/get-your-work-done/workflows/discuss-milestone.md +236 -0
- package/get-your-work-done/workflows/discuss-phase.md +247 -0
- package/get-your-work-done/workflows/execute-phase.md +1625 -0
- package/get-your-work-done/workflows/list-phase-assumptions.md +178 -0
- package/get-your-work-done/workflows/map-codebase.md +434 -0
- package/get-your-work-done/workflows/plan-phase.md +488 -0
- package/get-your-work-done/workflows/research-phase.md +436 -0
- package/get-your-work-done/workflows/resume-project.md +287 -0
- package/get-your-work-done/workflows/transition.md +580 -0
- package/get-your-work-done/workflows/verify-work.md +202 -0
- package/lib/automation/dependency-analyzer.js +635 -0
- package/lib/automation/doc-generator.js +643 -0
- package/lib/automation/index.js +42 -0
- package/lib/automation/test-generator.js +628 -0
- package/lib/context/context-analyzer.js +554 -0
- package/lib/context/context-cache.js +426 -0
- package/lib/context/context-predictor.js +622 -0
- package/lib/context/index.js +44 -0
- package/lib/memory/confidence-calibrator.js +484 -0
- package/lib/memory/feedback-collector.js +551 -0
- package/lib/memory/global-memory.js +465 -0
- package/lib/memory/index.js +75 -0
- package/lib/memory/pattern-aggregator.js +487 -0
- package/lib/memory/team-sync.js +501 -0
- package/lib/profile/index.js +24 -0
- package/lib/profile/pattern-learner.js +303 -0
- package/lib/profile/profile-manager.js +445 -0
- package/lib/questioning/index.js +49 -0
- package/lib/questioning/question-engine.js +311 -0
- package/lib/questioning/question-templates.js +315 -0
- package/lib/validators/command-validator.js +188 -0
- package/lib/validators/index.js +29 -0
- package/lib/validators/schema-validator.js +183 -0
- package/package.json +61 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# Getting Started with GYWD
|
|
2
|
+
|
|
3
|
+
> From zero to your first AI-assisted feature in 10 minutes.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- **Node.js 18+** installed
|
|
8
|
+
- **Claude Code CLI** installed and authenticated
|
|
9
|
+
- A project to work on (or an idea for one)
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
### Quick Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx pmp-gywd
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Choose:
|
|
20
|
+
- **Global** — Available in all projects (recommended)
|
|
21
|
+
- **Local** — This project only
|
|
22
|
+
|
|
23
|
+
### Verify Installation
|
|
24
|
+
|
|
25
|
+
Open Claude Code and run:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
/gywd:help
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
You should see 40 commands listed. If commands don't appear, restart Claude Code.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Choose Your Path
|
|
36
|
+
|
|
37
|
+
| Your Situation | Start Here |
|
|
38
|
+
|----------------|------------|
|
|
39
|
+
| New idea, starting fresh | [Path A: New Project](#path-a-new-project) |
|
|
40
|
+
| Existing codebase | [Path B: Existing Codebase](#path-b-existing-codebase) |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Path A: New Project
|
|
45
|
+
|
|
46
|
+
**Time:** ~5 minutes
|
|
47
|
+
|
|
48
|
+
You have an idea and want to build it from scratch.
|
|
49
|
+
|
|
50
|
+
### Step 1: Define Your Project
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
/gywd:new-project
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
GYWD will ask you about:
|
|
57
|
+
- What problem you're solving
|
|
58
|
+
- Who the users are
|
|
59
|
+
- Core features needed
|
|
60
|
+
- Technical preferences (language, framework)
|
|
61
|
+
|
|
62
|
+
**Example answers:**
|
|
63
|
+
```
|
|
64
|
+
Problem: "I want to track my daily habits"
|
|
65
|
+
Users: "Just me, for personal use"
|
|
66
|
+
Features: "Add habits, mark complete, see streaks"
|
|
67
|
+
Tech: "Node.js CLI app"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
After answering, GYWD creates:
|
|
71
|
+
- `.planning/PROJECT.md` — Your vision documented
|
|
72
|
+
- `.planning/STATE.md` — Session memory
|
|
73
|
+
- Developer profile (learns your patterns over time)
|
|
74
|
+
|
|
75
|
+
### Step 2: Create Your Roadmap
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
/gywd:create-roadmap
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
GYWD breaks your idea into phases. For example:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Phase 1: Core data model
|
|
85
|
+
Phase 2: CLI interface
|
|
86
|
+
Phase 3: Streak tracking
|
|
87
|
+
Phase 4: Notifications
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Creates `.planning/ROADMAP.md` with the full plan.
|
|
91
|
+
|
|
92
|
+
### Step 3: Plan Your First Phase
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
/gywd:plan-phase 1
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Creates a detailed task plan in `.planning/phases/01-*/01-01-PLAN.md`.
|
|
99
|
+
|
|
100
|
+
Review the plan — it shows exactly what will be built.
|
|
101
|
+
|
|
102
|
+
### Step 4: Execute!
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
/gywd:execute-plan
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
GYWD builds your first phase with AI assistance:
|
|
109
|
+
- Writes code based on your decisions
|
|
110
|
+
- Tracks every choice made
|
|
111
|
+
- Creates summary when done
|
|
112
|
+
|
|
113
|
+
### Step 5: Continue Tomorrow
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
/gywd:progress
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
See where you left off and what's next. GYWD routes you to the right command.
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
/gywd:resume-work
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Restore full context from your previous session.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Path B: Existing Codebase
|
|
130
|
+
|
|
131
|
+
**Time:** ~5 minutes
|
|
132
|
+
|
|
133
|
+
You have code and want GYWD to understand it.
|
|
134
|
+
|
|
135
|
+
### Step 1: Analyze Your Codebase
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
/gywd:bootstrap
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
GYWD scans your code and creates:
|
|
142
|
+
|
|
143
|
+
| File | Contents |
|
|
144
|
+
|------|----------|
|
|
145
|
+
| `.planning/codebase/STACK.md` | Technologies used |
|
|
146
|
+
| `.planning/codebase/ARCHITECTURE.md` | Design patterns |
|
|
147
|
+
| `.planning/codebase/CONVENTIONS.md` | Coding standards |
|
|
148
|
+
| `.planning/codebase/TESTING.md` | Test approach |
|
|
149
|
+
| `.planning/core/decisions.json` | Decision graph from git |
|
|
150
|
+
|
|
151
|
+
### Step 2: Understand Existing Code
|
|
152
|
+
|
|
153
|
+
Trace any file to its original decisions:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
/gywd:why src/auth/login.ts
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Output:
|
|
160
|
+
```
|
|
161
|
+
DEC-015: JWT authentication [88% confidence]
|
|
162
|
+
|
|
163
|
+
Rationale: Stateless auth for API scalability
|
|
164
|
+
Alternatives rejected: Sessions (state management overhead)
|
|
165
|
+
Source: Commit a3f2c1 "Add JWT auth layer"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
See how a feature evolved:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
/gywd:history "authentication"
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Step 3: Add a New Feature
|
|
175
|
+
|
|
176
|
+
Define what you're adding (GYWD respects existing architecture):
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
/gywd:new-project
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Then plan and execute:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
/gywd:create-roadmap
|
|
186
|
+
/gywd:plan-phase 1
|
|
187
|
+
/gywd:execute-plan
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
GYWD ensures new code is consistent with existing patterns.
|
|
191
|
+
|
|
192
|
+
### Step 4: Daily Workflow
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
/gywd:progress # Start of day — see what's next
|
|
196
|
+
/gywd:pause-work # Before stopping — save context
|
|
197
|
+
/gywd:resume-work # Pick up where you left off
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Quick Command Reference
|
|
203
|
+
|
|
204
|
+
| When You Want To... | Run |
|
|
205
|
+
|---------------------|-----|
|
|
206
|
+
| Start a new project | `/gywd:new-project` |
|
|
207
|
+
| Analyze existing code | `/gywd:bootstrap` |
|
|
208
|
+
| See project status | `/gywd:progress` |
|
|
209
|
+
| Plan next phase | `/gywd:plan-phase` |
|
|
210
|
+
| Build the plan | `/gywd:execute-plan` |
|
|
211
|
+
| Understand why code exists | `/gywd:why <file>` |
|
|
212
|
+
| Get AI review | `/gywd:challenge` |
|
|
213
|
+
| Save work in progress | `/gywd:pause-work` |
|
|
214
|
+
| Resume previous session | `/gywd:resume-work` |
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## What's Next?
|
|
219
|
+
|
|
220
|
+
**Explore more commands:**
|
|
221
|
+
```bash
|
|
222
|
+
/gywd:help
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Get adversarial review of your plans:**
|
|
226
|
+
```bash
|
|
227
|
+
/gywd:challenge .planning/phases/01-*/01-01-PLAN.md
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Pre-load context before working:**
|
|
231
|
+
```bash
|
|
232
|
+
/gywd:anticipate --for "user authentication"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**View your learned preferences:**
|
|
236
|
+
```bash
|
|
237
|
+
/gywd:profile
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**See complete workflow examples:**
|
|
241
|
+
- [Workflow Examples](EXAMPLES.md) — End-to-end scenarios
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Troubleshooting
|
|
246
|
+
|
|
247
|
+
**Commands not appearing?**
|
|
248
|
+
- Restart Claude Code
|
|
249
|
+
- Verify files in `~/.claude/commands/gywd/`
|
|
250
|
+
|
|
251
|
+
**Nothing happening when commands run?**
|
|
252
|
+
- Check `.planning/` directory exists
|
|
253
|
+
- Run `/gywd:init` if missing
|
|
254
|
+
|
|
255
|
+
**Lost context mid-session?**
|
|
256
|
+
- Run `/gywd:resume-work`
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
*See also: [Commands](COMMANDS.md) | [Examples](EXAMPLES.md) | [README](../README.md)*
|
|
261
|
+
|
|
262
|
+
*Need help? [Open an issue](https://github.com/cyberbloke9/pmp-gywd/issues)*
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# GYWD Documentation
|
|
2
|
+
|
|
3
|
+
> Complete documentation for the Get Your Work Done framework.
|
|
4
|
+
|
|
5
|
+
## Quick Links
|
|
6
|
+
|
|
7
|
+
| Document | Description |
|
|
8
|
+
|----------|-------------|
|
|
9
|
+
| [Getting Started](GETTING-STARTED.md) | Installation and first steps |
|
|
10
|
+
| [Commands](COMMANDS.md) | All 40 commands with usage |
|
|
11
|
+
| [Examples](EXAMPLES.md) | End-to-end workflow examples |
|
|
12
|
+
| [Contributing](CONTRIBUTING.md) | Development and contribution guide |
|
|
13
|
+
| [Releasing](RELEASING.md) | Maintainer release guide |
|
|
14
|
+
|
|
15
|
+
## For New Users
|
|
16
|
+
|
|
17
|
+
**Recommended reading order:**
|
|
18
|
+
|
|
19
|
+
1. **[Getting Started](GETTING-STARTED.md)** — Install GYWD and run your first commands
|
|
20
|
+
2. **[Examples](EXAMPLES.md)** — See complete workflows in action
|
|
21
|
+
3. **[Commands](COMMANDS.md)** — Reference when you need specific command details
|
|
22
|
+
|
|
23
|
+
## For Contributors
|
|
24
|
+
|
|
25
|
+
1. **[Contributing](CONTRIBUTING.md)** — Development setup and guidelines
|
|
26
|
+
2. **[Commands](COMMANDS.md)** — Understand the command structure
|
|
27
|
+
3. **[Releasing](RELEASING.md)** — How to create releases (maintainers)
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Install
|
|
33
|
+
npx pmp-gywd
|
|
34
|
+
|
|
35
|
+
# Verify
|
|
36
|
+
/gywd:help
|
|
37
|
+
|
|
38
|
+
# Start a new project
|
|
39
|
+
/gywd:new-project
|
|
40
|
+
|
|
41
|
+
# Or analyze existing code
|
|
42
|
+
/gywd:bootstrap
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Main README
|
|
46
|
+
|
|
47
|
+
See the [main README](../README.md) for:
|
|
48
|
+
- Feature overview
|
|
49
|
+
- Architecture diagrams
|
|
50
|
+
- Project structure
|
|
51
|
+
- Troubleshooting
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
*GYWD v3.3 — 40 commands · 557 tests · Zero runtime deps*
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Releasing GYWD
|
|
2
|
+
|
|
3
|
+
> Guide for maintainers on creating new releases.
|
|
4
|
+
|
|
5
|
+
## Release Checklist
|
|
6
|
+
|
|
7
|
+
Before creating a release:
|
|
8
|
+
|
|
9
|
+
- [ ] All tests pass: `npm test`
|
|
10
|
+
- [ ] Linting passes: `npm run lint`
|
|
11
|
+
- [ ] Validations pass: `npm run validate:all`
|
|
12
|
+
- [ ] CHANGELOG.md updated with new version
|
|
13
|
+
- [ ] package.json version bumped
|
|
14
|
+
- [ ] All changes committed and pushed
|
|
15
|
+
|
|
16
|
+
## Quick Release
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# 1. Ensure everything passes
|
|
20
|
+
npm run release
|
|
21
|
+
|
|
22
|
+
# 2. Create and push tag
|
|
23
|
+
git tag v3.3.0
|
|
24
|
+
git push origin v3.3.0
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The GitHub Actions release workflow handles the rest automatically.
|
|
28
|
+
|
|
29
|
+
## Detailed Process
|
|
30
|
+
|
|
31
|
+
### 1. Prepare the Release
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Run all checks
|
|
35
|
+
npm run release
|
|
36
|
+
|
|
37
|
+
# This runs: lint + validate:all + test
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 2. Update Version
|
|
41
|
+
|
|
42
|
+
Edit `package.json`:
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"version": "X.Y.Z"
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Update `CHANGELOG.md` with the new version section.
|
|
50
|
+
|
|
51
|
+
### 3. Commit Changes
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git add package.json CHANGELOG.md
|
|
55
|
+
git commit -m "chore: bump version to vX.Y.Z"
|
|
56
|
+
git push
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 4. Create Tag
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Create annotated tag
|
|
63
|
+
git tag -a vX.Y.Z -m "Release vX.Y.Z"
|
|
64
|
+
|
|
65
|
+
# Push tag to trigger release
|
|
66
|
+
git push origin vX.Y.Z
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 5. Automated Pipeline
|
|
70
|
+
|
|
71
|
+
When you push a tag starting with `v`, GitHub Actions:
|
|
72
|
+
|
|
73
|
+
1. **Runs tests** — Ensures code passes before publish
|
|
74
|
+
2. **Publishes to npm** — Uses `NPM_TOKEN` secret
|
|
75
|
+
3. **Creates GitHub Release** — With auto-generated changelog
|
|
76
|
+
|
|
77
|
+
## GitHub Actions Workflows
|
|
78
|
+
|
|
79
|
+
### CI Pipeline (`.github/workflows/ci.yml`)
|
|
80
|
+
|
|
81
|
+
Runs on every push and PR:
|
|
82
|
+
- Multi-platform tests (Ubuntu, macOS, Windows)
|
|
83
|
+
- Multi-Node version tests (16, 18, 20, 22)
|
|
84
|
+
- ESLint
|
|
85
|
+
- Schema/command validation
|
|
86
|
+
- Security audit
|
|
87
|
+
|
|
88
|
+
### Release Pipeline (`.github/workflows/release.yml`)
|
|
89
|
+
|
|
90
|
+
Runs on tag push (`v*`):
|
|
91
|
+
- Pre-release tests
|
|
92
|
+
- npm publish
|
|
93
|
+
- GitHub Release creation
|
|
94
|
+
|
|
95
|
+
## Required Secrets
|
|
96
|
+
|
|
97
|
+
| Secret | Purpose |
|
|
98
|
+
|--------|---------|
|
|
99
|
+
| `NPM_TOKEN` | npm authentication for publish |
|
|
100
|
+
| `GITHUB_TOKEN` | Auto-provided for GitHub releases |
|
|
101
|
+
| `CODECOV_TOKEN` | Optional: coverage reporting |
|
|
102
|
+
|
|
103
|
+
## Versioning
|
|
104
|
+
|
|
105
|
+
GYWD follows [Semantic Versioning](https://semver.org/):
|
|
106
|
+
|
|
107
|
+
- **MAJOR** (X.0.0): Breaking changes
|
|
108
|
+
- **MINOR** (0.X.0): New features, backwards compatible
|
|
109
|
+
- **PATCH** (0.0.X): Bug fixes, backwards compatible
|
|
110
|
+
|
|
111
|
+
## Troubleshooting
|
|
112
|
+
|
|
113
|
+
### npm publish fails
|
|
114
|
+
|
|
115
|
+
1. Check `NPM_TOKEN` secret is set in repository settings
|
|
116
|
+
2. Verify token has publish permissions
|
|
117
|
+
3. Check package name isn't taken
|
|
118
|
+
|
|
119
|
+
### Tests fail in CI but pass locally
|
|
120
|
+
|
|
121
|
+
1. Check Node version matches CI matrix
|
|
122
|
+
2. Look for platform-specific issues (Windows paths)
|
|
123
|
+
3. Ensure no local-only dependencies
|
|
124
|
+
|
|
125
|
+
### Tag already exists
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Delete local tag
|
|
129
|
+
git tag -d vX.Y.Z
|
|
130
|
+
|
|
131
|
+
# Delete remote tag
|
|
132
|
+
git push origin :refs/tags/vX.Y.Z
|
|
133
|
+
|
|
134
|
+
# Recreate tag
|
|
135
|
+
git tag vX.Y.Z
|
|
136
|
+
git push origin vX.Y.Z
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### GitHub Release not created
|
|
140
|
+
|
|
141
|
+
1. Check `contents: write` permission in workflow
|
|
142
|
+
2. Verify `GITHUB_TOKEN` is available
|
|
143
|
+
3. Check workflow logs for errors
|
|
144
|
+
|
|
145
|
+
## Manual npm Publish
|
|
146
|
+
|
|
147
|
+
If automation fails, publish manually:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Login to npm
|
|
151
|
+
npm login
|
|
152
|
+
|
|
153
|
+
# Publish
|
|
154
|
+
npm publish
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
*See also: [Contributing](CONTRIBUTING.md) | [Commands](COMMANDS.md)*
|