start-vibing-stacks 2.6.0 → 2.7.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 (79) hide show
  1. package/dist/index.js +16 -2
  2. package/dist/migrate.d.ts +27 -0
  3. package/dist/migrate.js +217 -0
  4. package/dist/setup.js +10 -0
  5. package/package.json +1 -1
  6. package/stacks/_shared/agents/claude-md-compactor.md +1 -0
  7. package/stacks/_shared/agents/commit-manager.md +1 -0
  8. package/stacks/_shared/agents/documenter.md +1 -0
  9. package/stacks/_shared/agents/domain-updater.md +1 -0
  10. package/stacks/_shared/agents/research-web.md +1 -0
  11. package/stacks/_shared/agents/security-auditor.md +168 -0
  12. package/stacks/_shared/agents/tester.md +1 -0
  13. package/stacks/_shared/hooks/final-check.ts +205 -0
  14. package/stacks/_shared/hooks/stop-validator.ts +77 -1
  15. package/stacks/_shared/skills/accessibility-wcag22/SKILL.md +284 -0
  16. package/stacks/_shared/skills/ci-pipelines/SKILL.md +166 -0
  17. package/stacks/_shared/skills/codebase-knowledge/SKILL.md +5 -0
  18. package/stacks/_shared/skills/database-migrations/SKILL.md +256 -0
  19. package/stacks/_shared/skills/debugging-patterns/SKILL.md +5 -0
  20. package/stacks/_shared/skills/docker-patterns/SKILL.md +5 -0
  21. package/stacks/_shared/skills/docs-tracker/SKILL.md +5 -0
  22. package/stacks/_shared/skills/error-handling/SKILL.md +335 -0
  23. package/stacks/_shared/skills/final-check/SKILL.md +74 -37
  24. package/stacks/_shared/skills/git-workflow/SKILL.md +5 -0
  25. package/stacks/_shared/skills/hook-development/SKILL.md +5 -0
  26. package/stacks/_shared/skills/observability/SKILL.md +351 -0
  27. package/stacks/_shared/skills/performance-patterns/SKILL.md +5 -0
  28. package/stacks/_shared/skills/playwright-automation/SKILL.md +5 -0
  29. package/stacks/_shared/skills/quality-gate/SKILL.md +5 -0
  30. package/stacks/_shared/skills/research-cache/SKILL.md +5 -0
  31. package/stacks/_shared/skills/secrets-management/SKILL.md +245 -0
  32. package/stacks/_shared/skills/security-baseline/SKILL.md +202 -0
  33. package/stacks/_shared/skills/test-coverage/SKILL.md +5 -0
  34. package/stacks/_shared/skills/ui-ux-audit/SKILL.md +5 -0
  35. package/stacks/frontend/react/skills/preline-ui/SKILL.md +5 -0
  36. package/stacks/frontend/react/skills/react-patterns/SKILL.md +5 -0
  37. package/stacks/frontend/react/skills/react-standards/SKILL.md +5 -0
  38. package/stacks/frontend/react/skills/react-ui-patterns/SKILL.md +5 -0
  39. package/stacks/frontend/react/skills/shadcn-ui/SKILL.md +5 -0
  40. package/stacks/frontend/react/skills/tailwind-patterns/SKILL.md +5 -0
  41. package/stacks/frontend/react/skills/zod-validation/SKILL.md +5 -0
  42. package/stacks/frontend/react-inertia/skills/inertia-react/SKILL.md +5 -0
  43. package/stacks/frontend/react-inertia/skills/react-standards/SKILL.md +5 -0
  44. package/stacks/nodejs/skills/api-security-node/SKILL.md +275 -0
  45. package/stacks/nodejs/skills/bun-runtime/SKILL.md +5 -0
  46. package/stacks/nodejs/skills/mongoose-patterns/SKILL.md +5 -0
  47. package/stacks/nodejs/skills/nextjs-app-router/SKILL.md +5 -0
  48. package/stacks/nodejs/skills/trpc-api/SKILL.md +5 -0
  49. package/stacks/nodejs/skills/typescript-strict/SKILL.md +5 -0
  50. package/stacks/nodejs/stack.json +2 -1
  51. package/stacks/nodejs/workflows/ci.yml +90 -0
  52. package/stacks/nodejs/workflows/security.yml +45 -0
  53. package/stacks/php/skills/api-design/SKILL.md +5 -0
  54. package/stacks/php/skills/api-security/SKILL.md +5 -0
  55. package/stacks/php/skills/composer-workflow/SKILL.md +5 -0
  56. package/stacks/php/skills/external-api-patterns/SKILL.md +5 -0
  57. package/stacks/php/skills/inertia-react/SKILL.md +5 -0
  58. package/stacks/php/skills/laravel-inertia-i18n/SKILL.md +5 -0
  59. package/stacks/php/skills/laravel-octane/SKILL.md +5 -0
  60. package/stacks/php/skills/laravel-patterns/SKILL.md +5 -0
  61. package/stacks/php/skills/mariadb-octane/SKILL.md +5 -0
  62. package/stacks/php/skills/php-patterns/SKILL.md +5 -0
  63. package/stacks/php/skills/phpstan-analysis/SKILL.md +5 -0
  64. package/stacks/php/skills/phpunit-testing/SKILL.md +5 -0
  65. package/stacks/php/skills/security-scan-php/SKILL.md +5 -0
  66. package/stacks/php/workflows/ci.yml +106 -0
  67. package/stacks/php/workflows/security.yml +36 -0
  68. package/stacks/python/skills/api-security-python/SKILL.md +312 -0
  69. package/stacks/python/skills/async-patterns/SKILL.md +5 -0
  70. package/stacks/python/skills/django-patterns/SKILL.md +5 -0
  71. package/stacks/python/skills/fastapi-patterns/SKILL.md +5 -0
  72. package/stacks/python/skills/pydantic-validation/SKILL.md +5 -0
  73. package/stacks/python/skills/pytest-testing/SKILL.md +5 -0
  74. package/stacks/python/skills/python-patterns/SKILL.md +5 -0
  75. package/stacks/python/skills/python-performance/SKILL.md +5 -0
  76. package/stacks/python/skills/scripting-automation/SKILL.md +5 -0
  77. package/stacks/python/stack.json +2 -1
  78. package/stacks/python/workflows/ci.yml +76 -0
  79. package/stacks/python/workflows/security.yml +56 -0
@@ -0,0 +1,90 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ concurrency:
9
+ group: ${{ github.workflow }}-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ ci:
17
+ runs-on: ubuntu-latest
18
+ timeout-minutes: 15
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - uses: oven-sh/setup-bun@v2
23
+ with:
24
+ bun-version: latest
25
+
26
+ - name: Install dependencies
27
+ run: bun install --frozen-lockfile
28
+
29
+ - name: Typecheck
30
+ run: bun run typecheck
31
+
32
+ - name: Lint
33
+ run: bun run lint
34
+
35
+ - name: Unit tests
36
+ run: bun run test
37
+
38
+ - name: Build
39
+ run: bun run build
40
+
41
+ security:
42
+ runs-on: ubuntu-latest
43
+ timeout-minutes: 10
44
+ steps:
45
+ - uses: actions/checkout@v4
46
+ with:
47
+ fetch-depth: 0
48
+
49
+ - uses: oven-sh/setup-bun@v2
50
+ with:
51
+ bun-version: latest
52
+
53
+ - name: Install dependencies
54
+ run: bun install --frozen-lockfile
55
+
56
+ - name: Audit dependencies
57
+ run: bun audit --audit-level=high
58
+ continue-on-error: false
59
+
60
+ - name: Gitleaks (secret scan)
61
+ uses: gitleaks/gitleaks-action@v2
62
+ env:
63
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64
+
65
+ e2e:
66
+ runs-on: ubuntu-latest
67
+ timeout-minutes: 30
68
+ if: github.event_name == 'pull_request' || github.ref == 'refs/heads/main'
69
+ steps:
70
+ - uses: actions/checkout@v4
71
+
72
+ - uses: oven-sh/setup-bun@v2
73
+ with:
74
+ bun-version: latest
75
+
76
+ - name: Install dependencies
77
+ run: bun install --frozen-lockfile
78
+
79
+ - name: Install Playwright browsers
80
+ run: bunx playwright install --with-deps chromium
81
+
82
+ - name: Run Playwright tests
83
+ run: bunx playwright test
84
+
85
+ - uses: actions/upload-artifact@v4
86
+ if: failure()
87
+ with:
88
+ name: playwright-report
89
+ path: playwright-report/
90
+ retention-days: 14
@@ -0,0 +1,45 @@
1
+ name: Security
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '0 4 * * 1' # Mondays 04:00 UTC
6
+ push:
7
+ branches: [main]
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+ security-events: write
13
+
14
+ jobs:
15
+ audit:
16
+ runs-on: ubuntu-latest
17
+ timeout-minutes: 10
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - uses: oven-sh/setup-bun@v2
21
+ with:
22
+ bun-version: latest
23
+ - run: bun install --frozen-lockfile
24
+ - run: bun audit --audit-level=high
25
+
26
+ gitleaks:
27
+ runs-on: ubuntu-latest
28
+ timeout-minutes: 5
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ with:
32
+ fetch-depth: 0
33
+ - uses: gitleaks/gitleaks-action@v2
34
+ env:
35
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36
+
37
+ codeql:
38
+ runs-on: ubuntu-latest
39
+ timeout-minutes: 20
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+ - uses: github/codeql-action/init@v3
43
+ with:
44
+ languages: javascript-typescript
45
+ - uses: github/codeql-action/analyze@v3
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: api-design
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # PHP API Design Standards
2
7
 
3
8
  ## RESTful Principles
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: api-security
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # API Security — NSA-Level Hardening for Laravel + Octane
2
7
 
3
8
  **ALWAYS invoke when building APIs, auth endpoints, or handling user input.**
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: composer-workflow
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # Composer Workflow
2
7
 
3
8
  ## Requirements
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: external-api-patterns
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # External API Patterns — HTTP Client for Laravel + Octane
2
7
 
3
8
  **ALWAYS invoke when consuming external APIs, webhooks, or third-party services.**
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: inertia-react
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # Inertia.js + React — Laravel Frontend
2
7
 
3
8
  **ALWAYS invoke when writing Inertia.js pages, components, or shared data.**
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: laravel-inertia-i18n
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # Laravel + Inertia i18n — Centralized Translations
2
7
 
3
8
  **ALWAYS invoke when adding translations, creating new pages, or working with multilingual content.**
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: laravel-octane
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # Laravel Octane (RoadRunner) Patterns
2
7
 
3
8
  ## How Octane Works
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: laravel-patterns
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # Laravel Patterns & Standards
2
7
 
3
8
  ## Model Standards
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: mariadb-octane
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # MariaDB + Octane — Database Patterns for Persistent Workers
2
7
 
3
8
  **ALWAYS invoke when writing queries, migrations, models, or DB config in Laravel Octane.**
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: php-patterns
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # PHP 8.3+ Patterns for Laravel
2
7
 
3
8
  ## Version Requirements
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: phpstan-analysis
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # PHPStan Static Analysis
2
7
 
3
8
  ## Setup
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: phpunit-testing
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # PHPUnit Testing Skill
2
7
 
3
8
  ## Setup
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: security-scan-php
3
+ version: 1.0.0
4
+ ---
5
+
1
6
  # Laravel Security Scan
2
7
 
3
8
  ## OWASP Top 10 for Laravel
@@ -0,0 +1,106 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ concurrency:
9
+ group: ${{ github.workflow }}-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ ci:
17
+ runs-on: ubuntu-latest
18
+ timeout-minutes: 15
19
+ services:
20
+ mariadb:
21
+ image: mariadb:11
22
+ env:
23
+ MARIADB_ROOT_PASSWORD: root
24
+ MARIADB_DATABASE: testing
25
+ ports: ['3306:3306']
26
+ options: >-
27
+ --health-cmd "healthcheck.sh --connect --innodb_initialized"
28
+ --health-interval 10s --health-timeout 5s --health-retries 5
29
+ redis:
30
+ image: redis:7-alpine
31
+ ports: ['6379:6379']
32
+ options: >-
33
+ --health-cmd "redis-cli ping"
34
+ --health-interval 10s --health-timeout 5s --health-retries 5
35
+ steps:
36
+ - uses: actions/checkout@v4
37
+
38
+ - uses: shivammathur/setup-php@v2
39
+ with:
40
+ php-version: '8.3'
41
+ extensions: mbstring, pdo_mysql, redis, swoole, intl, bcmath, zip
42
+ coverage: pcov
43
+ tools: composer:v2
44
+
45
+ - name: Cache composer
46
+ uses: actions/cache@v4
47
+ with:
48
+ path: vendor
49
+ key: composer-${{ hashFiles('composer.lock') }}
50
+
51
+ - name: Install dependencies
52
+ run: composer install --no-interaction --prefer-dist --optimize-autoloader
53
+
54
+ - name: Copy env
55
+ run: cp .env.example .env && php artisan key:generate
56
+
57
+ - name: PHPStan
58
+ run: vendor/bin/phpstan analyse --no-progress --memory-limit=512M
59
+
60
+ - name: Pint (code style)
61
+ run: vendor/bin/pint --test
62
+
63
+ - name: Migrate
64
+ env:
65
+ DB_CONNECTION: mariadb
66
+ DB_HOST: 127.0.0.1
67
+ DB_PORT: 3306
68
+ DB_DATABASE: testing
69
+ DB_USERNAME: root
70
+ DB_PASSWORD: root
71
+ run: php artisan migrate --force
72
+
73
+ - name: PHPUnit / Pest
74
+ env:
75
+ DB_CONNECTION: mariadb
76
+ DB_HOST: 127.0.0.1
77
+ DB_PORT: 3306
78
+ DB_DATABASE: testing
79
+ DB_USERNAME: root
80
+ DB_PASSWORD: root
81
+ REDIS_HOST: 127.0.0.1
82
+ run: vendor/bin/pest --coverage --min=70
83
+
84
+ security:
85
+ runs-on: ubuntu-latest
86
+ timeout-minutes: 10
87
+ steps:
88
+ - uses: actions/checkout@v4
89
+ with:
90
+ fetch-depth: 0
91
+
92
+ - uses: shivammathur/setup-php@v2
93
+ with:
94
+ php-version: '8.3'
95
+ tools: composer:v2
96
+
97
+ - name: Install dependencies
98
+ run: composer install --no-interaction --prefer-dist
99
+
100
+ - name: Composer audit
101
+ run: composer audit
102
+
103
+ - name: Gitleaks (secret scan)
104
+ uses: gitleaks/gitleaks-action@v2
105
+ env:
106
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,36 @@
1
+ name: Security
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '0 4 * * 1'
6
+ push:
7
+ branches: [main]
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+ security-events: write
13
+
14
+ jobs:
15
+ audit:
16
+ runs-on: ubuntu-latest
17
+ timeout-minutes: 10
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - uses: shivammathur/setup-php@v2
21
+ with:
22
+ php-version: '8.3'
23
+ tools: composer:v2
24
+ - run: composer install --no-interaction --prefer-dist
25
+ - run: composer audit
26
+
27
+ gitleaks:
28
+ runs-on: ubuntu-latest
29
+ timeout-minutes: 5
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+ with:
33
+ fetch-depth: 0
34
+ - uses: gitleaks/gitleaks-action@v2
35
+ env:
36
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}