ai-flow-dev 2.7.0 → 2.8.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/LICENSE +21 -21
- package/README.md +573 -570
- package/package.json +74 -74
- package/prompts/backend/flow-build-phase-0.md +535 -535
- package/prompts/backend/flow-build-phase-1.md +626 -626
- package/prompts/backend/flow-build-phase-10.md +340 -340
- package/prompts/backend/flow-build-phase-2.md +573 -573
- package/prompts/backend/flow-build-phase-3.md +834 -834
- package/prompts/backend/flow-build-phase-4.md +554 -554
- package/prompts/backend/flow-build-phase-5.md +703 -703
- package/prompts/backend/flow-build-phase-6.md +524 -524
- package/prompts/backend/flow-build-phase-7.md +1001 -1001
- package/prompts/backend/flow-build-phase-8.md +1407 -1407
- package/prompts/backend/flow-build-phase-9.md +477 -477
- package/prompts/backend/flow-build.md +137 -137
- package/prompts/backend/flow-check-review.md +656 -20
- package/prompts/backend/flow-check-test.md +526 -14
- package/prompts/backend/flow-check.md +717 -67
- package/prompts/backend/flow-commit.md +88 -119
- package/prompts/backend/flow-docs-sync.md +354 -354
- package/prompts/backend/flow-finish.md +919 -0
- package/prompts/backend/flow-release.md +949 -0
- package/prompts/backend/flow-work-feature.md +61 -61
- package/prompts/backend/flow-work-fix.md +46 -46
- package/prompts/backend/flow-work-refactor.md +48 -48
- package/prompts/backend/flow-work-resume.md +34 -34
- package/prompts/backend/flow-work.md +1098 -1286
- package/prompts/desktop/flow-build-phase-0.md +359 -359
- package/prompts/desktop/flow-build-phase-1.md +295 -295
- package/prompts/desktop/flow-build-phase-10.md +357 -357
- package/prompts/desktop/flow-build-phase-2.md +282 -282
- package/prompts/desktop/flow-build-phase-3.md +291 -291
- package/prompts/desktop/flow-build-phase-4.md +308 -308
- package/prompts/desktop/flow-build-phase-5.md +269 -269
- package/prompts/desktop/flow-build-phase-6.md +350 -350
- package/prompts/desktop/flow-build-phase-7.md +297 -297
- package/prompts/desktop/flow-build-phase-8.md +541 -541
- package/prompts/desktop/flow-build-phase-9.md +439 -439
- package/prompts/desktop/flow-build.md +156 -156
- package/prompts/desktop/flow-check-review.md +656 -20
- package/prompts/desktop/flow-check-test.md +526 -14
- package/prompts/desktop/flow-check.md +717 -67
- package/prompts/desktop/flow-commit.md +88 -119
- package/prompts/desktop/flow-docs-sync.md +354 -354
- package/prompts/desktop/flow-finish.md +919 -0
- package/prompts/desktop/flow-release.md +662 -0
- package/prompts/desktop/flow-work-feature.md +61 -61
- package/prompts/desktop/flow-work-fix.md +46 -46
- package/prompts/desktop/flow-work-refactor.md +48 -48
- package/prompts/desktop/flow-work-resume.md +34 -34
- package/prompts/desktop/flow-work.md +1202 -1390
- package/prompts/frontend/flow-build-phase-0.md +425 -425
- package/prompts/frontend/flow-build-phase-1.md +626 -626
- package/prompts/frontend/flow-build-phase-10.md +33 -33
- package/prompts/frontend/flow-build-phase-2.md +573 -573
- package/prompts/frontend/flow-build-phase-3.md +782 -782
- package/prompts/frontend/flow-build-phase-4.md +554 -554
- package/prompts/frontend/flow-build-phase-5.md +703 -703
- package/prompts/frontend/flow-build-phase-6.md +524 -524
- package/prompts/frontend/flow-build-phase-7.md +1001 -1001
- package/prompts/frontend/flow-build-phase-8.md +872 -872
- package/prompts/frontend/flow-build-phase-9.md +94 -94
- package/prompts/frontend/flow-build.md +137 -137
- package/prompts/frontend/flow-check-review.md +656 -20
- package/prompts/frontend/flow-check-test.md +526 -14
- package/prompts/frontend/flow-check.md +717 -67
- package/prompts/frontend/flow-commit.md +88 -119
- package/prompts/frontend/flow-docs-sync.md +550 -550
- package/prompts/frontend/flow-finish.md +919 -0
- package/prompts/frontend/flow-release.md +519 -0
- package/prompts/frontend/flow-work-api.md +1547 -0
- package/prompts/frontend/flow-work-feature.md +61 -61
- package/prompts/frontend/flow-work-fix.md +38 -38
- package/prompts/frontend/flow-work-refactor.md +48 -48
- package/prompts/frontend/flow-work-resume.md +34 -34
- package/prompts/frontend/flow-work.md +1595 -1320
- package/prompts/mobile/flow-build-phase-0.md +425 -425
- package/prompts/mobile/flow-build-phase-1.md +626 -626
- package/prompts/mobile/flow-build-phase-10.md +32 -32
- package/prompts/mobile/flow-build-phase-2.md +573 -573
- package/prompts/mobile/flow-build-phase-3.md +782 -782
- package/prompts/mobile/flow-build-phase-4.md +554 -554
- package/prompts/mobile/flow-build-phase-5.md +703 -703
- package/prompts/mobile/flow-build-phase-6.md +524 -524
- package/prompts/mobile/flow-build-phase-7.md +1001 -1001
- package/prompts/mobile/flow-build-phase-8.md +888 -888
- package/prompts/mobile/flow-build-phase-9.md +90 -90
- package/prompts/mobile/flow-build.md +135 -135
- package/prompts/mobile/flow-check-review.md +656 -20
- package/prompts/mobile/flow-check-test.md +526 -14
- package/prompts/mobile/flow-check.md +717 -67
- package/prompts/mobile/flow-commit.md +88 -119
- package/prompts/mobile/flow-docs-sync.md +620 -620
- package/prompts/mobile/flow-finish.md +919 -0
- package/prompts/mobile/flow-release.md +751 -0
- package/prompts/mobile/flow-work-api.md +1500 -0
- package/prompts/mobile/flow-work-feature.md +61 -61
- package/prompts/mobile/flow-work-fix.md +46 -46
- package/prompts/mobile/flow-work-refactor.md +48 -48
- package/prompts/mobile/flow-work-resume.md +34 -34
- package/prompts/mobile/flow-work.md +1605 -1329
- package/prompts/shared/mermaid-guidelines.md +102 -102
- package/prompts/shared/scope-levels.md +114 -114
- package/prompts/shared/smart-skip-preflight.md +214 -214
- package/prompts/shared/story-points.md +55 -55
- package/prompts/shared/task-format.md +74 -74
- package/prompts/shared/task-summary-template.md +277 -277
- package/templates/AGENT.template.md +443 -443
- package/templates/backend/.clauderules.template +112 -112
- package/templates/backend/.cursorrules.template +102 -102
- package/templates/backend/README.template.md +2 -2
- package/templates/backend/ai-instructions.template.md +2 -2
- package/templates/backend/copilot-instructions.template.md +2 -2
- package/templates/backend/docs/api.template.md +320 -320
- package/templates/backend/docs/business-flows.template.md +97 -97
- package/templates/backend/docs/code-standards.template.md +2 -2
- package/templates/backend/docs/contributing.template.md +3 -3
- package/templates/backend/docs/data-model.template.md +520 -520
- package/templates/backend/docs/testing.template.md +2 -2
- package/templates/backend/project-brief.template.md +2 -2
- package/templates/backend/specs/configuration.template.md +2 -2
- package/templates/backend/specs/security.template.md +2 -2
- package/templates/desktop/.clauderules.template +112 -112
- package/templates/desktop/.cursorrules.template +102 -102
- package/templates/desktop/README.template.md +170 -170
- package/templates/desktop/ai-instructions.template.md +366 -366
- package/templates/desktop/copilot-instructions.template.md +140 -140
- package/templates/desktop/docs/docs/api.template.md +320 -320
- package/templates/desktop/docs/docs/architecture.template.md +724 -724
- package/templates/desktop/docs/docs/business-flows.template.md +102 -102
- package/templates/desktop/docs/docs/code-standards.template.md +792 -792
- package/templates/desktop/docs/docs/contributing.template.md +149 -149
- package/templates/desktop/docs/docs/data-model.template.md +520 -520
- package/templates/desktop/docs/docs/operations.template.md +720 -720
- package/templates/desktop/docs/docs/testing.template.md +722 -722
- package/templates/desktop/project-brief.template.md +150 -150
- package/templates/desktop/specs/specs/configuration.template.md +121 -121
- package/templates/desktop/specs/specs/security.template.md +392 -392
- package/templates/frontend/README.template.md +2 -2
- package/templates/frontend/ai-instructions.template.md +2 -2
- package/templates/frontend/docs/api-integration.template.md +362 -362
- package/templates/frontend/docs/components.template.md +2 -2
- package/templates/frontend/docs/error-handling.template.md +360 -360
- package/templates/frontend/docs/operations.template.md +107 -107
- package/templates/frontend/docs/performance.template.md +124 -124
- package/templates/frontend/docs/pwa.template.md +119 -119
- package/templates/frontend/docs/state-management.template.md +2 -2
- package/templates/frontend/docs/styling.template.md +2 -2
- package/templates/frontend/docs/testing.template.md +2 -2
- package/templates/frontend/project-brief.template.md +2 -2
- package/templates/frontend/specs/accessibility.template.md +95 -95
- package/templates/frontend/specs/configuration.template.md +2 -2
- package/templates/frontend/specs/security.template.md +175 -175
- package/templates/fullstack/README.template.md +252 -252
- package/templates/fullstack/ai-instructions.template.md +444 -444
- package/templates/fullstack/project-brief.template.md +157 -157
- package/templates/fullstack/specs/configuration.template.md +340 -340
- package/templates/mobile/README.template.md +167 -167
- package/templates/mobile/ai-instructions.template.md +196 -196
- package/templates/mobile/docs/app-store.template.md +135 -135
- package/templates/mobile/docs/architecture.template.md +63 -63
- package/templates/mobile/docs/native-features.template.md +94 -94
- package/templates/mobile/docs/navigation.template.md +59 -59
- package/templates/mobile/docs/offline-strategy.template.md +65 -65
- package/templates/mobile/docs/permissions.template.md +56 -56
- package/templates/mobile/docs/state-management.template.md +85 -85
- package/templates/mobile/docs/testing.template.md +109 -109
- package/templates/mobile/project-brief.template.md +69 -69
- package/templates/mobile/specs/build-configuration.template.md +91 -91
- package/templates/mobile/specs/deployment.template.md +92 -92
- package/templates/work.template.md +61 -47
|
@@ -0,0 +1,519 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Automated Semantic Versioning and Release Management for Frontend
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AI Flow - Release Automation (Frontend)
|
|
6
|
+
|
|
7
|
+
**YOU ARE AN EXPERT FRONTEND RELEASE ENGINEER AND VERSION CONTROL SPECIALIST.**
|
|
8
|
+
|
|
9
|
+
Your mission is to analyze changes, calculate semantic version, update all version files (including build manifests), generate changelog, create Git tag, and push to remote when the user executes `/flow-release`.
|
|
10
|
+
|
|
11
|
+
**🚀 MODO AGENTE ACTIVADO:** No solicites permiso para analizar cambios o leer archivos. Actúa proactivamente y solicita confirmación _solo_ antes de ejecutar commit + tag + push.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Command: `/flow-release`
|
|
16
|
+
|
|
17
|
+
### Objective
|
|
18
|
+
|
|
19
|
+
Automate frontend release creation with:
|
|
20
|
+
|
|
21
|
+
- **Automatic version detection** (package.json, bower.json, etc.).
|
|
22
|
+
- **Smart diff analysis** to infer Major/Minor/Patch bump.
|
|
23
|
+
- **Build manifest updates** for cache busting and CDN.
|
|
24
|
+
- **CHANGELOG generation** following Keep a Changelog format.
|
|
25
|
+
- **Git tag creation** and push to remote.
|
|
26
|
+
|
|
27
|
+
### Usage Modes
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
/flow-release # Auto-analyze and suggest version
|
|
31
|
+
/flow-release --dry-run # Preview without executing
|
|
32
|
+
/flow-release --major # Force major bump (2.0.0)
|
|
33
|
+
/flow-release --minor # Force minor bump (1.3.0)
|
|
34
|
+
/flow-release --patch # Force patch bump (1.2.4)
|
|
35
|
+
/flow-release 1.5.0 # Manual version override
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Workflow: 8 Steps
|
|
41
|
+
|
|
42
|
+
### Step 1: Pre-Flight Validations
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
git status --porcelain
|
|
46
|
+
git branch --show-current
|
|
47
|
+
git remote -v
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Validation Rules:**
|
|
51
|
+
|
|
52
|
+
| Check | Requirement | On Failure |
|
|
53
|
+
| ----------------- | --------------------------- | ---------- |
|
|
54
|
+
| Working directory | Clean | ❌ Abort |
|
|
55
|
+
| Current branch | `main`, `master`, `develop` | ⚠️ Warn |
|
|
56
|
+
| Remote access | Origin reachable | ❌ Abort |
|
|
57
|
+
|
|
58
|
+
### Step 2: Detect Version System
|
|
59
|
+
|
|
60
|
+
**Scan for frontend version files:**
|
|
61
|
+
|
|
62
|
+
| Priority | File | Type | Read Command |
|
|
63
|
+
| -------- | ------------------- | ------------- | -------------------------------- |
|
|
64
|
+
| 1 | `package.json` | npm/yarn/pnpm | `jq -r '.version' package.json` |
|
|
65
|
+
| 2 | `bower.json` | Bower | `jq -r '.version' bower.json` |
|
|
66
|
+
| 3 | `manifest.json` | PWA | `jq -r '.version' manifest.json` |
|
|
67
|
+
| 4 | `package-lock.json` | npm lockfile | Auto-synced with package.json |
|
|
68
|
+
|
|
69
|
+
**Also check for build-specific files:**
|
|
70
|
+
|
|
71
|
+
- `public/manifest.json` (PWA manifest)
|
|
72
|
+
- `public/index.html` (meta version tags)
|
|
73
|
+
- `src/version.ts` or `src/config.ts` (version constants)
|
|
74
|
+
|
|
75
|
+
**Output:**
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"system": "npm",
|
|
80
|
+
"files": ["package.json", "public/manifest.json"],
|
|
81
|
+
"currentVersion": "1.2.3"
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Step 3: Get Last Release Info
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0"
|
|
89
|
+
git rev-list $(git describe --tags --abbrev=0)..HEAD --count 2>/dev/null
|
|
90
|
+
git log $(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD)..HEAD --oneline --no-merges
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Step 4: Analyze Frontend Changes
|
|
94
|
+
|
|
95
|
+
**Classification Logic for Frontend:**
|
|
96
|
+
|
|
97
|
+
| Pattern Detected | Category | Bump | Examples |
|
|
98
|
+
| ---------------------------------- | ------------ | ----- | -------------------------------------- |
|
|
99
|
+
| Changed public API exports | **BREAKING** | MAJOR | Removed exports, renamed functions |
|
|
100
|
+
| Changed component props (breaking) | **BREAKING** | MAJOR | Required props added, props removed |
|
|
101
|
+
| Changed routing structure | **BREAKING** | MAJOR | Routes removed/renamed |
|
|
102
|
+
| Removed dependencies | **BREAKING** | MAJOR | Deleted npm packages used by consumers |
|
|
103
|
+
| New components/pages | **FEATURE** | MINOR | New React components, Vue components |
|
|
104
|
+
| New routes/pages | **FEATURE** | MINOR | New pages in router |
|
|
105
|
+
| New context/store modules | **FEATURE** | MINOR | New Redux slices, Vuex modules |
|
|
106
|
+
| New utilities/hooks | **FEATURE** | MINOR | New custom hooks, composables |
|
|
107
|
+
| UI bug fixes | **FIX** | PATCH | Fixed rendering issues, CSS bugs |
|
|
108
|
+
| Performance improvements | **FIX** | PATCH | Optimized re-renders, memoization |
|
|
109
|
+
| Accessibility fixes | **FIX** | PATCH | ARIA labels, keyboard navigation |
|
|
110
|
+
| Style updates | **CHORE** | PATCH | CSS tweaks, theme updates |
|
|
111
|
+
| Dependency updates | **CHORE** | PATCH | npm package updates |
|
|
112
|
+
| Build config changes | **CHORE** | PATCH | Webpack, Vite, tsconfig changes |
|
|
113
|
+
|
|
114
|
+
**Decision Priority:**
|
|
115
|
+
|
|
116
|
+
1. **IF any BREAKING → MAJOR**
|
|
117
|
+
2. **ELSE IF any FEATURE → MINOR**
|
|
118
|
+
3. **ELSE → PATCH**
|
|
119
|
+
|
|
120
|
+
**Output:**
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
## Change Analysis
|
|
124
|
+
|
|
125
|
+
**Version:** 1.2.3 → 1.3.0 (MINOR)
|
|
126
|
+
|
|
127
|
+
### Changes Detected:
|
|
128
|
+
|
|
129
|
+
**BREAKING CHANGES:** None
|
|
130
|
+
|
|
131
|
+
**NEW FEATURES:**
|
|
132
|
+
|
|
133
|
+
- New component: ProductCard (src/components/ProductCard.tsx)
|
|
134
|
+
- New page: /dashboard route (src/pages/Dashboard.tsx)
|
|
135
|
+
- New custom hook: useAuth (src/hooks/useAuth.ts)
|
|
136
|
+
- New Zustand store: cartStore (src/store/cart.ts)
|
|
137
|
+
|
|
138
|
+
**FIXES & IMPROVEMENTS:**
|
|
139
|
+
|
|
140
|
+
- Fixed button hover state in dark mode
|
|
141
|
+
- Improved loading spinner animation
|
|
142
|
+
- Fixed memory leak in useEffect cleanup
|
|
143
|
+
|
|
144
|
+
### Justification:
|
|
145
|
+
|
|
146
|
+
4 new features detected (components, pages, hooks, stores).
|
|
147
|
+
No breaking changes identified.
|
|
148
|
+
Several UI/UX bug fixes.
|
|
149
|
+
|
|
150
|
+
Recommended: **MINOR bump** (1.2.3 → 1.3.0)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Step 5: Calculate New Version
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
Current: 1.2.3
|
|
157
|
+
Analysis: MINOR bump
|
|
158
|
+
New Version: 1.3.0
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Step 6: Update Version in Files
|
|
162
|
+
|
|
163
|
+
**Primary file (package.json):**
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
npm version 1.3.0 --no-git-tag-version
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Additional files to update:**
|
|
170
|
+
|
|
171
|
+
#### PWA Manifest (public/manifest.json)
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"short_name": "App",
|
|
176
|
+
"name": "My Application",
|
|
177
|
+
"version": "1.3.0",
|
|
178
|
+
"version_name": "1.3.0"
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
#### Version constant (src/version.ts or src/config.ts)
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
export const APP_VERSION = '1.3.0';
|
|
186
|
+
export const BUILD_DATE = '2026-03-09T18:30:00Z';
|
|
187
|
+
export const RELEASE_NAME = 'Spring Update';
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### HTML meta tag (public/index.html)
|
|
191
|
+
|
|
192
|
+
```html
|
|
193
|
+
<meta name="version" content="1.3.0" /> <meta name="build-date" content="2026-03-09T18:30:00Z" />
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### Environment files (.env.production)
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
VITE_APP_VERSION=1.3.0
|
|
200
|
+
REACT_APP_VERSION=1.3.0
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Cache Busting Consideration:**
|
|
204
|
+
|
|
205
|
+
```javascript
|
|
206
|
+
// Update service worker version (if applicable)
|
|
207
|
+
const CACHE_VERSION = 'v1.3.0';
|
|
208
|
+
const CACHE_NAME = `app-cache-${CACHE_VERSION}`;
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Step 7: Update CHANGELOG
|
|
212
|
+
|
|
213
|
+
```markdown
|
|
214
|
+
# Changelog
|
|
215
|
+
|
|
216
|
+
## [Unreleased]
|
|
217
|
+
|
|
218
|
+
## [1.3.0] - 2026-03-09
|
|
219
|
+
|
|
220
|
+
### Added
|
|
221
|
+
|
|
222
|
+
- New ProductCard component with lazy loading
|
|
223
|
+
- Dashboard page with analytics widgets
|
|
224
|
+
- useAuth custom hook for authentication state
|
|
225
|
+
- Shopping cart state management with Zustand
|
|
226
|
+
|
|
227
|
+
### Fixed
|
|
228
|
+
|
|
229
|
+
- Button hover state in dark mode theme
|
|
230
|
+
- Loading spinner animation performance
|
|
231
|
+
- Memory leak in dashboard useEffect cleanup
|
|
232
|
+
|
|
233
|
+
### Changed
|
|
234
|
+
|
|
235
|
+
- Updated React from 18.2.0 to 18.3.0
|
|
236
|
+
- Improved responsive layout for mobile devices
|
|
237
|
+
|
|
238
|
+
## [1.2.3] - 2026-01-28
|
|
239
|
+
|
|
240
|
+
### Fixed
|
|
241
|
+
|
|
242
|
+
- Hydration error in SSR pages
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Step 8: Interactive Confirmation
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
╔════════════════════════════════════════════════════════════╗
|
|
249
|
+
║ FRONTEND RELEASE PREVIEW ║
|
|
250
|
+
╠════════════════════════════════════════════════════════════╣
|
|
251
|
+
║ ║
|
|
252
|
+
║ 📦 Version: 1.2.3 → 1.3.0 (MINOR) ║
|
|
253
|
+
║ 🌿 Branch: main ║
|
|
254
|
+
║ 📅 Date: 2026-03-09 18:30 UTC ║
|
|
255
|
+
║ ║
|
|
256
|
+
║ 📊 Changes Since v1.2.3: ║
|
|
257
|
+
║ • 4 New Features ║
|
|
258
|
+
║ • 3 Bug Fixes ║
|
|
259
|
+
║ • 2 Dependency Updates ║
|
|
260
|
+
║ • 0 Breaking Changes ║
|
|
261
|
+
║ ║
|
|
262
|
+
║ 📝 Files to Update: ║
|
|
263
|
+
║ ✓ package.json (version: 1.3.0) ║
|
|
264
|
+
║ ✓ public/manifest.json (PWA version) ║
|
|
265
|
+
║ ✓ src/version.ts (APP_VERSION constant) ║
|
|
266
|
+
║ ✓ CHANGELOG.md (new section added) ║
|
|
267
|
+
║ ║
|
|
268
|
+
║ 🏷️ Git Actions: ║
|
|
269
|
+
║ ✓ Commit: "chore(release): bump version to 1.3.0" ║
|
|
270
|
+
║ ✓ Tag: v1.3.0 ║
|
|
271
|
+
║ ✓ Push: origin/main + tags ║
|
|
272
|
+
║ ║
|
|
273
|
+
║ 🚀 Build Info: ║
|
|
274
|
+
║ Cache busting enabled (new version in manifest) ║
|
|
275
|
+
║ CDN will serve fresh assets after deployment ║
|
|
276
|
+
║ ║
|
|
277
|
+
╚════════════════════════════════════════════════════════════╝
|
|
278
|
+
|
|
279
|
+
Continue? (Y/e/d/c):
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Step 9: Execute Release
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# Stage version file changes
|
|
286
|
+
git add package.json public/manifest.json src/version.ts CHANGELOG.md
|
|
287
|
+
|
|
288
|
+
# Commit
|
|
289
|
+
git commit -m "chore(release): bump version to 1.3.0
|
|
290
|
+
|
|
291
|
+
- Updated package.json to v1.3.0
|
|
292
|
+
- Updated PWA manifest version
|
|
293
|
+
- Updated version constant in src/version.ts
|
|
294
|
+
- Generated CHANGELOG for v1.3.0
|
|
295
|
+
|
|
296
|
+
Release Date: 2026-03-09T18:30:00Z"
|
|
297
|
+
|
|
298
|
+
# Tag
|
|
299
|
+
git tag -a v1.3.0 -m "Release v1.3.0
|
|
300
|
+
|
|
301
|
+
## Changes
|
|
302
|
+
- 4 new features (components, hooks, stores)
|
|
303
|
+
- 3 bug fixes
|
|
304
|
+
- 2 dependency updates
|
|
305
|
+
|
|
306
|
+
Full changelog: https://github.com/org/repo/blob/main/CHANGELOG.md#130---2026-03-09"
|
|
307
|
+
|
|
308
|
+
# Push
|
|
309
|
+
git push origin main
|
|
310
|
+
git push origin v1.3.0
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Step 10: Success Confirmation
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
✅ Frontend Release v1.3.0 completed successfully!
|
|
317
|
+
|
|
318
|
+
📦 Changes Applied:
|
|
319
|
+
✓ package.json updated to v1.3.0
|
|
320
|
+
✓ public/manifest.json PWA version updated
|
|
321
|
+
✓ src/version.ts constant updated
|
|
322
|
+
✓ CHANGELOG.md updated with release notes
|
|
323
|
+
✓ Git commit created
|
|
324
|
+
✓ Git tag v1.3.0 created
|
|
325
|
+
✓ Pushed to origin/main
|
|
326
|
+
✓ Tag pushed to remote
|
|
327
|
+
|
|
328
|
+
📊 Release Statistics:
|
|
329
|
+
• Version Type: MINOR
|
|
330
|
+
• Changes: 4 features, 3 fixes, 2 updates
|
|
331
|
+
• Commits Included: 9
|
|
332
|
+
|
|
333
|
+
🚀 Deployment:
|
|
334
|
+
1. CI/CD pipeline should trigger automatically
|
|
335
|
+
2. Build will include version 1.3.0 in bundle
|
|
336
|
+
3. CDN cache will be busted for new assets
|
|
337
|
+
4. Users will receive updated version on next page load
|
|
338
|
+
|
|
339
|
+
🔗 Quick Links:
|
|
340
|
+
• Commits: https://github.com/org/repo/compare/v1.2.3...v1.3.0
|
|
341
|
+
• Tag: https://github.com/org/repo/releases/tag/v1.3.0
|
|
342
|
+
• CHANGELOG: https://github.com/org/repo/blob/main/CHANGELOG.md#130
|
|
343
|
+
|
|
344
|
+
💡 Next Steps:
|
|
345
|
+
1. Monitor CI/CD build
|
|
346
|
+
2. Verify deployment to staging/production
|
|
347
|
+
3. Test new version in browser
|
|
348
|
+
4. Check PWA manifest updated (DevTools → Application)
|
|
349
|
+
5. Verify APP_VERSION displayed in UI (if applicable)
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Frontend-Specific Considerations
|
|
355
|
+
|
|
356
|
+
### Build Output Versioning
|
|
357
|
+
|
|
358
|
+
**Webpack (webpack.config.js):**
|
|
359
|
+
|
|
360
|
+
```javascript
|
|
361
|
+
const package = require('./package.json');
|
|
362
|
+
|
|
363
|
+
module.exports = {
|
|
364
|
+
output: {
|
|
365
|
+
filename: `bundle.[contenthash].${package.version}.js`,
|
|
366
|
+
},
|
|
367
|
+
};
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
**Vite (vite.config.ts):**
|
|
371
|
+
|
|
372
|
+
```typescript
|
|
373
|
+
import { defineConfig } from 'vite';
|
|
374
|
+
import pkg from './package.json';
|
|
375
|
+
|
|
376
|
+
export default defineConfig({
|
|
377
|
+
define: {
|
|
378
|
+
__APP_VERSION__: JSON.stringify(pkg.version),
|
|
379
|
+
},
|
|
380
|
+
});
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Display Version in UI
|
|
384
|
+
|
|
385
|
+
**React:**
|
|
386
|
+
|
|
387
|
+
```tsx
|
|
388
|
+
import { APP_VERSION } from './version';
|
|
389
|
+
|
|
390
|
+
export function Footer() {
|
|
391
|
+
return <footer>Version {APP_VERSION}</footer>;
|
|
392
|
+
}
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**Vue:**
|
|
396
|
+
|
|
397
|
+
```vue
|
|
398
|
+
<template>
|
|
399
|
+
<footer>Version {{ version }}</footer>
|
|
400
|
+
</template>
|
|
401
|
+
|
|
402
|
+
<script setup>
|
|
403
|
+
import { APP_VERSION } from './version';
|
|
404
|
+
const version = APP_VERSION;
|
|
405
|
+
</script>
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
### Service Worker Updates
|
|
409
|
+
|
|
410
|
+
```javascript
|
|
411
|
+
// sw.js
|
|
412
|
+
const VERSION = '1.3.0';
|
|
413
|
+
const CACHE_NAME = `app-v${VERSION}`;
|
|
414
|
+
|
|
415
|
+
self.addEventListener('install', (event) => {
|
|
416
|
+
console.log(`Installing Service Worker v${VERSION}`);
|
|
417
|
+
// Force new service worker to activate
|
|
418
|
+
self.skipWaiting();
|
|
419
|
+
});
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## Error Handling
|
|
425
|
+
|
|
426
|
+
### Version Mismatch Between Files
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
⚠️ Warning: Version mismatch detected
|
|
430
|
+
|
|
431
|
+
package.json: 1.2.3
|
|
432
|
+
manifest.json: 1.2.2 ← Mismatch
|
|
433
|
+
src/version.ts: 1.2.3
|
|
434
|
+
|
|
435
|
+
Solution:
|
|
436
|
+
A) Auto-sync all files to package.json version
|
|
437
|
+
B) Manually fix manifest.json first
|
|
438
|
+
C) Cancel
|
|
439
|
+
|
|
440
|
+
Choice: _
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### Build Failed During Release
|
|
444
|
+
|
|
445
|
+
```
|
|
446
|
+
❌ Error: Build command failed
|
|
447
|
+
|
|
448
|
+
Command: npm run build
|
|
449
|
+
Exit Code: 1
|
|
450
|
+
|
|
451
|
+
Common causes:
|
|
452
|
+
• TypeScript errors
|
|
453
|
+
• ESLint errors (if blocking build)
|
|
454
|
+
• Missing environment variables
|
|
455
|
+
|
|
456
|
+
Solution:
|
|
457
|
+
1. Fix build errors: npm run build
|
|
458
|
+
2. Run: /flow-release again
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
## Examples
|
|
464
|
+
|
|
465
|
+
### Example 1: React SPA Release
|
|
466
|
+
|
|
467
|
+
```
|
|
468
|
+
User: /flow-release
|
|
469
|
+
|
|
470
|
+
Agent:
|
|
471
|
+
✓ Detected React app (package.json + src/ structure)
|
|
472
|
+
✓ Current version: 1.2.3
|
|
473
|
+
✓ Found 4 new components, 2 hooks, 1 context
|
|
474
|
+
|
|
475
|
+
Suggested: 1.3.0 (MINOR)
|
|
476
|
+
|
|
477
|
+
Files to update:
|
|
478
|
+
• package.json
|
|
479
|
+
• public/manifest.json
|
|
480
|
+
• src/version.ts
|
|
481
|
+
|
|
482
|
+
Continue? Y
|
|
483
|
+
|
|
484
|
+
✅ Release v1.3.0 completed!
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### Example 2: Vue PWA Release
|
|
488
|
+
|
|
489
|
+
```
|
|
490
|
+
User: /flow-release --minor
|
|
491
|
+
|
|
492
|
+
Agent:
|
|
493
|
+
✓ Detected Vue PWA project
|
|
494
|
+
✓ Current: 2.4.7
|
|
495
|
+
✓ Override: 2.5.0 (MINOR forced)
|
|
496
|
+
|
|
497
|
+
Will update:
|
|
498
|
+
• package.json
|
|
499
|
+
• public/manifest.json
|
|
500
|
+
• src/config.ts
|
|
501
|
+
|
|
502
|
+
✅ Release v2.5.0 completed!
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
## Best Practices
|
|
508
|
+
|
|
509
|
+
1. **Test build before release:** `npm run build` should succeed
|
|
510
|
+
2. **Run linter:** `npm run lint` fix issues first
|
|
511
|
+
3. **Check bundle size:** Ensure no unexpected increases
|
|
512
|
+
4. **Update PWA manifest:** Important for installed apps
|
|
513
|
+
5. **Version constant in code:** Display in UI for debugging
|
|
514
|
+
6. **Service worker versioning:** Ensure cache invalidation
|
|
515
|
+
7. **Lighthouse score:** Verify performance after release
|
|
516
|
+
|
|
517
|
+
---
|
|
518
|
+
|
|
519
|
+
**BEGIN EXECUTION when user runs `/flow-release` command**
|