@stilhq/core 0.5.0 → 0.6.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.
Files changed (161) hide show
  1. package/README.md +61 -0
  2. package/dist/changeset/apply.d.ts +11 -0
  3. package/dist/changeset/apply.d.ts.map +1 -0
  4. package/dist/changeset/apply.js +239 -0
  5. package/dist/changeset/apply.js.map +1 -0
  6. package/dist/changeset/ci-report.d.ts +25 -0
  7. package/dist/changeset/ci-report.d.ts.map +1 -0
  8. package/dist/changeset/ci-report.js +206 -0
  9. package/dist/changeset/ci-report.js.map +1 -0
  10. package/dist/changeset/classify.d.ts +77 -0
  11. package/dist/changeset/classify.d.ts.map +1 -0
  12. package/dist/changeset/classify.js +285 -0
  13. package/dist/changeset/classify.js.map +1 -0
  14. package/dist/changeset/cli-gate.d.ts +46 -0
  15. package/dist/changeset/cli-gate.d.ts.map +1 -0
  16. package/dist/changeset/cli-gate.js +409 -0
  17. package/dist/changeset/cli-gate.js.map +1 -0
  18. package/dist/changeset/conflict.d.ts +11 -0
  19. package/dist/changeset/conflict.d.ts.map +1 -0
  20. package/dist/changeset/conflict.js +130 -0
  21. package/dist/changeset/conflict.js.map +1 -0
  22. package/dist/changeset/diff-components.d.ts +80 -0
  23. package/dist/changeset/diff-components.d.ts.map +1 -0
  24. package/dist/changeset/diff-components.js +264 -0
  25. package/dist/changeset/diff-components.js.map +1 -0
  26. package/dist/changeset/diff-text.d.ts +66 -0
  27. package/dist/changeset/diff-text.d.ts.map +1 -0
  28. package/dist/changeset/diff-text.js +284 -0
  29. package/dist/changeset/diff-text.js.map +1 -0
  30. package/dist/changeset/diff-tokens.d.ts +63 -0
  31. package/dist/changeset/diff-tokens.d.ts.map +1 -0
  32. package/dist/changeset/diff-tokens.js +483 -0
  33. package/dist/changeset/diff-tokens.js.map +1 -0
  34. package/dist/changeset/impact.d.ts +31 -0
  35. package/dist/changeset/impact.d.ts.map +1 -0
  36. package/dist/changeset/impact.js +188 -0
  37. package/dist/changeset/impact.js.map +1 -0
  38. package/dist/changeset/pr-body.d.ts +33 -0
  39. package/dist/changeset/pr-body.d.ts.map +1 -0
  40. package/dist/changeset/pr-body.js +421 -0
  41. package/dist/changeset/pr-body.js.map +1 -0
  42. package/dist/changeset/quality-gate.d.ts +10 -0
  43. package/dist/changeset/quality-gate.d.ts.map +1 -0
  44. package/dist/changeset/quality-gate.js +207 -0
  45. package/dist/changeset/quality-gate.js.map +1 -0
  46. package/dist/changeset/rollback.d.ts +19 -0
  47. package/dist/changeset/rollback.d.ts.map +1 -0
  48. package/dist/changeset/rollback.js +163 -0
  49. package/dist/changeset/rollback.js.map +1 -0
  50. package/dist/ci/template-generator.d.ts +22 -0
  51. package/dist/ci/template-generator.d.ts.map +1 -0
  52. package/dist/ci/template-generator.js +215 -0
  53. package/dist/ci/template-generator.js.map +1 -0
  54. package/dist/core/schema.d.ts +64 -0
  55. package/dist/core/schema.d.ts.map +1 -1
  56. package/dist/core/text.d.ts +45 -0
  57. package/dist/core/text.d.ts.map +1 -0
  58. package/dist/core/text.js +189 -0
  59. package/dist/core/text.js.map +1 -0
  60. package/dist/gate/engine.d.ts +20 -0
  61. package/dist/gate/engine.d.ts.map +1 -0
  62. package/dist/gate/engine.js +109 -0
  63. package/dist/gate/engine.js.map +1 -0
  64. package/dist/gate/types.d.ts +76 -0
  65. package/dist/gate/types.d.ts.map +1 -0
  66. package/dist/gate/types.js +6 -0
  67. package/dist/gate/types.js.map +1 -0
  68. package/dist/index.d.ts +56 -0
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +150 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/pr/comment-manager.d.ts +33 -0
  73. package/dist/pr/comment-manager.d.ts.map +1 -0
  74. package/dist/pr/comment-manager.js +137 -0
  75. package/dist/pr/comment-manager.js.map +1 -0
  76. package/dist/pr/conflict.d.ts +34 -0
  77. package/dist/pr/conflict.d.ts.map +1 -0
  78. package/dist/pr/conflict.js +127 -0
  79. package/dist/pr/conflict.js.map +1 -0
  80. package/dist/pr/generator.d.ts +70 -0
  81. package/dist/pr/generator.d.ts.map +1 -0
  82. package/dist/pr/generator.js +241 -0
  83. package/dist/pr/generator.js.map +1 -0
  84. package/dist/pr/github-api.d.ts +122 -0
  85. package/dist/pr/github-api.d.ts.map +1 -0
  86. package/dist/pr/github-api.js +269 -0
  87. package/dist/pr/github-api.js.map +1 -0
  88. package/dist/report/changeset-report.d.ts +10 -0
  89. package/dist/report/changeset-report.d.ts.map +1 -0
  90. package/dist/report/changeset-report.js +14 -0
  91. package/dist/report/changeset-report.js.map +1 -0
  92. package/dist/report/classification-report.d.ts +12 -0
  93. package/dist/report/classification-report.d.ts.map +1 -0
  94. package/dist/report/classification-report.js +157 -0
  95. package/dist/report/classification-report.js.map +1 -0
  96. package/dist/report/impact-report.d.ts +10 -0
  97. package/dist/report/impact-report.d.ts.map +1 -0
  98. package/dist/report/impact-report.js +47 -0
  99. package/dist/report/impact-report.js.map +1 -0
  100. package/dist/report/summary-report.d.ts +10 -0
  101. package/dist/report/summary-report.d.ts.map +1 -0
  102. package/dist/report/summary-report.js +96 -0
  103. package/dist/report/summary-report.js.map +1 -0
  104. package/dist/report/writer.d.ts +17 -0
  105. package/dist/report/writer.d.ts.map +1 -0
  106. package/dist/report/writer.js +41 -0
  107. package/dist/report/writer.js.map +1 -0
  108. package/dist/rules/engine.d.ts +46 -0
  109. package/dist/rules/engine.d.ts.map +1 -0
  110. package/dist/rules/engine.js +200 -0
  111. package/dist/rules/engine.js.map +1 -0
  112. package/dist/rules/index.d.ts +10 -0
  113. package/dist/rules/index.d.ts.map +1 -0
  114. package/dist/rules/index.js +25 -0
  115. package/dist/rules/index.js.map +1 -0
  116. package/dist/rules/loader.d.ts +20 -0
  117. package/dist/rules/loader.d.ts.map +1 -0
  118. package/dist/rules/loader.js +93 -0
  119. package/dist/rules/loader.js.map +1 -0
  120. package/dist/rules/packs/core.d.ts +14 -0
  121. package/dist/rules/packs/core.d.ts.map +1 -0
  122. package/dist/rules/packs/core.js +377 -0
  123. package/dist/rules/packs/core.js.map +1 -0
  124. package/dist/rules/schema.d.ts +12 -0
  125. package/dist/rules/schema.d.ts.map +1 -0
  126. package/dist/rules/schema.js +149 -0
  127. package/dist/rules/schema.js.map +1 -0
  128. package/dist/rules/types.d.ts +86 -0
  129. package/dist/rules/types.d.ts.map +1 -0
  130. package/dist/rules/types.js +9 -0
  131. package/dist/rules/types.js.map +1 -0
  132. package/dist/types/changeset.d.ts +509 -0
  133. package/dist/types/changeset.d.ts.map +1 -0
  134. package/dist/types/changeset.js +14 -0
  135. package/dist/types/changeset.js.map +1 -0
  136. package/dist/w3c/__tests__/fixtures/tokens-studio-export.json +58 -0
  137. package/dist/w3c/parser.d.ts +44 -0
  138. package/dist/w3c/parser.d.ts.map +1 -0
  139. package/dist/w3c/parser.js +146 -0
  140. package/dist/w3c/parser.js.map +1 -0
  141. package/dist/w3c/types.d.ts +31 -0
  142. package/dist/w3c/types.d.ts.map +1 -0
  143. package/dist/w3c/types.js +7 -0
  144. package/dist/w3c/types.js.map +1 -0
  145. package/dist/w3c/validator.d.ts +14 -0
  146. package/dist/w3c/validator.d.ts.map +1 -0
  147. package/dist/w3c/validator.js +162 -0
  148. package/dist/w3c/validator.js.map +1 -0
  149. package/package.json +6 -4
  150. package/templates/stil-quality-gate.yml +122 -0
  151. package/templates/workspace/.github/PULL_REQUEST_TEMPLATE.md +14 -0
  152. package/templates/workspace/.github/workflows/stil-gate.yml +42 -0
  153. package/templates/workspace/.github/workflows/stil-preview.yml +29 -0
  154. package/templates/workspace/.stil/components/snapshots/.gitkeep +0 -0
  155. package/templates/workspace/.stil/reports/.gitkeep +0 -0
  156. package/templates/workspace/.stil/rules/.gitkeep +0 -0
  157. package/templates/workspace/.stil/text/snapshots/.gitkeep +0 -0
  158. package/templates/workspace/.stil/tokens/config/mapping.json +16 -0
  159. package/templates/workspace/.stil/tokens/raw/.gitkeep +0 -0
  160. package/templates/workspace/README.md +40 -0
  161. package/templates/workspace/package.json +19 -0
@@ -0,0 +1,42 @@
1
+ # Stil Gate — Quality Gate CI for design system changes
2
+ name: Stil Gate
3
+
4
+ on:
5
+ pull_request:
6
+ paths:
7
+ - '.stil/**'
8
+
9
+ jobs:
10
+ gate:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-node@v4
16
+ with:
17
+ node-version: '18'
18
+
19
+ - name: Install dependencies
20
+ run: npm ci
21
+
22
+ - name: Run Stil Gate
23
+ run: npx stil gate --mode ${{ vars.STIL_GATE_MODE || 'warn' }} --ci
24
+ env:
25
+ SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
26
+ SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
27
+ STIL_PROJECT_ID: ${{ secrets.STIL_PROJECT_ID }}
28
+
29
+ - name: Upload Gate Report
30
+ if: always()
31
+ uses: actions/upload-artifact@v4
32
+ with:
33
+ name: stil-gate-report
34
+ path: .stil/reports/
35
+
36
+ - name: Post Gate Comment
37
+ if: github.event_name == 'pull_request'
38
+ run: npx stil gate-comment --pr ${{ github.event.pull_request.number }}
39
+ env:
40
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41
+ SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
42
+ SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
@@ -0,0 +1,29 @@
1
+ # Stil Preview — Storybook preview deployment for design system PRs
2
+ name: Stil Preview
3
+
4
+ on:
5
+ pull_request:
6
+ paths:
7
+ - '.stil/**'
8
+
9
+ jobs:
10
+ preview:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-node@v4
16
+ with:
17
+ node-version: '18'
18
+
19
+ - name: Install dependencies
20
+ run: npm ci
21
+
22
+ - name: Build Storybook
23
+ run: npm run build-storybook
24
+
25
+ - name: Upload Storybook Artifact
26
+ uses: actions/upload-artifact@v4
27
+ with:
28
+ name: storybook-preview
29
+ path: storybook-static/
File without changes
File without changes
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://stil.dev/schemas/mapping.json",
3
+ "version": "1.0",
4
+ "tokens": {
5
+ "collections": [],
6
+ "excludePatterns": []
7
+ },
8
+ "components": {
9
+ "mappings": [],
10
+ "excludePatterns": []
11
+ },
12
+ "text": {
13
+ "locales": ["en"],
14
+ "excludePatterns": []
15
+ }
16
+ }
File without changes
@@ -0,0 +1,40 @@
1
+ # My Workspace — Powered by Stil
2
+
3
+ ## Setup
4
+
5
+ ### 1. Install dependencies
6
+ ```bash
7
+ npm install
8
+ ```
9
+
10
+ ### 2. Configure Secrets
11
+ Add these to your repository secrets (Settings → Secrets → Actions):
12
+ - `SUPABASE_URL` — Your Supabase project URL
13
+ - `SUPABASE_ANON_KEY` — Your Supabase anon key
14
+ - `STIL_PROJECT_ID` — Your Stil project ID
15
+
16
+ ### 3. Configure Gate Mode (Optional)
17
+ Set `STIL_GATE_MODE` repository variable to `warn` (default) or `strict`.
18
+
19
+ ### 4. Connect Figma Plugin
20
+ 1. Open Figma → Plugins → Stil
21
+ 2. Complete the Connect Wizard
22
+ 3. Start scanning!
23
+
24
+ ## Directory Structure
25
+
26
+ - `.stil/tokens/raw/` — Figma Variables (synced by Stil)
27
+ - `.stil/tokens/dist/` — Build outputs (generated by CI)
28
+ - `.stil/components/snapshots/` — Component snapshots
29
+ - `.stil/text/snapshots/` — Text snapshots
30
+ - `.stil/reports/` — Gate reports (generated by CI)
31
+
32
+ ## Workflows
33
+
34
+ - **Figma → Code**: Scan in Plugin → Gate checks → PR auto-generated
35
+ - **Code → Figma**: Edit .stil/ files → Push → Plugin shows changes → Apply
36
+
37
+ ## CI
38
+
39
+ - `stil-gate.yml` — Runs Gate on PRs touching `.stil/`
40
+ - `stil-preview.yml` — Builds Storybook preview on PRs
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "my-workspace",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "build": "stil build",
7
+ "gate": "stil gate",
8
+ "gate:strict": "stil gate --mode strict --ci",
9
+ "preview": "storybook dev -p 6006",
10
+ "build-storybook": "storybook build"
11
+ },
12
+ "dependencies": {
13
+ "@stilhq/core": "^1.0.0"
14
+ },
15
+ "devDependencies": {
16
+ "storybook": "^8.0.0",
17
+ "@storybook/html": "^8.0.0"
18
+ }
19
+ }