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.
- package/.opencode/.markdownlint.json +5 -0
- package/.opencode/DIRECTORY_TYPES.md +133 -0
- package/.opencode/agents/scss-engineer.md +169 -0
- package/.opencode/context/working-with-nathan.md +72 -0
- package/.opencode/prompt-code-review.md +73 -0
- package/.opencode/prompt-review-component-utility.md +51 -0
- package/.opencode/prompt-review-documentation.md +110 -0
- package/.opencode/skills/jtb-documentation/SKILL.md +249 -0
- package/.opencode/skills/jtb-layout/SKILL.md +101 -0
- package/.opencode/skills/markdown-formatting/SKILL.md +79 -0
- package/.opencode/skills/tailwind-to-jtb/SKILL.md +79 -0
- package/AGENTS.md +110 -0
- package/dev.html +0 -201
- package/docs/animation.md +130 -0
- package/docs/api/architecture-naming.md +80 -0
- package/docs/api/build-classes.md +109 -0
- package/docs/api/make-from-breakpoint.md +53 -0
- package/docs/api/make-on-breakpoint.md +53 -0
- package/docs/api/make-position-based-class.md +84 -0
- package/docs/api/make-single-property-class.md +80 -0
- package/docs/api/make-themes.md +55 -0
- package/docs/api/make-to-breakpoint.md +53 -0
- package/docs/api/makers.md +16 -0
- package/docs/api/variables.md +41 -0
- package/docs/api/workflow.md +122 -0
- package/docs/aria.md +192 -0
- package/docs/automatic-spacing.md +97 -0
- package/docs/components/accordion.md +198 -0
- package/docs/components/box.md +230 -0
- package/docs/components/button.md +87 -0
- package/docs/components/example-navigations.md +19 -0
- package/docs/components/forms.md +280 -0
- package/docs/components/menu.md +165 -0
- package/docs/components/navbar.md +164 -0
- package/docs/components/overview.md +103 -0
- package/docs/components/pagination.md +88 -0
- package/docs/components/table.md +130 -0
- package/docs/conventions-and-architecture-rules.md +183 -0
- package/docs/core-architecture.md +114 -0
- package/docs/customisation.md +44 -0
- package/docs/design-decisions.md +155 -0
- package/docs/developer-responsive-class-generation.md +284 -0
- package/docs/display-and-visibility.md +56 -0
- package/docs/examples/form-examples.md +297 -0
- package/docs/examples/layout-dashboard.md +145 -0
- package/docs/examples/responsive-design-patterns.md +69 -0
- package/docs/examples/ui-elements.md +119 -0
- package/docs/installation.md +40 -0
- package/docs/introduction.md +128 -0
- package/docs/layer-system.md +99 -0
- package/docs/layouts-and-structures-next.md +149 -0
- package/docs/layouts-and-structures.md +92 -0
- package/docs/magic-classes.md +98 -0
- package/docs/margin-padding-spacing.md +86 -0
- package/docs/resolvers.md +7 -7
- package/docs/responsive-design.md +111 -0
- package/docs/responsive-testing.html +228 -0
- package/docs/responsive-testing.md +448 -0
- package/docs/showcase-typography.md +236 -0
- package/docs/state-management.md +81 -0
- package/docs/themes.md +119 -0
- package/docs/utilities/animation.md +130 -0
- package/docs/utilities/border.md +182 -0
- package/docs/utilities/display-and-visibility.md +56 -0
- package/docs/utilities/effects.md +28 -0
- package/docs/utilities/position.md +105 -0
- package/docs/utilities/transforms.md +90 -0
- package/docs/variable-system.md +121 -0
- package/framework-status.md +229 -0
- package/index.html +128 -89
- package/main.js +9 -2
- package/opencode.json +8 -0
- package/package.json +18 -13
- package/postcss.config.js +22 -0
- package/prompt.md +0 -0
- package/public/images/favicon.svg +1 -1
- package/public/images/logo.svg +1 -1
- package/public/images/svg/jtb-icon.svg +9 -0
- package/public/svg/blur-red.svg +12 -12
- package/public/svg/blur.svg +1 -1
- package/public/svg/icons.svg +40 -0
- package/readme.md +23 -82
- package/src/base/_auto-spacing.scss +6 -6
- package/src/base/_base.scss +78 -108
- package/src/base/_list.scss +19 -6
- package/src/base/_root.scss +49 -2
- package/src/base/_table.scss +28 -0
- package/src/base/_typography.scss +20 -13
- package/src/base/index.scss +1 -0
- package/src/build.scss +7 -7
- package/src/components/_badge.scss +29 -0
- package/src/components/_banner.scss +2 -2
- package/src/components/_box.scss +19 -22
- package/src/components/_button.scss +38 -28
- package/src/components/_dropdown.scss +21 -3
- package/src/components/_icon.scss +14 -24
- package/src/components/_loaders-and-spinners.scss +58 -0
- package/src/components/_menu.scss +73 -16
- package/src/components/_navbar.scss +12 -53
- package/src/components/_other.scss +17 -2
- package/src/components/_tabs.scss +31 -22
- package/src/components/index.scss +5 -3
- package/src/extras/_hero.scss +0 -1
- package/src/extras/_nk-app.scss +37 -29
- package/src/extras/_nk-docs.scss +262 -41
- package/src/extras/choices.scss +73 -73
- package/src/forms/_control.scss +61 -57
- package/src/forms/_file.scss +6 -7
- package/src/forms/_form.scss +37 -62
- package/src/forms/_toggle.scss +30 -20
- package/src/functions/_classes.scss +38 -17
- package/src/functions/_color-functions.scss +28 -23
- package/src/functions/_helpers.scss +5 -0
- package/src/functions/_map-and-list-helpers.scss +7 -8
- package/src/functions/_resolvers.scss +50 -28
- package/src/functions/_strings.scss +4 -3
- package/src/maps_and_variables/_base.scss +76 -49
- package/src/maps_and_variables/_colors.scss +69 -315
- package/src/maps_and_variables/_components.scss +77 -45
- package/src/maps_and_variables/_config.scss +68 -51
- package/src/maps_and_variables/_forms.scss +38 -0
- package/src/maps_and_variables/_typography.scss +65 -10
- package/src/maps_and_variables/_value-maps.scss +187 -0
- package/src/maps_and_variables/index.scss +2 -5
- package/src/mixins/_backgrounds.scss +9 -8
- package/src/mixins/_breakpoint-utilities.scss +86 -0
- package/src/mixins/_build-magic-classes.scss +71 -60
- package/src/mixins/_build-magic-grid.scss +16 -50
- package/src/mixins/_gradients.scss +82 -0
- package/src/mixins/_magic-shared.scss +67 -0
- package/src/mixins/_media-container-queries.scss +120 -0
- package/src/mixins/_state.scss +44 -0
- package/src/mixins/_themes.scss +55 -0
- package/src/mixins/_transition.scss +15 -6
- package/src/mixins/build-system/_breakpoint-handlers.scss +100 -0
- package/src/mixins/build-system/_controllers.scss +77 -0
- package/src/mixins/build-system/_helpers.scss +20 -0
- package/src/mixins/build-system/_layers.scss +136 -0
- package/src/mixins/build-system/_make-classes.scss +127 -0
- package/src/mixins/build-system/_make-properties.scss +39 -0
- package/src/mixins/build-system/_normalise-config.scss +59 -0
- package/src/play.scss +24 -8
- package/src/tests.scss +102 -0
- package/src/utilities/_alignment.scss +7 -3
- package/src/utilities/_animation.scss +177 -0
- package/src/utilities/_backgrounds.scss +10 -4
- package/src/utilities/_border.scss +22 -11
- package/src/utilities/_container.scss +4 -3
- package/src/utilities/_display-visibility.scss +26 -9
- package/src/utilities/_effects.scss +18 -3
- package/src/utilities/_flexbox.scss +6 -5
- package/src/utilities/_gradients.scss +59 -0
- package/src/utilities/_grid.scss +17 -54
- package/src/utilities/_interactivity.scss +5 -2
- package/src/utilities/_layout.scss +7 -4
- package/src/utilities/_magic-classes.scss +30 -0
- package/src/utilities/_misc.scss +18 -37
- package/src/utilities/_sizing.scss +20 -15
- package/src/utilities/_spacing.scss +38 -7
- package/src/utilities/_state.scss +80 -0
- package/src/utilities/_themes.scss +32 -25
- package/src/utilities/_transforms.scss +74 -32
- package/src/utilities/_transition.scss +4 -1
- package/src/utilities/_typography.scss +102 -50
- package/src/utilities.scss +21 -0
- package/vite.config.js +25 -7
- package/_root.scss +0 -31
- package/_themes.scss +0 -165
- package/dev1.html +0 -221
- package/dev2.html +0 -18
- package/docs/directory-structure.md +0 -141
- package/examples/accordion.html +0 -210
- package/examples/dropdown.html +0 -75
- package/examples/examples-to-sort.html +0 -1729
- package/examples/flexbox.html +0 -723
- package/examples/laravel-page-layout.html +0 -227
- package/examples/layout-examples.html +0 -44
- package/examples/navigation-and-menus.html +0 -220
- package/examples/pagination.html +0 -153
- package/examples/sidebar.html +0 -315
- package/examples.html +0 -1041
- package/public/svg/naykel-ui.svg +0 -1
- package/src/common-tools.scss +0 -12
- package/src/maps_and_variables/_form-controls.scss +0 -32
- package/src/maps_and_variables/_property-and-value-maps.scss +0 -50
- package/src/maps_and_variables/_property-maps.scss +0 -52
- package/src/maps_and_variables/_utility-maps.scss +0 -53
- package/src/mixins/_build-classes.scss +0 -115
- package/src/mixins/_build-themes.scss +0 -22
- package/src/mixins/_make-classes.scss +0 -218
- package/src/mixins/_media.scss +0 -104
- package/src/mixins/_property-makers.scss +0 -74
- package/src/mixins/_theme-makers.scss +0 -11
- package/src/utilities/_color.scss +0 -27
|
@@ -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.
|