create-qa-architect 5.0.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.
Files changed (67) hide show
  1. package/.editorconfig +12 -0
  2. package/.github/CLAUDE_MD_AUTOMATION.md +248 -0
  3. package/.github/PROGRESSIVE_QUALITY_IMPLEMENTATION.md +408 -0
  4. package/.github/PROGRESSIVE_QUALITY_PROPOSAL.md +443 -0
  5. package/.github/RELEASE_CHECKLIST.md +100 -0
  6. package/.github/dependabot.yml +50 -0
  7. package/.github/git-sync.sh +48 -0
  8. package/.github/workflows/claude-md-validation.yml +82 -0
  9. package/.github/workflows/nightly-gitleaks-verification.yml +176 -0
  10. package/.github/workflows/pnpm-ci.yml.example +53 -0
  11. package/.github/workflows/python-ci.yml.example +69 -0
  12. package/.github/workflows/quality-legacy.yml.backup +165 -0
  13. package/.github/workflows/quality-progressive.yml.example +291 -0
  14. package/.github/workflows/quality.yml +436 -0
  15. package/.github/workflows/release.yml +53 -0
  16. package/.nvmrc +1 -0
  17. package/.prettierignore +14 -0
  18. package/.prettierrc +9 -0
  19. package/.stylelintrc.json +5 -0
  20. package/README.md +212 -0
  21. package/config/.lighthouserc.js +45 -0
  22. package/config/.pre-commit-config.yaml +66 -0
  23. package/config/constants.js +128 -0
  24. package/config/defaults.js +124 -0
  25. package/config/pyproject.toml +124 -0
  26. package/config/quality-config.schema.json +97 -0
  27. package/config/quality-python.yml +89 -0
  28. package/config/requirements-dev.txt +15 -0
  29. package/create-saas-monetization.js +1465 -0
  30. package/eslint.config.cjs +117 -0
  31. package/eslint.config.ts.cjs +99 -0
  32. package/legal/README.md +106 -0
  33. package/legal/copyright.md +76 -0
  34. package/legal/disclaimer.md +146 -0
  35. package/legal/privacy-policy.html +324 -0
  36. package/legal/privacy-policy.md +196 -0
  37. package/legal/terms-of-service.md +224 -0
  38. package/lib/billing-dashboard.html +645 -0
  39. package/lib/config-validator.js +163 -0
  40. package/lib/dependency-monitoring-basic.js +185 -0
  41. package/lib/dependency-monitoring-premium.js +1490 -0
  42. package/lib/error-reporter.js +444 -0
  43. package/lib/interactive/prompt.js +128 -0
  44. package/lib/interactive/questions.js +146 -0
  45. package/lib/license-validator.js +403 -0
  46. package/lib/licensing.js +989 -0
  47. package/lib/package-utils.js +187 -0
  48. package/lib/project-maturity.js +516 -0
  49. package/lib/security-enhancements.js +340 -0
  50. package/lib/setup-enhancements.js +317 -0
  51. package/lib/smart-strategy-generator.js +344 -0
  52. package/lib/telemetry.js +323 -0
  53. package/lib/template-loader.js +252 -0
  54. package/lib/typescript-config-generator.js +210 -0
  55. package/lib/ui-helpers.js +74 -0
  56. package/lib/validation/base-validator.js +174 -0
  57. package/lib/validation/cache-manager.js +158 -0
  58. package/lib/validation/config-security.js +741 -0
  59. package/lib/validation/documentation.js +326 -0
  60. package/lib/validation/index.js +186 -0
  61. package/lib/validation/validation-factory.js +153 -0
  62. package/lib/validation/workflow-validation.js +172 -0
  63. package/lib/yaml-utils.js +120 -0
  64. package/marketing/beta-user-email-campaign.md +372 -0
  65. package/marketing/landing-page.html +721 -0
  66. package/package.json +165 -0
  67. package/setup.js +2076 -0
@@ -0,0 +1,443 @@
1
+ # Progressive Quality Automation - Design Proposal
2
+
3
+ ## Problem Statement
4
+
5
+ Early-stage projects often fail CI/CD quality checks not because of code quality issues, but because project assets haven't been created yet:
6
+
7
+ - **ESLint** fails when there are no source files to lint
8
+ - **Test coverage** fails when test infrastructure doesn't exist
9
+ - **Documentation validation** fails when docs aren't written
10
+ - **Security audits** fail on empty `package.json` with no dependencies
11
+ - **Lighthouse CI** fails when no web assets exist
12
+
13
+ This creates noise, discourages adoption, and makes it unclear which failures are "real" vs. expected.
14
+
15
+ ## Proposed Solution: Adaptive Quality Checks
16
+
17
+ ### Strategy 1: Project Maturity Detection
18
+
19
+ Automatically detect project maturity level and adjust checks accordingly.
20
+
21
+ #### Maturity Levels
22
+
23
+ ```javascript
24
+ {
25
+ "minimal": {
26
+ // Just package.json, maybe README
27
+ "indicators": ["package.json exists", "< 5 total files", "no src/ or lib/"],
28
+ "checks": ["prettier", "basic-lint"]
29
+ },
30
+
31
+ "bootstrap": {
32
+ // Has some source files, no tests yet
33
+ "indicators": ["src/ or lib/ exists", "< 3 source files", "no test files"],
34
+ "checks": ["prettier", "eslint", "stylelint", "format-check"]
35
+ },
36
+
37
+ "development": {
38
+ // Active development, has tests
39
+ "indicators": ["โ‰ฅ 3 source files", "test files exist", "has dependencies"],
40
+ "checks": ["all linting", "security-basic", "documentation-basic"]
41
+ },
42
+
43
+ "production-ready": {
44
+ // Full project with tests, docs, dependencies
45
+ "indicators": ["has tests", "has docs", "has CI config", "โ‰ฅ 10 source files"],
46
+ "checks": ["all checks enabled"]
47
+ }
48
+ }
49
+ ```
50
+
51
+ #### Implementation Example
52
+
53
+ ```javascript
54
+ // lib/project-maturity.js
55
+ class ProjectMaturityDetector {
56
+ detect(projectPath) {
57
+ const stats = this.analyzeProject(projectPath)
58
+
59
+ if (stats.totalSourceFiles === 0) return 'minimal'
60
+ if (stats.totalSourceFiles < 3 && stats.testFiles === 0) return 'bootstrap'
61
+ if (stats.testFiles > 0 && stats.totalSourceFiles >= 3) return 'development'
62
+ if (
63
+ stats.hasDocumentation &&
64
+ stats.hasTests &&
65
+ stats.totalSourceFiles >= 10
66
+ ) {
67
+ return 'production-ready'
68
+ }
69
+
70
+ return 'development' // default
71
+ }
72
+
73
+ analyzeProject(projectPath) {
74
+ return {
75
+ totalSourceFiles: this.countSourceFiles(projectPath),
76
+ testFiles: this.countTestFiles(projectPath),
77
+ hasDocumentation: this.hasDocumentation(projectPath),
78
+ hasTests: this.hasTests(projectPath),
79
+ hasDependencies: this.hasDependencies(projectPath),
80
+ }
81
+ }
82
+ }
83
+ ```
84
+
85
+ ### Strategy 2: Graceful Check Degradation
86
+
87
+ Each check should gracefully handle "nothing to check" scenarios.
88
+
89
+ #### Current State
90
+
91
+ ```yaml
92
+ # โŒ FAILS on empty projects
93
+ - name: ESLint
94
+ run: npx eslint . --max-warnings=0
95
+ ```
96
+
97
+ #### Proposed Improvement
98
+
99
+ ```yaml
100
+ # โœ… PASSES on empty projects with informative message
101
+ - name: ESLint
102
+ run: |
103
+ # Count source files
104
+ SOURCE_COUNT=$(find . -type f \( -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" \) ! -path "*/node_modules/*" ! -path "*/.git/*" | wc -l)
105
+
106
+ if [ "$SOURCE_COUNT" -eq 0 ]; then
107
+ echo "โญ๏ธ No source files found - skipping ESLint"
108
+ echo "This is expected for new projects. Add source files to enable linting."
109
+ exit 0
110
+ fi
111
+
112
+ echo "๐Ÿ” Linting $SOURCE_COUNT source files..."
113
+ npx eslint . --max-warnings=0
114
+ ```
115
+
116
+ ### Strategy 3: Progressive Enablement Configuration
117
+
118
+ Add a `.qualityrc.json` file that tracks which checks are "ready" for the project.
119
+
120
+ ```json
121
+ {
122
+ "version": "1.0",
123
+ "maturity": "auto",
124
+ "checks": {
125
+ "prettier": { "enabled": true, "required": true },
126
+ "eslint": { "enabled": "auto", "required": false },
127
+ "stylelint": { "enabled": "auto", "required": false },
128
+ "tests": { "enabled": false, "required": false },
129
+ "coverage": { "enabled": false, "required": false, "threshold": 80 },
130
+ "security-audit": { "enabled": "auto", "required": false },
131
+ "documentation": { "enabled": false, "required": false },
132
+ "lighthouse": { "enabled": false, "required": false }
133
+ },
134
+ "auto-enable": {
135
+ "eslint": { "when": "sourceFiles >= 1" },
136
+ "tests": { "when": "testFiles >= 1" },
137
+ "coverage": { "when": "testFiles >= 3" },
138
+ "security-audit": { "when": "dependencies >= 1" },
139
+ "documentation": { "when": "docs/ exists OR README.md >= 100 lines" }
140
+ }
141
+ }
142
+ ```
143
+
144
+ ### Strategy 4: Smart GitHub Actions Workflow
145
+
146
+ Update `quality.yml` to use maturity detection:
147
+
148
+ ```yaml
149
+ name: Quality Checks
150
+
151
+ on:
152
+ push:
153
+ branches: [main, master, develop]
154
+ pull_request:
155
+ branches: [main, master, develop]
156
+
157
+ jobs:
158
+ detect-maturity:
159
+ runs-on: ubuntu-latest
160
+ outputs:
161
+ maturity: ${{ steps.detect.outputs.maturity }}
162
+ source-count: ${{ steps.detect.outputs.source-count }}
163
+ test-count: ${{ steps.detect.outputs.test-count }}
164
+ has-deps: ${{ steps.detect.outputs.has-deps }}
165
+
166
+ steps:
167
+ - uses: actions/checkout@v5
168
+
169
+ - name: Detect Project Maturity
170
+ id: detect
171
+ run: |
172
+ # Count source files
173
+ SOURCE_COUNT=$(find . -type f \( -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" \) ! -path "*/node_modules/*" ! -path "*/.git/*" | wc -l)
174
+
175
+ # Count test files
176
+ TEST_COUNT=$(find . -type f \( -name "*.test.js" -o -name "*.test.ts" -o -name "*.spec.js" -o -name "*.spec.ts" \) ! -path "*/node_modules/*" | wc -l)
177
+
178
+ # Check for dependencies
179
+ HAS_DEPS="false"
180
+ if [ -f package.json ] && grep -q '"dependencies"' package.json; then
181
+ HAS_DEPS="true"
182
+ fi
183
+
184
+ # Determine maturity
185
+ MATURITY="minimal"
186
+ if [ "$SOURCE_COUNT" -ge 10 ] && [ "$TEST_COUNT" -ge 3 ]; then
187
+ MATURITY="production-ready"
188
+ elif [ "$SOURCE_COUNT" -ge 3 ] && [ "$TEST_COUNT" -ge 1 ]; then
189
+ MATURITY="development"
190
+ elif [ "$SOURCE_COUNT" -ge 1 ]; then
191
+ MATURITY="bootstrap"
192
+ fi
193
+
194
+ echo "maturity=$MATURITY" >> $GITHUB_OUTPUT
195
+ echo "source-count=$SOURCE_COUNT" >> $GITHUB_OUTPUT
196
+ echo "test-count=$TEST_COUNT" >> $GITHUB_OUTPUT
197
+ echo "has-deps=$HAS_DEPS" >> $GITHUB_OUTPUT
198
+
199
+ echo "๐Ÿ“Š Project Maturity: $MATURITY"
200
+ echo " Source files: $SOURCE_COUNT"
201
+ echo " Test files: $TEST_COUNT"
202
+ echo " Has dependencies: $HAS_DEPS"
203
+
204
+ # Core checks - ALWAYS run (project must pass these)
205
+ core-checks:
206
+ runs-on: ubuntu-latest
207
+ needs: detect-maturity
208
+
209
+ steps:
210
+ - uses: actions/checkout@v5
211
+ - uses: actions/setup-node@v6
212
+ with:
213
+ node-version: '20'
214
+ cache: 'npm'
215
+
216
+ - run: npm ci || npm install
217
+
218
+ - name: Prettier check
219
+ run: npm run format:check
220
+
221
+ # Linting checks - run if source files exist
222
+ linting:
223
+ runs-on: ubuntu-latest
224
+ needs: detect-maturity
225
+ if: needs.detect-maturity.outputs.source-count > 0
226
+
227
+ steps:
228
+ - uses: actions/checkout@v5
229
+ - uses: actions/setup-node@v6
230
+ with:
231
+ node-version: '20'
232
+ cache: 'npm'
233
+
234
+ - run: npm ci || npm install
235
+
236
+ - name: ESLint
237
+ run: npx eslint . --max-warnings=0
238
+
239
+ - name: Stylelint
240
+ run: npx stylelint "**/*.{css,scss,sass,less,pcss}" --allow-empty-input
241
+
242
+ # Security checks - run if dependencies exist
243
+ security:
244
+ runs-on: ubuntu-latest
245
+ needs: detect-maturity
246
+ if: needs.detect-maturity.outputs.has-deps == 'true'
247
+
248
+ steps:
249
+ - uses: actions/checkout@v5
250
+ - uses: actions/setup-node@v6
251
+ with:
252
+ node-version: '20'
253
+ cache: 'npm'
254
+
255
+ - run: npm ci || npm install
256
+
257
+ - name: Security audit
258
+ run: npm audit --audit-level high
259
+
260
+ - name: Check for hardcoded secrets
261
+ run: |
262
+ # ... existing secret detection logic
263
+
264
+ # Test checks - run if test files exist
265
+ tests:
266
+ runs-on: ubuntu-latest
267
+ needs: detect-maturity
268
+ if: needs.detect-maturity.outputs.test-count > 0
269
+
270
+ steps:
271
+ - uses: actions/checkout@v5
272
+ - uses: actions/setup-node@v6
273
+ with:
274
+ node-version: '20'
275
+ cache: 'npm'
276
+
277
+ - run: npm ci || npm install
278
+
279
+ - name: Run tests
280
+ run: npm test
281
+
282
+ # Advanced checks - only for production-ready projects
283
+ advanced:
284
+ runs-on: ubuntu-latest
285
+ needs: detect-maturity
286
+ if: needs.detect-maturity.outputs.maturity == 'production-ready'
287
+
288
+ steps:
289
+ - uses: actions/checkout@v5
290
+ - uses: actions/setup-node@v6
291
+ with:
292
+ node-version: '20'
293
+ cache: 'npm'
294
+
295
+ - run: npm ci || npm install
296
+
297
+ - name: Documentation validation
298
+ run: npx create-qa-architect@latest --validate-docs
299
+
300
+ - name: Lighthouse CI
301
+ if: hashFiles('.lighthouserc.js', '.lighthouserc.json', 'lighthouserc.js') != ''
302
+ run: npx lhci autorun
303
+ continue-on-error: true
304
+ ```
305
+
306
+ ## Implementation Plan
307
+
308
+ ### Phase 1: Foundation (Week 1)
309
+
310
+ 1. **Create `lib/project-maturity.js`**
311
+ - Implement maturity detection logic
312
+ - Add source file counting
313
+ - Add test file counting
314
+ - Add dependency detection
315
+
316
+ 2. **Create `.qualityrc.json` template**
317
+ - Define configuration schema
318
+ - Add to setup.js output
319
+ - Document usage
320
+
321
+ 3. **Add CLI command for maturity check**
322
+ ```bash
323
+ npx create-qa-architect@latest --check-maturity
324
+ ```
325
+
326
+ ### Phase 2: Workflow Updates (Week 2)
327
+
328
+ 1. **Update `.github/workflows/quality.yml`**
329
+ - Add `detect-maturity` job
330
+ - Split checks into conditional jobs
331
+ - Add informative skip messages
332
+
333
+ 2. **Update pre-commit hooks**
334
+ - Add graceful degradation to lint-staged
335
+ - Skip checks with no files to process
336
+
337
+ 3. **Add setup.js option for maturity level**
338
+ ```bash
339
+ npx create-qa-architect@latest --maturity=minimal
340
+ npx create-qa-architect@latest --maturity=auto # default
341
+ ```
342
+
343
+ ### Phase 3: Documentation & Testing (Week 3)
344
+
345
+ 1. **Create test fixtures**
346
+ - Minimal project (just package.json)
347
+ - Bootstrap project (1-2 source files, no tests)
348
+ - Development project (source + tests)
349
+ - Production-ready project (full setup)
350
+
351
+ 2. **Integration tests**
352
+ - Test each maturity level
353
+ - Verify correct checks run
354
+ - Verify graceful skipping
355
+
356
+ 3. **Update documentation**
357
+ - Add PROGRESSIVE_QUALITY.md guide
358
+ - Update CLAUDE.md with new approach
359
+ - Add examples to README
360
+
361
+ ## Benefits
362
+
363
+ ### For New Projects
364
+
365
+ - **No false failures** - Checks only run when there's something to check
366
+ - **Clear progression** - Developers see which checks will activate as they add files
367
+ - **Less noise** - CI/CD stays green during early development
368
+
369
+ ### For Existing Projects
370
+
371
+ - **Backward compatible** - Auto-detection means no config changes needed
372
+ - **Opt-in strictness** - Can set `maturity: "production-ready"` to force all checks
373
+ - **Gradual adoption** - Can enable checks one at a time via `.qualityrc.json`
374
+
375
+ ### For Maintainers
376
+
377
+ - **Better UX** - Reduces confusion and support requests
378
+ - **Professional polish** - Shows thoughtful design
379
+ - **Competitive advantage** - Most quality tools don't have this
380
+
381
+ ## Alternative Approaches Considered
382
+
383
+ ### 1. Manual Check Enablement
384
+
385
+ **Approach**: Require users to manually enable each check via config.
386
+
387
+ **Pros**: Complete control, no magic
388
+
389
+ **Cons**: Requires configuration burden, easy to forget checks, poor DX
390
+
391
+ **Decision**: Rejected - Auto-detection is better UX
392
+
393
+ ### 2. Warning-Only Mode
394
+
395
+ **Approach**: Run all checks but return warnings instead of errors for early projects.
396
+
397
+ **Pros**: Simple implementation
398
+
399
+ **Cons**: Still creates noise, unclear which warnings matter, pollutes CI logs
400
+
401
+ **Decision**: Rejected - Clean skips are clearer than warnings
402
+
403
+ ### 3. Time-Based Activation
404
+
405
+ **Approach**: Enable checks based on project age (e.g., full checks after 30 days).
406
+
407
+ **Pros**: Automatic progression
408
+
409
+ **Cons**: Arbitrary, doesn't reflect actual project state, can't work for fast-paced projects
410
+
411
+ **Decision**: Rejected - File-based detection is more accurate
412
+
413
+ ## Open Questions
414
+
415
+ 1. **Should we add a "learning mode"?**
416
+ - First 10 commits run checks but don't block?
417
+ - Could help teams understand what's needed
418
+
419
+ 2. **Should maturity level be visible in PR checks?**
420
+ - Add a badge showing current maturity?
421
+ - "This project is in BOOTSTRAP mode - 2/10 checks active"
422
+
423
+ 3. **Should we auto-upgrade maturity?**
424
+ - When test files are added, auto-enable test checks?
425
+ - Or require explicit opt-in via `.qualityrc.json`?
426
+
427
+ 4. **How to handle monorepos?**
428
+ - Detect maturity per package?
429
+ - Or at root level?
430
+
431
+ ## Next Steps
432
+
433
+ 1. **User Feedback** - Gather feedback on this proposal
434
+ 2. **Prototype** - Build Phase 1 implementation
435
+ 3. **Test** - Validate with real projects at different maturity levels
436
+ 4. **Iterate** - Refine based on testing
437
+ 5. **Release** - Ship as v3.2.0 with full documentation
438
+
439
+ ---
440
+
441
+ **Author**: Claude (AI Assistant)
442
+ **Date**: 2025-11-19
443
+ **Status**: PROPOSAL - Awaiting feedback
@@ -0,0 +1,100 @@
1
+ # Release Checklist ๐Ÿš€
2
+
3
+ Use this checklist before any version bump or npm publication.
4
+
5
+ ## ๐Ÿ“‹ Pre-Release Documentation Review
6
+
7
+ ### Version Consistency
8
+
9
+ - [ ] `package.json` version matches intended release
10
+ - [ ] `CHANGELOG.md` has entry for current version
11
+ - [ ] No "Unreleased" items that should be in current version
12
+ - [ ] Roadmap section doesn't reference completed versions
13
+
14
+ ### File Inventory Accuracy
15
+
16
+ - [ ] README "What Gets Added" matches `setup.js` file creation logic
17
+ - [ ] All template files in `/config` are documented
18
+ - [ ] TypeScript-specific files mentioned when applicable
19
+ - [ ] Python-specific files mentioned when applicable
20
+
21
+ ### Feature Documentation Completeness
22
+
23
+ - [ ] All new features from this version documented in README
24
+ - [ ] Configuration examples provided for new features
25
+ - [ ] Usage instructions clear and complete
26
+ - [ ] Security features properly documented
27
+
28
+ ### Security Audit Compliance
29
+
30
+ - [ ] `KEYFLASH_INSPIRED_SECURITY_AUDIT.md` findings remain resolved
31
+ - [ ] **CRITICAL**: Gitleaks checksums are real SHA256 values, not placeholders
32
+ - [ ] `lib/validation/config-security.js` GITLEAKS_CHECKSUMS contains verified hashes
33
+ - [ ] No "PLACEHOLDER_CHECKSUM" strings exist in security validation code
34
+ - [ ] Gitleaks pinned version in code matches documented security version
35
+ - [ ] No new security vulnerabilities introduced since audit
36
+ - [ ] All security fixes from audit still in place
37
+ - [ ] Security audit document references current version (or base version for pre-releases like `4.0.1-rc.1`)
38
+
39
+ ### Real Binary Verification
40
+
41
+ - [ ] **CRITICAL**: Nightly gitleaks verification workflow is enabled and passing
42
+ - [ ] Check last run of `.github/workflows/nightly-gitleaks-verification.yml`
43
+ - [ ] No open issues from failed nightly verification runs
44
+ - [ ] Production checksums validated in `tests/gitleaks-production-checksums.test.js`
45
+ - [ ] Real binary download test passes: `RUN_REAL_BINARY_TEST=1 node tests/gitleaks-real-binary-test.js`
46
+ - [ ] CI real binary verification test passes on Linux
47
+ - [ ] **BLOCKERS**: If nightly verification failed within 7 days, investigate before release:
48
+ - [ ] Check if gitleaks v8.28.0 assets were modified upstream
49
+ - [ ] Verify checksums against known good values
50
+ - [ ] Ensure no supply chain compromise indicators
51
+ - [ ] Update checksums only if legitimate upstream change confirmed
52
+
53
+ ### Workflow Documentation Alignment
54
+
55
+ - [ ] GitHub Actions steps match actual workflow files
56
+ - [ ] Security scanning steps accurately described
57
+ - [ ] Lighthouse CI integration properly documented
58
+ - [ ] Python workflow steps match `quality-python.yml`
59
+
60
+ ### Cross-Reference Verification
61
+
62
+ Run these commands to verify alignment:
63
+
64
+ ```bash
65
+ # Check what files setup.js actually creates
66
+ grep -n "writeFileSync\|copyFileSync" setup.js
67
+
68
+ # Compare with README "What Gets Added" section
69
+ grep -A 20 "What Gets Added" README.md
70
+
71
+ # Verify workflow steps match documentation
72
+ diff <(grep -E "^ - name:" .github/workflows/quality.yml) \
73
+ <(grep -E "โœ….*-" README.md | head -10)
74
+ ```
75
+
76
+ ## ๐Ÿงช Pre-Release Testing
77
+
78
+ - [ ] `npm test` passes
79
+ - [ ] Test in clean directory: `npx create-qa-architect@latest`
80
+ - [ ] Verify all documented files are created
81
+ - [ ] Check that workflows run successfully
82
+
83
+ ## ๐Ÿ“ฆ Publication Steps
84
+
85
+ - [ ] Update version: `npm version patch|minor|major`
86
+ - [ ] Update CHANGELOG.md with release date
87
+ - [ ] Commit changes: `git commit -m "release: vX.X.X"`
88
+ - [ ] Create git tag: `git tag vX.X.X`
89
+ - [ ] Push: `git push && git push --tags`
90
+ - [ ] Publish: `npm publish`
91
+
92
+ ## ๐Ÿ” Post-Release Verification
93
+
94
+ - [ ] npm shows correct version: `npm view create-qa-architect version`
95
+ - [ ] GitHub release tagged correctly
96
+ - [ ] Documentation renders correctly on npm/GitHub
97
+
98
+ ---
99
+
100
+ **Remember**: This checklist exists because human memory fails. Use it every time.
@@ -0,0 +1,50 @@
1
+ # Dependabot configuration for automated dependency updates
2
+ # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
3
+
4
+ version: 2
5
+ updates:
6
+ # npm dependencies
7
+ - package-ecosystem: 'npm'
8
+ directory: '/'
9
+ schedule:
10
+ interval: 'weekly'
11
+ day: 'monday'
12
+ time: '09:00'
13
+ open-pull-requests-limit: 5
14
+ reviewers:
15
+ - 'brettstark73'
16
+ # Group non-security updates for easier review
17
+ groups:
18
+ development-dependencies:
19
+ dependency-type: 'development'
20
+ update-types: ['patch', 'minor']
21
+ production-dependencies:
22
+ dependency-type: 'production'
23
+ update-types: ['patch', 'minor']
24
+ # Separate security updates (always create individual PRs)
25
+ labels:
26
+ - 'dependencies'
27
+ - 'automated'
28
+ commit-message:
29
+ prefix: 'chore(deps)'
30
+ include: 'scope'
31
+ # Only update to latest release (not pre-release)
32
+ versioning-strategy: increase
33
+
34
+ # GitHub Actions
35
+ - package-ecosystem: 'github-actions'
36
+ directory: '/'
37
+ schedule:
38
+ interval: 'weekly'
39
+ day: 'monday'
40
+ time: '10:00'
41
+ open-pull-requests-limit: 3
42
+ reviewers:
43
+ - 'brettstark73'
44
+ labels:
45
+ - 'dependencies'
46
+ - 'github-actions'
47
+ - 'automated'
48
+ commit-message:
49
+ prefix: 'ci'
50
+ include: 'scope'
@@ -0,0 +1,48 @@
1
+ #!/bin/bash
2
+ # Daily Git sync protocol - prevents divergent branch issues
3
+ # Run this before starting any development work
4
+
5
+ set -e
6
+
7
+ echo "๐Ÿ”„ Git Daily Sync Protocol"
8
+ echo "=========================="
9
+
10
+ # 1. Check current status
11
+ echo "๐Ÿ“ Current status:"
12
+ git status --short
13
+
14
+ # 2. Fetch latest from all remotes
15
+ echo ""
16
+ echo "๐Ÿ“ฅ Fetching from remote..."
17
+ git fetch origin
18
+
19
+ # 3. Check for unpushed local commits
20
+ UNPUSHED=$(git log --oneline origin/$(git branch --show-current)..HEAD 2>/dev/null | wc -l)
21
+ if [ "$UNPUSHED" -gt 0 ]; then
22
+ echo "โš ๏ธ You have $UNPUSHED unpushed commit(s):"
23
+ git log --oneline origin/$(git branch --show-current)..HEAD
24
+ echo ""
25
+ echo "๐Ÿš€ Pushing local commits..."
26
+ git push
27
+ fi
28
+
29
+ # 4. Check if we're behind remote
30
+ BEHIND=$(git log --oneline HEAD..origin/$(git branch --show-current) 2>/dev/null | wc -l)
31
+ if [ "$BEHIND" -gt 0 ]; then
32
+ echo "๐Ÿ“ฅ You are $BEHIND commit(s) behind remote. Pulling..."
33
+ git pull --rebase
34
+ fi
35
+
36
+ # 5. Final status
37
+ echo ""
38
+ echo "โœ… Git sync complete!"
39
+ echo "๐Ÿ“Š Final status:"
40
+ git status --short
41
+
42
+ # 6. Show recent activity
43
+ echo ""
44
+ echo "๐Ÿ“ˆ Recent activity (last 5 commits):"
45
+ git log --oneline --graph -5
46
+
47
+ echo ""
48
+ echo "๐ŸŽฏ Repository is now synchronized and ready for development"