create-qa-architect 5.9.1 → 5.10.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/.github/workflows/quality.yml +26 -8
- package/LICENSE +1 -1
- package/README.md +24 -1
- package/config/defaults.js +1 -0
- package/docs/DEVELOPMENT-WORKFLOW.md +625 -0
- package/docs/MONOREPO-COMPATIBILITY-FIX.md +103 -0
- package/docs/OWNER-LICENSE-FIX.md +143 -0
- package/docs/ROLLOUT-v5.10.0.md +442 -0
- package/docs/STRIPE-LIVE-MODE-CHECKLIST.md +88 -0
- package/docs/STRIPE-LIVE-MODE-DEPLOYMENT.md +288 -0
- package/docs/TEST-COVERAGE-IMPROVEMENTS.md +18 -0
- package/docs/TURBOREPO-SUPPORT.md +174 -0
- package/eslint.config.cjs +32 -46
- package/lib/billing-dashboard.html +6 -3
- package/lib/commands/analyze-ci.js +3 -3
- package/lib/dependency-monitoring-premium.js +22 -22
- package/lib/licensing.js +2 -2
- package/lib/quality-tools-generator.js +14 -5
- package/lib/smart-strategy-generator.js +9 -6
- package/lib/validation/documentation.js +3 -1
- package/lib/workflow-config.js +41 -78
- package/marketing/README.md +34 -0
- package/marketing/reference/landing-page.html +615 -0
- package/package.json +45 -10
- package/public-key.pem +9 -0
- package/scripts/fix-owner-license.sh +44 -0
- package/scripts/generate-license-keys.js +43 -0
- package/scripts/smart-test-strategy.sh +45 -34
- package/templates/scripts/smart-test-strategy.sh +8 -2
|
@@ -12,15 +12,23 @@ name: Quality Checks
|
|
|
12
12
|
on:
|
|
13
13
|
push:
|
|
14
14
|
branches: [main, master, develop]
|
|
15
|
-
|
|
15
|
+
paths-ignore:
|
|
16
|
+
- '**.md'
|
|
17
|
+
- 'docs/**'
|
|
18
|
+
- 'LICENSE'
|
|
19
|
+
- '.gitignore'
|
|
20
|
+
- '.editorconfig'
|
|
16
21
|
pull_request:
|
|
17
22
|
branches: [main, master, develop]
|
|
18
|
-
|
|
23
|
+
schedule:
|
|
24
|
+
- cron: '0 0 * * 0' # Weekly on Sunday (security scans)
|
|
25
|
+
workflow_dispatch: # Manual trigger
|
|
19
26
|
|
|
20
27
|
# Prevent duplicate runs - cancel in-progress when new commit pushed
|
|
21
28
|
concurrency:
|
|
22
29
|
group: quality-${{ github.workflow }}-${{ github.ref }}
|
|
23
30
|
cancel-in-progress: true
|
|
31
|
+
# WORKFLOW_MODE: minimal
|
|
24
32
|
|
|
25
33
|
jobs:
|
|
26
34
|
# Step 1: Detect project maturity level and package manager
|
|
@@ -35,6 +43,8 @@ jobs:
|
|
|
35
43
|
has-css: ${{ steps.detect.outputs.has-css }}
|
|
36
44
|
package-manager: ${{ steps.detect-pm.outputs.manager }}
|
|
37
45
|
install-cmd: ${{ steps.detect-pm.outputs.install-cmd }}
|
|
46
|
+
is-turborepo: ${{ steps.detect-pm.outputs.is-turborepo }}
|
|
47
|
+
turbo-prefix: ${{ steps.detect-pm.outputs.turbo-prefix }}
|
|
38
48
|
|
|
39
49
|
steps:
|
|
40
50
|
- name: Checkout code
|
|
@@ -66,6 +76,16 @@ jobs:
|
|
|
66
76
|
echo "install-cmd=npm install" >> $GITHUB_OUTPUT
|
|
67
77
|
fi
|
|
68
78
|
|
|
79
|
+
# Detect Turborepo
|
|
80
|
+
if [ -f turbo.json ]; then
|
|
81
|
+
echo "is-turborepo=true" >> $GITHUB_OUTPUT
|
|
82
|
+
echo "turbo-prefix=turbo run" >> $GITHUB_OUTPUT
|
|
83
|
+
echo "📦 Turborepo detected - will use 'turbo run' for tasks"
|
|
84
|
+
else
|
|
85
|
+
echo "is-turborepo=false" >> $GITHUB_OUTPUT
|
|
86
|
+
echo "turbo-prefix=" >> $GITHUB_OUTPUT
|
|
87
|
+
fi
|
|
88
|
+
|
|
69
89
|
- name: Detect Project Maturity
|
|
70
90
|
id: detect
|
|
71
91
|
run: |
|
|
@@ -81,6 +101,7 @@ jobs:
|
|
|
81
101
|
echo "📊 Project Detection Results"
|
|
82
102
|
echo "Package Manager: ${{ steps.detect-pm.outputs.manager }}"
|
|
83
103
|
echo "Install Command: ${{ steps.detect-pm.outputs.install-cmd }}"
|
|
104
|
+
echo "Turborepo: ${{ steps.detect-pm.outputs.is-turborepo }}"
|
|
84
105
|
echo "Maturity: ${{ steps.detect.outputs.maturity }}"
|
|
85
106
|
echo "Source files: ${{ steps.detect.outputs.source-count }}"
|
|
86
107
|
echo "Test files: ${{ steps.detect.outputs.test-count }}"
|
|
@@ -156,8 +177,7 @@ jobs:
|
|
|
156
177
|
security:
|
|
157
178
|
runs-on: ubuntu-latest
|
|
158
179
|
needs: detect-maturity
|
|
159
|
-
|
|
160
|
-
if: needs.detect-maturity.outputs.has-deps == 'true'
|
|
180
|
+
if: (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && needs.detect-maturity.outputs.has-deps == 'true'
|
|
161
181
|
|
|
162
182
|
steps:
|
|
163
183
|
- name: Checkout code
|
|
@@ -276,8 +296,6 @@ jobs:
|
|
|
276
296
|
runs-on: ubuntu-latest
|
|
277
297
|
needs: detect-maturity
|
|
278
298
|
if: fromJSON(needs.detect-maturity.outputs.test-count) > 0
|
|
279
|
-
# TESTS_CONDITION_PLACEHOLDER
|
|
280
|
-
# MATRIX_PLACEHOLDER
|
|
281
299
|
strategy:
|
|
282
300
|
fail-fast: false
|
|
283
301
|
matrix:
|
|
@@ -534,6 +552,6 @@ jobs:
|
|
|
534
552
|
else
|
|
535
553
|
echo "- ⚠️ Documentation: $DOCS_RESULT" >> $GITHUB_STEP_SUMMARY
|
|
536
554
|
fi
|
|
537
|
-
|
|
555
|
+
# PR comment step not enabled (use --pr-comments to add)
|
|
538
556
|
|
|
539
|
-
#
|
|
557
|
+
# Slack alerts not enabled (use --alerts-slack to add)
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ npx create-qa-architect@latest
|
|
|
61
61
|
| Tier | Price | What You Get |
|
|
62
62
|
| -------- | ----------------- | -------------------------------------------------------------------------------------------------- |
|
|
63
63
|
| **Free** | $0 | CLI tool, basic linting/formatting, npm audit (capped: 1 private repo, 50 runs/mo) |
|
|
64
|
-
| **Pro** | $
|
|
64
|
+
| **Pro** | $49/mo or $490/yr | **Security scanning (Gitleaks + ESLint security)**, Smart Test Strategy, multi-language, unlimited |
|
|
65
65
|
|
|
66
66
|
> **Pro included in [VBL Starter Kit](https://vibebuildlab.com/starter-kit)**
|
|
67
67
|
|
|
@@ -372,6 +372,29 @@ Want to improve this tool?
|
|
|
372
372
|
|
|
373
373
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
374
374
|
|
|
375
|
+
## Pro Tier & Billing
|
|
376
|
+
|
|
377
|
+
### Purchasing Pro
|
|
378
|
+
|
|
379
|
+
Pro tier ($49/mo or $490/yr) includes:
|
|
380
|
+
|
|
381
|
+
- Security scanning (Gitleaks + ESLint security rules)
|
|
382
|
+
- Smart Test Strategy (risk-based pre-push validation)
|
|
383
|
+
- Multi-language support (Python, Shell scripts)
|
|
384
|
+
- Unlimited private repos and runs
|
|
385
|
+
|
|
386
|
+
Purchase at [vibebuildlab.com/qa-architect](https://vibebuildlab.com/qa-architect)
|
|
387
|
+
|
|
388
|
+
### Server-Side Setup (Maintainers Only)
|
|
389
|
+
|
|
390
|
+
The billing system uses Stripe webhooks to manage licenses. If you're deploying your own instance:
|
|
391
|
+
|
|
392
|
+
1. Set up webhook handler (see `webhook-handler.js`)
|
|
393
|
+
2. Configure Stripe live mode keys
|
|
394
|
+
3. Deploy to production server
|
|
395
|
+
|
|
396
|
+
See [docs/STRIPE-LIVE-MODE-DEPLOYMENT.md](docs/STRIPE-LIVE-MODE-DEPLOYMENT.md) for complete setup guide.
|
|
397
|
+
|
|
375
398
|
## Support
|
|
376
399
|
|
|
377
400
|
1. Review GitHub Actions logs
|
package/config/defaults.js
CHANGED
|
@@ -12,6 +12,7 @@ const DEFAULT_STYLELINT_TARGET = `**/*.{${STYLELINT_EXTENSIONS.join(',')}}`
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
const baseScripts = {
|
|
15
|
+
prepare: '[ "$CI" = "true" ] && echo \'Skipping Husky in CI\' || husky',
|
|
15
16
|
format: 'prettier --write .',
|
|
16
17
|
'format:check': 'prettier --check .',
|
|
17
18
|
test: 'vitest run --passWithNoTests',
|