nk_jtb 0.21.0 → 0.23.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 (194) hide show
  1. package/.opencode/.markdownlint.json +5 -0
  2. package/.opencode/DIRECTORY_TYPES.md +133 -0
  3. package/.opencode/agents/scss-engineer.md +169 -0
  4. package/.opencode/context/working-with-nathan.md +72 -0
  5. package/.opencode/prompt-code-review.md +73 -0
  6. package/.opencode/prompt-review-component-utility.md +51 -0
  7. package/.opencode/prompt-review-documentation.md +110 -0
  8. package/.opencode/skills/jtb-documentation/SKILL.md +249 -0
  9. package/.opencode/skills/jtb-layout/SKILL.md +101 -0
  10. package/.opencode/skills/markdown-formatting/SKILL.md +79 -0
  11. package/.opencode/skills/tailwind-to-jtb/SKILL.md +79 -0
  12. package/AGENTS.md +110 -0
  13. package/dev.html +0 -201
  14. package/docs/animation.md +130 -0
  15. package/docs/api/architecture-naming.md +80 -0
  16. package/docs/api/build-classes.md +109 -0
  17. package/docs/api/make-from-breakpoint.md +53 -0
  18. package/docs/api/make-on-breakpoint.md +53 -0
  19. package/docs/api/make-position-based-class.md +84 -0
  20. package/docs/api/make-single-property-class.md +80 -0
  21. package/docs/api/make-themes.md +55 -0
  22. package/docs/api/make-to-breakpoint.md +53 -0
  23. package/docs/api/makers.md +16 -0
  24. package/docs/api/variables.md +41 -0
  25. package/docs/api/workflow.md +122 -0
  26. package/docs/aria.md +192 -0
  27. package/docs/automatic-spacing.md +97 -0
  28. package/docs/components/accordion.md +198 -0
  29. package/docs/components/box.md +230 -0
  30. package/docs/components/button.md +87 -0
  31. package/docs/components/example-navigations.md +19 -0
  32. package/docs/components/forms.md +280 -0
  33. package/docs/components/menu.md +165 -0
  34. package/docs/components/navbar.md +164 -0
  35. package/docs/components/overview.md +103 -0
  36. package/docs/components/pagination.md +88 -0
  37. package/docs/components/table.md +130 -0
  38. package/docs/conventions-and-architecture-rules.md +183 -0
  39. package/docs/core-architecture.md +114 -0
  40. package/docs/customisation.md +44 -0
  41. package/docs/design-decisions.md +155 -0
  42. package/docs/developer-responsive-class-generation.md +284 -0
  43. package/docs/display-and-visibility.md +56 -0
  44. package/docs/examples/form-examples.md +297 -0
  45. package/docs/examples/layout-dashboard.md +145 -0
  46. package/docs/examples/responsive-design-patterns.md +69 -0
  47. package/docs/examples/ui-elements.md +119 -0
  48. package/docs/installation.md +40 -0
  49. package/docs/introduction.md +128 -0
  50. package/docs/layer-system.md +99 -0
  51. package/docs/layouts-and-structures-next.md +149 -0
  52. package/docs/layouts-and-structures.md +92 -0
  53. package/docs/magic-classes.md +98 -0
  54. package/docs/margin-padding-spacing.md +86 -0
  55. package/docs/resolvers.md +7 -7
  56. package/docs/responsive-design.md +111 -0
  57. package/docs/responsive-testing.html +228 -0
  58. package/docs/responsive-testing.md +448 -0
  59. package/docs/showcase-typography.md +236 -0
  60. package/docs/state-management.md +81 -0
  61. package/docs/themes.md +119 -0
  62. package/docs/utilities/animation.md +130 -0
  63. package/docs/utilities/border.md +182 -0
  64. package/docs/utilities/display-and-visibility.md +56 -0
  65. package/docs/utilities/effects.md +28 -0
  66. package/docs/utilities/position.md +105 -0
  67. package/docs/utilities/transforms.md +90 -0
  68. package/docs/variable-system.md +121 -0
  69. package/framework-status.md +229 -0
  70. package/index.html +128 -89
  71. package/main.js +9 -2
  72. package/opencode.json +8 -0
  73. package/package.json +18 -13
  74. package/postcss.config.js +22 -0
  75. package/prompt.md +0 -0
  76. package/public/images/favicon.svg +1 -1
  77. package/public/images/logo.svg +1 -1
  78. package/public/images/svg/jtb-icon.svg +9 -0
  79. package/public/svg/blur-red.svg +12 -12
  80. package/public/svg/blur.svg +1 -1
  81. package/public/svg/icons.svg +40 -0
  82. package/readme.md +23 -82
  83. package/src/base/_auto-spacing.scss +6 -6
  84. package/src/base/_base.scss +78 -108
  85. package/src/base/_list.scss +19 -6
  86. package/src/base/_root.scss +49 -2
  87. package/src/base/_table.scss +28 -0
  88. package/src/base/_typography.scss +20 -13
  89. package/src/base/index.scss +1 -0
  90. package/src/build.scss +7 -7
  91. package/src/components/_badge.scss +29 -0
  92. package/src/components/_banner.scss +2 -2
  93. package/src/components/_box.scss +19 -22
  94. package/src/components/_button.scss +38 -28
  95. package/src/components/_dropdown.scss +21 -3
  96. package/src/components/_icon.scss +14 -24
  97. package/src/components/_loaders-and-spinners.scss +58 -0
  98. package/src/components/_menu.scss +73 -16
  99. package/src/components/_navbar.scss +12 -53
  100. package/src/components/_other.scss +17 -2
  101. package/src/components/_tabs.scss +31 -22
  102. package/src/components/index.scss +5 -3
  103. package/src/extras/_hero.scss +0 -1
  104. package/src/extras/_nk-app.scss +37 -29
  105. package/src/extras/_nk-docs.scss +262 -41
  106. package/src/extras/choices.scss +73 -73
  107. package/src/forms/_control.scss +61 -57
  108. package/src/forms/_file.scss +6 -7
  109. package/src/forms/_form.scss +37 -62
  110. package/src/forms/_toggle.scss +30 -20
  111. package/src/functions/_classes.scss +38 -17
  112. package/src/functions/_color-functions.scss +28 -23
  113. package/src/functions/_helpers.scss +5 -0
  114. package/src/functions/_map-and-list-helpers.scss +7 -8
  115. package/src/functions/_resolvers.scss +50 -28
  116. package/src/functions/_strings.scss +4 -3
  117. package/src/maps_and_variables/_base.scss +76 -49
  118. package/src/maps_and_variables/_colors.scss +69 -315
  119. package/src/maps_and_variables/_components.scss +77 -45
  120. package/src/maps_and_variables/_config.scss +68 -51
  121. package/src/maps_and_variables/_forms.scss +38 -0
  122. package/src/maps_and_variables/_typography.scss +65 -10
  123. package/src/maps_and_variables/_value-maps.scss +187 -0
  124. package/src/maps_and_variables/index.scss +2 -5
  125. package/src/mixins/_backgrounds.scss +9 -8
  126. package/src/mixins/_breakpoint-utilities.scss +86 -0
  127. package/src/mixins/_build-magic-classes.scss +71 -60
  128. package/src/mixins/_build-magic-grid.scss +16 -50
  129. package/src/mixins/_gradients.scss +82 -0
  130. package/src/mixins/_magic-shared.scss +67 -0
  131. package/src/mixins/_media-container-queries.scss +120 -0
  132. package/src/mixins/_state.scss +44 -0
  133. package/src/mixins/_themes.scss +55 -0
  134. package/src/mixins/_transition.scss +15 -6
  135. package/src/mixins/build-system/_breakpoint-handlers.scss +100 -0
  136. package/src/mixins/build-system/_controllers.scss +77 -0
  137. package/src/mixins/build-system/_helpers.scss +20 -0
  138. package/src/mixins/build-system/_layers.scss +136 -0
  139. package/src/mixins/build-system/_make-classes.scss +127 -0
  140. package/src/mixins/build-system/_make-properties.scss +39 -0
  141. package/src/mixins/build-system/_normalise-config.scss +59 -0
  142. package/src/play.scss +24 -8
  143. package/src/tests.scss +102 -0
  144. package/src/utilities/_alignment.scss +7 -3
  145. package/src/utilities/_animation.scss +177 -0
  146. package/src/utilities/_backgrounds.scss +10 -4
  147. package/src/utilities/_border.scss +22 -11
  148. package/src/utilities/_container.scss +4 -3
  149. package/src/utilities/_display-visibility.scss +26 -9
  150. package/src/utilities/_effects.scss +18 -3
  151. package/src/utilities/_flexbox.scss +6 -5
  152. package/src/utilities/_gradients.scss +59 -0
  153. package/src/utilities/_grid.scss +17 -54
  154. package/src/utilities/_interactivity.scss +5 -2
  155. package/src/utilities/_layout.scss +7 -4
  156. package/src/utilities/_magic-classes.scss +30 -0
  157. package/src/utilities/_misc.scss +18 -37
  158. package/src/utilities/_sizing.scss +20 -15
  159. package/src/utilities/_spacing.scss +38 -7
  160. package/src/utilities/_state.scss +80 -0
  161. package/src/utilities/_themes.scss +32 -25
  162. package/src/utilities/_transforms.scss +74 -32
  163. package/src/utilities/_transition.scss +4 -1
  164. package/src/utilities/_typography.scss +102 -50
  165. package/src/utilities.scss +21 -0
  166. package/vite.config.js +25 -7
  167. package/_root.scss +0 -31
  168. package/_themes.scss +0 -165
  169. package/dev1.html +0 -221
  170. package/dev2.html +0 -18
  171. package/docs/directory-structure.md +0 -141
  172. package/examples/accordion.html +0 -210
  173. package/examples/dropdown.html +0 -75
  174. package/examples/examples-to-sort.html +0 -1729
  175. package/examples/flexbox.html +0 -723
  176. package/examples/laravel-page-layout.html +0 -227
  177. package/examples/layout-examples.html +0 -44
  178. package/examples/navigation-and-menus.html +0 -220
  179. package/examples/pagination.html +0 -153
  180. package/examples/sidebar.html +0 -315
  181. package/examples.html +0 -1041
  182. package/public/svg/naykel-ui.svg +0 -1
  183. package/src/common-tools.scss +0 -12
  184. package/src/maps_and_variables/_form-controls.scss +0 -32
  185. package/src/maps_and_variables/_property-and-value-maps.scss +0 -50
  186. package/src/maps_and_variables/_property-maps.scss +0 -52
  187. package/src/maps_and_variables/_utility-maps.scss +0 -53
  188. package/src/mixins/_build-classes.scss +0 -115
  189. package/src/mixins/_build-themes.scss +0 -22
  190. package/src/mixins/_make-classes.scss +0 -218
  191. package/src/mixins/_media.scss +0 -104
  192. package/src/mixins/_property-makers.scss +0 -74
  193. package/src/mixins/_theme-makers.scss +0 -11
  194. package/src/utilities/_color.scss +0 -27
@@ -0,0 +1,5 @@
1
+ {
2
+ "MD041": false,
3
+ "MD024": false,
4
+ "MD013": false
5
+ }
@@ -0,0 +1,133 @@
1
+ # OpenCode Directory Types
2
+
3
+ ## Project Structure
4
+
5
+ ```bash +code
6
+ project/
7
+ ├── AGENTS.md ← Special file (root, no .opencode/)
8
+ ├── opencode.json ← Config file (root)
9
+ └── .opencode/
10
+ ├── context/ ← Auto-loaded guidelines
11
+ ├── skills/ ← On-demand skills
12
+ └── agents/ ← Custom subagents
13
+ ```
14
+
15
+ ## Where Config Lives
16
+
17
+ | File | Purpose | How Used |
18
+ | --------------- | ------------- | -------------------------------------------- |
19
+ | `opencode.json` | Main config | Must be named exactly, references everything |
20
+ | `AGENTS.md` | Project agent | OpenCode auto-discovers in root |
21
+
22
+ ## Directory Types
23
+
24
+ ```bash +code
25
+ .opencode/
26
+ ├── context/ ← Auto-loaded
27
+ ├── skills/ ← On-demand
28
+ └── agents/ ← On-demand
29
+ ```
30
+
31
+ ## Context vs Skills vs Agents
32
+
33
+ | | Auto-loaded | On-demand | Use When |
34
+ | ---------- | ----------- | --------- | ---------------------------- |
35
+ | `context/` | ✓ | | Guidelines that always apply |
36
+ | `skills/` | | ✓ | Task-specific instructions |
37
+ | `agents/` | | ✓ | Specialized workers |
38
+
39
+ ---
40
+
41
+ ## Context/
42
+
43
+ General guidelines loaded automatically.
44
+
45
+ ```bash +code
46
+ .opencode/context/
47
+ └── *.md # Referenced in opencode.json
48
+ ```
49
+
50
+ **When to add:**
51
+
52
+ - Working preferences (e.g., `working-with-nathan.md`)
53
+ - SCSS conventions (e.g., `scss-guidelines.md`)
54
+ - Team coding standards
55
+ - Framework philosophy
56
+
57
+ **Example:**
58
+
59
+ ```json +code
60
+ // opencode.json
61
+ {
62
+ "instructions": [
63
+ ".opencode/context/scss-guidelines.md",
64
+ ".opencode/context/working-with-nathan.md"
65
+ ]
66
+ }
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Skills/
72
+
73
+ Reusable task-specific modules loaded on-demand.
74
+
75
+ ```bash +code
76
+ .opencode/skills/
77
+ └── <name>/
78
+ └── SKILL.md # Frontmatter required
79
+ ```
80
+
81
+ **When to add:**
82
+
83
+ - Language-specific formatting (e.g., `markdown-formatting/`)
84
+ - Tool-specific workflows (e.g., `git-commit/`)
85
+ - Framework patterns (e.g., `laravel-php/`)
86
+
87
+ **Example SKILL.md:**
88
+
89
+ ```yaml +code
90
+ ---
91
+ name: markdown-formatting
92
+ description: Applies markdown conventions with Torchlight tags
93
+ ---
94
+ ## When to use
95
+ Writing or editing markdown files with Torchlight code blocks.
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Agents/
101
+
102
+ Custom subagents invoked for specialized tasks.
103
+
104
+ ```bash +code
105
+ .opencode/agents/
106
+ └── <name>.md
107
+ ```
108
+
109
+ **When to add:**
110
+
111
+ - SCSS Engineer (framework-specific work)
112
+ - API Specialist (backend work)
113
+ - Test Writer (test patterns)
114
+
115
+ **Example:**
116
+
117
+ ```bash +code
118
+ skill({ name: "scss-engineer" }) ← Agent invoked for SCSS tasks
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Quick Reference
124
+
125
+ | Need | Place |
126
+ | --------------------------- | --------------- |
127
+ | Guidelines that always load | `context/` |
128
+ | Task-specific instructions | `skills/` |
129
+ | Specialized worker | `agents/` |
130
+ | Main config | `opencode.json` |
131
+ | Project agent | `AGENTS.md` |
132
+
133
+ ---
@@ -0,0 +1,169 @@
1
+ # SCSS Engineer Agent
2
+
3
+ Specializes in JTB framework development, component architecture, and utility generation.
4
+
5
+ ## Scope and Authority
6
+
7
+ - This agent is for **building/extending JTB internals** (SCSS architecture,
8
+ maps, mixins, utility generation, components).
9
+ - For **framework usage rules** (responsive semantics, conversion behavior,
10
+ class mapping contract), follow `AGENTS.md`.
11
+ - This file extends `AGENTS.md` and must not override it.
12
+
13
+ ## Key Conventions
14
+
15
+ - **Numbers = rem values:** `m-1` = 1rem, `m-05` = 0.5rem (leading zero dropped)
16
+ - **Property = class name:** `relative`, `sticky` (NOT `position-relative`)
17
+ - **Axis modifiers:** `-xy`, `-x`, `-y`, `-t`, `-b`, `-l`, `-r`
18
+ - **Pattern:** `{breakpoint}:{property}-{variant/value}`
19
+ - **NOT Tailwind:** No `position-`, no `-x`/`-y` suffixes for everything
20
+
21
+ ## Expertise
22
+
23
+ - JTB modular architecture
24
+ - Builder/Maker class generation system
25
+ - Three-map variable pattern
26
+ - Context-aware modifier system
27
+ - Logical properties (RTL support)
28
+ - Stylelint configuration
29
+
30
+ ## Component Workflow
31
+
32
+ ### 1. Add Variables
33
+
34
+ In `src/maps_and_variables/_components.scss`:
35
+
36
+ ```scss
37
+ $card-padding: 1rem !default;
38
+ $card-bg: #fff !default;
39
+ $card-radius: 0.5rem !default;
40
+ ```
41
+
42
+ ### 2. Create Component
43
+
44
+ In `src/components/_card.scss`:
45
+
46
+ ```scss
47
+ @use '../maps_and_variables/components' as *;
48
+
49
+ %card {
50
+ background: $card-bg;
51
+ border-radius: $card-radius;
52
+ padding: $card-padding;
53
+ }
54
+
55
+ .#{$card-prefix} {
56
+ @extend %card;
57
+
58
+ &-header { }
59
+ &-body { }
60
+ &-footer { }
61
+ }
62
+ ```
63
+
64
+ ### 3. Export
65
+
66
+ In `src/components/index.scss`:
67
+
68
+ ```scss
69
+ @forward '_card';
70
+ ```
71
+
72
+ ## Utility Generation
73
+
74
+ ### Using build-classes()
75
+
76
+ ```scss
77
+ $margin-map: smart-merge($margin-variants, $margin-values);
78
+
79
+ $props: (
80
+ margin: (
81
+ prefix: 'm',
82
+ values: $margin-map,
83
+ unit: 'rem',
84
+ positions: $logical-position-map
85
+ ),
86
+ );
87
+
88
+ @include build-classes($props, $responsive: true);
89
+ ```
90
+
91
+ ### Using make-single-property-class()
92
+
93
+ ```scss
94
+ @include make-single-property-class(
95
+ 'display',
96
+ 'flex',
97
+ 'flex',
98
+ $breakpoints: (md, lg)
99
+ );
100
+ ```
101
+
102
+ ### Using make-position-based-class()
103
+
104
+ ```scss
105
+ @include make-position-based-class(
106
+ 'padding',
107
+ 1rem,
108
+ $logical-position-map,
109
+ 'p',
110
+ null,
111
+ (md, lg)
112
+ );
113
+ ```
114
+
115
+ ## Three-Map Pattern
116
+
117
+ ```scss
118
+ $property-values: (0, 1, 2, 3) !default;
119
+ $property-variants: (auto: auto, base: 1rem) !default;
120
+ $property-map: smart-merge($property-variants, $property-values);
121
+ ```
122
+
123
+ ## Documentation
124
+
125
+ See `jtb-documentation` skill for detailed documentation patterns.
126
+
127
+ **Key principles:**
128
+
129
+ - **Only document what exists** (verify in SCSS first)
130
+ - **Utilities:** Progressive complexity with `+demo-folded` and grid layouts
131
+ - **Minimal prose:** Show code, don't explain
132
+
133
+ ## Context-Aware Modifiers
134
+
135
+ Modifiers require component context:
136
+
137
+ ```html
138
+ <!-- ✅ CORRECT -->
139
+ <div class="bx primary">Themed box</div>
140
+ <button class="btn xs">Small button</button>
141
+
142
+ <!-- ❌ WRONG -->
143
+ <div class="primary">No component context</div>
144
+ ```
145
+
146
+ ## File References
147
+
148
+ | Purpose | File |
149
+ | ----------------- | ------------------------- |
150
+ | Work in progress | `docs-for-review/**/*.md` |
151
+ | Finalized docs | `docs/**/*.md` |
152
+ | Builder/Maker API | `docs-for-review/api/*.md`|
153
+ | Import order | `src/build.scss` |
154
+
155
+ ## Common Tasks
156
+
157
+ | Task | Location |
158
+ | ---------------------- | ------------------------------------- |
159
+ | Add spacing utilities | `src/utilities/_spacing.scss` |
160
+ | Add component | `src/components/_name.scss` |
161
+ | Add theme color | `src/maps_and_variables/_colors.scss` |
162
+ | Add typography utility | `src/utilities/_typography.scss` |
163
+ | Configure breakpoints | `src/maps_and_variables/_config.scss` |
164
+
165
+ ## Linting
166
+
167
+ ```bash
168
+ npm run lint
169
+ ```
@@ -0,0 +1,72 @@
1
+ Here’s a tightened, AI-friendly version that’s very direct and enforces the “stop vs do” rules clearly:
2
+
3
+ # Working with Nathan
4
+
5
+ ## When to Act vs When to Ask
6
+
7
+ **Do it without asking when:**
8
+
9
+ - The task is explicitly requested.
10
+ - The approach is documented in skills or guidelines.
11
+ - You’re following a known pattern from the codebase.
12
+
13
+ **Stop and ask before proceeding when:**
14
+
15
+ - Modifying config files not mentioned in the request.
16
+ - Inventing command flags, options, or behavior.
17
+ - Multiple valid approaches exist and I haven't specified which.
18
+ - You're unsure if your interpretation matches my intent.
19
+ - Something feels off or conflicts with existing patterns.
20
+
21
+ **Red flags = STOP immediately:**
22
+
23
+ - “I’ll also…”
24
+ - “While I’m at it…”
25
+ - “To make this work, I need to first…”
26
+ - “This requires…”
27
+ - Using commands or options not present in existing code or docs.
28
+
29
+ *Rule of thumb:* If in doubt, pause and check.
30
+
31
+ ## Code Philosophy
32
+
33
+ - **Explicit over clever** — Show what’s happening rather than hiding it.
34
+ - **Start small, expand later** — Validate the approach before building out.
35
+ - **Config = WHAT, Code = HOW** — Config defines structure; code defines implementation.
36
+
37
+ ## Frustrations to Avoid
38
+
39
+ - Overcomplicating simple things.
40
+ - Suggesting solutions I've already rejected.
41
+ - Hiding behavior or trying to "save me work."
42
+ - Making me second-guess solid decisions.
43
+ - Ignoring instructions or being indirect.
44
+
45
+ ## Skill Philosophy
46
+
47
+ - **Self-contained skills** — Each skill must have all information needed to execute its task.
48
+ - **No external assumptions** — Skills should never rely on context outside themselves.
49
+
50
+ ## Proactive Verification
51
+
52
+ Always compare your current understanding or implementation with what I have explicitly asked:
53
+
54
+ - **Highlight differences clearly** - If something doesn't match, show what differs and why
55
+ - **Point out missing steps** - If you notice a relevant gap, suggest adding it
56
+ - **Record discoveries** - Integrate new findings into context automatically
57
+ - **Present in list format** - For clarity, use lists for suggestions and findings
58
+
59
+ **Example:**
60
+
61
+ Differences found:
62
+
63
+ 1. You asked for X, but the code does Y
64
+ 2. Missing: Z step in the workflow
65
+
66
+ Suggestion: Add step Z here...
67
+
68
+ **Do not act unless instructed**, except to highlight differences, missing info, or updates.
69
+
70
+ Don't just flip flop when I ask something based on my understanding. If you see
71
+ a clear reason to do something different, explain it and get agreement before
72
+ proceeding.
@@ -0,0 +1,73 @@
1
+ # Code Review Prompt for NK JTB SCSS Framework
2
+
3
+ Before reviewing, load and read these files in full:
4
+
5
+ - `AGENTS.md`
6
+ - `SKILL.md`
7
+ - `scss-engineer.md`
8
+ - `working-with-nathan.md`
9
+ -
10
+
11
+ You are reviewing code for the NK JTB SCSS Framework. Please follow these
12
+ guidelines:
13
+
14
+ - **Framework Alignment:** Ensure all code strictly follows the JTB conventions,
15
+ naming, and architecture as described in the documentation. Do not use
16
+ Tailwind or other frameworks as reference for implementation details.
17
+ - **Directory Structure:** Verify files are placed in the correct directories
18
+ (`base`, `components`, `forms`, `utilities`, `mixins`, `functions`,
19
+ `maps_and_variables`).
20
+ - **Import Rules:** Check that only `@use` and `@forward` are used for imports.
21
+ `@import` is prohibited.
22
+ - **Component Structure:** Components should provide structure only, not
23
+ decoration. Styling must be handled by utilities.
24
+ - **Modifiers:** Only use context-aware modifiers (e.g., `.primary`), never
25
+ component-specific ones (e.g., `.btn-primary`).
26
+ - **Variables:** All values must use variables or maps—no hardcoded values.
27
+ - **Nesting:** No selector nesting deeper than 3 levels.
28
+ - **Override Order:** Confirm the import order: base → components → forms →
29
+ utilities.
30
+ - **Documentation:** All new or changed code must be documented using the JTB
31
+ documentation conventions. Drafts go in `docs-for-review/`, finalized docs in
32
+ `docs/`.
33
+
34
+ **Review Checklist:**
35
+
36
+ 1. Does the code follow JTB naming, structure, and logical property conventions?
37
+ 2. Are all values variable-driven and override-friendly?
38
+ 3. Is the code placed in the correct directory and imported in the right order?
39
+ 4. Are all prohibited patterns (see AGENTS.md) avoided?
40
+ 5. Is documentation provided or updated as required?
41
+
42
+ Provide clear, actionable feedback. If you suggest changes, reference the
43
+ specific JTB documentation section or rule.
44
+
45
+ ## Skill & Agent File Review
46
+
47
+ When any of the source-of-truth files are included in the changeset, review them
48
+ for accuracy against the actual codebase:
49
+
50
+ **Accuracy**
51
+
52
+ - Do the documented conventions match how the SCSS actually works?
53
+ - Are examples valid and runnable — not invented or outdated?
54
+ - Do file paths, class names, and patterns reflect the real codebase?
55
+
56
+ **Completeness**
57
+
58
+ - Are new patterns or workflows introduced in this PR documented?
59
+ - Are deprecated patterns removed or flagged?
60
+
61
+ **Internal Consistency**
62
+
63
+ - Do the files agree with each other? Flag any contradictions between
64
+ `scss-engineer.md`, `SKILL.md`, `AGENTS.md`, and `working-with-nathan.md`
65
+ - Does a change in one file require an update in another?
66
+
67
+ **Scope Drift**
68
+
69
+ - Do changes silently expand or restrict the agent/skill scope without clear intent?
70
+
71
+ **Output Format:**
72
+ List issues grouped by file. For each issue: severity (blocking/suggestion),
73
+ the violated rule, and a suggested fix.
@@ -0,0 +1,51 @@
1
+ # JTB Component/Utility Review
2
+
3
+ Review the menu component.
4
+
5
+ Before reviewing, load and read these files in full:
6
+
7
+ - `AGENTS.md`
8
+ - `docs/conventions-and-architecture-rules.md`
9
+
10
+ ## Scope
11
+
12
+ Review only the named target and its directly related docs/examples.
13
+
14
+ ## Review Questions
15
+
16
+ 1. Is the documentation correct and complete?
17
+ 2. Does the code follow JTB rules and conventions?
18
+ 3. Does it match the JTB philosophy and architecture rules?
19
+ 4. Are there any mismatches between docs and code?
20
+ 5. Are there any prohibited patterns from `AGENTS.md` in this target?
21
+ 6. Are there target-level bugs/regressions visible?
22
+
23
+ ## Priority Definitions
24
+
25
+ - `critical` — violates a documented rule or produces incorrect behavior. Must fix.
26
+ - `high` — likely causes confusion, inconsistency, or future breakage. Should fix.
27
+ - `low` — style, preference, or minor improvement. Fix if you want.
28
+
29
+ ## Output Requirements
30
+
31
+ - Be direct and critical.
32
+ - Do not praise unnecessarily.
33
+ - Separate strengths and weaknesses clearly.
34
+ - Suggest improvements with trade-offs.
35
+ - If something is unclear or inconsistent, call it out explicitly.
36
+
37
+ Write results to `review-[target].md` in the project root.
38
+
39
+ Use these sections in order:
40
+
41
+ - **Confirmed Issues**
42
+ - **Docs-Code Mismatches**
43
+ - **Findings**
44
+ - **Pass** — if no confirmed issues: `No blocking issues found.`
45
+
46
+ For every issue use this format:
47
+
48
+ **Issue title** · `critical/high/low`
49
+ `file:line`
50
+ Rule: brief quote
51
+ Fix: one line
@@ -0,0 +1,110 @@
1
+ # JTB Documentation Review
2
+
3
+ Review the documentation for the JTB framework.
4
+
5
+ Load and read these in full first. These define what is correct:
6
+
7
+ - `introduction.md`
8
+ - `docs/conventions-and-architecture-rules.md`
9
+
10
+ Also load:
11
+
12
+ - `AGENTS.md` — intended source of truth, but flag any contradictions with the
13
+ above.
14
+
15
+ ## Goals
16
+
17
+ 1. Validate what exists — is documentation correct, consistent, and
18
+ rule-compliant?
19
+ 2. Identify what's missing — what is absent but expected?
20
+
21
+ ## Process
22
+
23
+ This review runs in three passes:
24
+
25
+ 1. **Identify** — surface contradictions and gaps. Incomplete docs are expected;
26
+ flag them without treating incompleteness as a failure.
27
+ 2. **Triage** — decide what's worth pursuing before any work happens.
28
+ 3. **Sweep** — act only on approved items.
29
+
30
+ ---
31
+
32
+ ## Scope
33
+
34
+ Review only:
35
+
36
+ - `docs/` — all foundational documentation
37
+ - `src/maps_and_variables/` — all variable and configuration files
38
+
39
+ Do not review:
40
+
41
+ - `src/mixins/` — build system internals
42
+ - `src/functions/` — build system internals
43
+ - `src/base/` — output layer
44
+
45
+ ---
46
+
47
+ ## Review Questions
48
+
49
+ ### Validation
50
+
51
+ 1. Do the variable files in `src/maps_and_variables/` match what the
52
+ conventions doc describes?
53
+ 2. Do all final maps follow the `-map` suffix rule?
54
+ 3. Is the three-map pattern applied consistently across all variable files?
55
+ 4. Is `smart-merge` order correct — variants first, values second?
56
+ 5. Are `!default` flags present where the conventions require them?
57
+ 6. Do the breakpoint values in `_base.scss` match what `responsive-design.md`
58
+ describes?
59
+ 7. Does `index.scss` forward all expected files?
60
+
61
+ ### Gap Identification
62
+
63
+ 1. Are there variable files with no corresponding documentation?
64
+ 2. Are there conventions described in the docs with no implementation in
65
+ `src/maps_and_variables/`?
66
+
67
+ ---
68
+
69
+ ## Priority Definitions
70
+
71
+ > Priorities are tentative in early passes — they guide triage, not final
72
+ > decisions.
73
+
74
+ - `critical` — contradicts a source of truth or produces incorrect guidance.
75
+ Must fix.
76
+ - `high` — likely causes confusion, inconsistency, or future breakage. Should
77
+ fix.
78
+ - `low` — style, preference, or minor improvement. Fix if you want.
79
+ - `missing` — expected content that isn't there.
80
+
81
+ ---
82
+
83
+ ## Output Requirements
84
+
85
+ - Be direct and critical.
86
+ - Do not praise unnecessarily.
87
+ - Separate findings by type clearly.
88
+ - Suggest improvements with trade-offs.
89
+ - If something is unclear or inconsistent, call it out explicitly.
90
+
91
+ Write results to `review-docs-run1.md` in the project root.
92
+
93
+ Use these sections in order:
94
+
95
+ - **Confirmed Issues** — rule violations, bugs, mismatches
96
+ - **Gaps** — missing docs, tests, examples, or conventions
97
+ - **Findings** — observations that don't rise to issues
98
+ - **Pass** — if no confirmed issues: `No blocking issues found.`
99
+
100
+ For every confirmed issue use this format:
101
+
102
+ **Issue title** · `critical/high/low`
103
+ `file:line`
104
+ Rule: brief quote
105
+ Fix: one line
106
+
107
+ For every gap use this format:
108
+
109
+ **Gap title** · `missing`
110
+ What's absent and where it's expected.