agileflow 2.44.0 β†’ 2.45.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agileflow",
3
- "version": "2.44.0",
3
+ "version": "2.45.0",
4
4
  "description": "AI-driven agile development system for Claude Code, Cursor, Windsurf, and more",
5
5
  "keywords": [
6
6
  "agile",
@@ -0,0 +1,267 @@
1
+ # AgileFlow Release Scripts
2
+
3
+ Automated scripts to streamline the release process and reduce cognitive strain.
4
+
5
+ ## πŸ“¦ Release Script
6
+
7
+ **Purpose**: Automate the entire release process from version bump to npm publish.
8
+
9
+ **Usage**:
10
+ ```bash
11
+ ./scripts/release.sh <version> <release-title>
12
+ ```
13
+
14
+ **Example**:
15
+ ```bash
16
+ ./scripts/release.sh 2.32.0 "Dynamic Content Injection System"
17
+ ```
18
+
19
+ **What it does**:
20
+ 1. βœ… Bumps version in `packages/cli/package.json`
21
+ 2. βœ… Bumps version in root `package.json`
22
+ 3. ⏸️ Prompts you to update `CHANGELOG.md` manually (then press ENTER)
23
+ 4. βœ… Commits changes with conventional commit message
24
+ 5. βœ… Pushes to GitHub
25
+ 6. βœ… Creates and pushes git tag `vX.Y.Z`
26
+ 7. βœ… Extracts changelog notes for this version
27
+ 8. βœ… Creates GitHub release with extracted notes
28
+ 9. βœ… GitHub Actions automatically publishes to npm
29
+
30
+ **Benefits**:
31
+ - No manual steps to remember
32
+ - Consistent release process every time
33
+ - Automatic changelog extraction
34
+ - Automatic tag creation
35
+ - Zero chance of forgetting to push the tag
36
+
37
+ ## 🎯 Quick Release Flow
38
+
39
+ For a typical release:
40
+
41
+ ```bash
42
+ # 1. Make your changes
43
+ git add -A
44
+ git commit -m "feat: add new feature"
45
+ git push origin main
46
+
47
+ # 2. Update CHANGELOG.md with new [X.Y.Z] section
48
+
49
+ # 3. Run release script
50
+ ./scripts/release.sh 2.32.0 "New Feature Name"
51
+
52
+ # 4. Wait for GitHub Actions to publish to npm
53
+ # (Check: https://github.com/projectquestorg/AgileFlow/actions)
54
+
55
+ # 5. Verify publish
56
+ npm view agileflow version
57
+ ```
58
+
59
+ ## πŸ”§ Troubleshooting
60
+
61
+ **If GitHub Actions fails**:
62
+ - Check that `NPM_TOKEN` secret is configured: https://github.com/projectquestorg/AgileFlow/settings/secrets/actions
63
+ - Check workflow run logs: https://github.com/projectquestorg/AgileFlow/actions
64
+
65
+ **If tag already exists**:
66
+ ```bash
67
+ # Delete local and remote tag
68
+ git tag -d v2.32.0
69
+ git push origin :refs/tags/v2.32.0
70
+
71
+ # Re-run release script
72
+ ./scripts/release.sh 2.32.0 "Feature Name"
73
+ ```
74
+
75
+ **Manual publish** (if GitHub Actions fails):
76
+ ```bash
77
+ cd packages/cli
78
+ npm publish --access public
79
+ ```
80
+
81
+ ## πŸ” Environment Info Script
82
+
83
+ **Purpose**: Output project environment information for hooks and automation.
84
+
85
+ **File**: `scripts/get-env.js`
86
+
87
+ **Usage**:
88
+ ```bash
89
+ # Human-readable format
90
+ node scripts/get-env.js
91
+
92
+ # JSON format
93
+ node scripts/get-env.js --json
94
+ ```
95
+
96
+ **Output**:
97
+ - Project name, version, description
98
+ - Git branch and commit hash
99
+ - Node.js version
100
+ - Platform and architecture
101
+ - Current user and hostname
102
+ - Timestamp
103
+
104
+ **Example output** (human-readable):
105
+ ```
106
+ Project: agileflow v2.35.0
107
+ Description: AI-driven agile development system for Claude Code, Cursor, Windsurf, and more
108
+ Root Directory: /home/coder/AgileFlow
109
+ Git Branch: main
110
+ Git Commit: 45bb0da
111
+ Node Version: v18.20.8
112
+ Platform: linux (x64)
113
+ User: coder@ProjectQuest
114
+ Timestamp: 2025-12-15T20:31:44.742Z
115
+ ```
116
+
117
+ **Example output** (JSON):
118
+ ```json
119
+ {
120
+ "project": {
121
+ "name": "agileflow",
122
+ "version": "2.35.0",
123
+ "description": "AI-driven agile development system...",
124
+ "rootDir": "/home/coder/AgileFlow"
125
+ },
126
+ "git": {
127
+ "branch": "main",
128
+ "commit": "45bb0da"
129
+ },
130
+ "system": {
131
+ "node": "v18.20.8",
132
+ "platform": "linux",
133
+ "arch": "x64",
134
+ "hostname": "ProjectQuest",
135
+ "user": "coder"
136
+ },
137
+ "timestamp": "2025-12-15T20:31:44.742Z"
138
+ }
139
+ ```
140
+
141
+ **Use Cases**:
142
+ - Session start hook (display project info)
143
+ - CI/CD environment validation
144
+ - Debugging environment issues
145
+ - Logging and audit trails
146
+ - Integration with external tools
147
+
148
+ ## πŸ“ Auto-Archival Scripts
149
+
150
+ **Purpose**: Automatically manage `status.json` file size by archiving old completed stories.
151
+
152
+ ### Archive Completed Stories
153
+
154
+ **File**: `scripts/archive-completed-stories.sh`
155
+
156
+ **Usage**:
157
+ ```bash
158
+ bash scripts/archive-completed-stories.sh
159
+ ```
160
+
161
+ **What it does**:
162
+ 1. Reads `docs/09-agents/status.json`
163
+ 2. Identifies stories with `status: "completed"` older than threshold (default: 7 days)
164
+ 3. Moves them to `docs/09-agents/archive/YYYY-MM.json` (organized by completion month)
165
+ 4. Removes archived stories from `status.json`
166
+ 5. Logs what was archived
167
+
168
+ **Configuration**:
169
+ Edit `docs/00-meta/agileflow-metadata.json`:
170
+ ```json
171
+ {
172
+ "archival": {
173
+ "threshold_days": 7,
174
+ "enabled": true
175
+ }
176
+ }
177
+ ```
178
+
179
+ **Automation**:
180
+ - Runs automatically on each session start via `.claude/settings.json` hook
181
+ - Runs in background (non-blocking)
182
+ - Idempotent (safe to run multiple times)
183
+
184
+ **Example output**:
185
+ ```
186
+ Starting auto-archival (threshold: 7 days)...
187
+ Cutoff date: 2025-12-08T20:41:15.000Z
188
+ βœ“ Archived 3 stories to 2025-11.json
189
+ βœ“ Removed 3 archived stories from status.json
190
+ Stories remaining: 5
191
+ Auto-archival complete!
192
+ ```
193
+
194
+ ### Compress Status
195
+
196
+ **File**: `scripts/compress-status.sh`
197
+
198
+ **Usage**:
199
+ ```bash
200
+ bash scripts/compress-status.sh
201
+ ```
202
+
203
+ **What it does**:
204
+ 1. Reads `docs/09-agents/status.json`
205
+ 2. Removes verbose fields from each story (descriptions, notes, acceptance criteria, etc.)
206
+ 3. Keeps only essential tracking metadata:
207
+ - `id`, `title`, `status`, `owner`
208
+ - `created_at`, `updated_at`, `completed_at`
209
+ - `epic`, `dependencies`, `blocked_by`, `blocks`
210
+ - `pr_url`, `test_status`, `priority`, `tags`
211
+ 4. Updates `status.json` with compressed version
212
+ 5. Reports size savings
213
+
214
+ **When to use**:
215
+ - When `status.json` grows too large
216
+ - Before committing to git
217
+ - As part of cleanup workflow
218
+ - Manually when needed (not automated)
219
+
220
+ **Example output**:
221
+ ```
222
+ Compressing status.json...
223
+ βœ“ Removed 15 verbose fields
224
+ Stories processed: 8
225
+ Compression complete!
226
+ Original size: 12543 bytes
227
+ New size: 4821 bytes
228
+ Saved: 7722 bytes (61%)
229
+ ```
230
+
231
+ ### Archive Directory Structure
232
+
233
+ ```
234
+ docs/09-agents/
235
+ β”œβ”€β”€ status.json # Active stories only
236
+ β”œβ”€β”€ archive/
237
+ β”‚ β”œβ”€β”€ 2025-11.json # Stories completed in Nov 2025
238
+ β”‚ β”œβ”€β”€ 2025-12.json # Stories completed in Dec 2025
239
+ β”‚ └── ...
240
+ └── bus/
241
+ └── log.jsonl
242
+ ```
243
+
244
+ **Archive file format**:
245
+ ```json
246
+ {
247
+ "month": "2025-11",
248
+ "archived_at": "2025-12-15T20:41:15.983Z",
249
+ "stories": {
250
+ "US-001": {
251
+ "id": "US-001",
252
+ "title": "Old completed story",
253
+ "status": "completed",
254
+ "completed_at": "2025-11-05T15:00:00.000Z",
255
+ ...
256
+ }
257
+ }
258
+ }
259
+ ```
260
+
261
+ **Benefits**:
262
+ - Keeps `status.json` small and fast to process
263
+ - Preserves historical data in organized archives
264
+ - No manual intervention required
265
+ - Easy to retrieve archived stories by month
266
+ - Reduces git diff noise
267
+ - Faster parsing for slash commands