nk_jtb 0.25.1 → 0.26.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.
@@ -1,7 +1,20 @@
1
- Create documentation for the `[component].scss` component, following the conventions and architecture rules defined in the JTB documentation.
1
+ Create documentation for `[component]`.
2
2
 
3
- Invoke the `jtb-documentation` skill before starting. Read these in full first
4
- — these define what is correct:
3
+ Invoke the `jtb-documentation` skill before starting.
5
4
 
6
- - `introduction.md`
7
- - `docs/conventions-and-architecture-rules.md`
5
+ ## Type
6
+
7
+ [Component / Utility]
8
+
9
+ ## What it does
10
+
11
+ [One or two sentences describing purpose — not implementation.]
12
+
13
+ ## Cover
14
+
15
+ [List specific sections or aspects to document, e.g. basic usage, modifiers,
16
+ SCSS variables, utility examples.]
17
+
18
+ ## Notes
19
+
20
+ [Optional: existing markup, decisions already made, related components.]
@@ -1,6 +1,6 @@
1
1
  Review the code changes for the NK JTB SCSS framework.
2
2
 
3
- Invoke the `jtb-documentation` skill before starting.
3
+ Invoke the `scss-engineer` and `jtb-documentation` skills before starting.
4
4
 
5
5
  ## Guidelines
6
6
 
@@ -1,23 +1,20 @@
1
1
  Review the documentation for the JTB framework.
2
2
 
3
- Invoke the `jtb-documentation` skill before starting. Read these in full first
4
- — these define what is correct:
3
+ Invoke the `jtb-documentation` skill before starting. Read these in full first — they define what is correct:
5
4
 
6
5
  - `introduction.md`
7
6
  - `docs/conventions-and-architecture-rules.md`
8
7
 
9
8
  ## Goals
10
9
 
11
- 1. Validate what exists — is documentation correct, consistent, and
12
- rule-compliant?
13
- 2. Identify what's missing — what is absent but expected?
10
+ 1. Validate what exists — correct, consistent, and rule-compliant?
11
+ 2. Identify what's missing — absent but expected?
14
12
 
15
13
  ## Process
16
14
 
17
- This review runs in three passes:
15
+ Three passes:
18
16
 
19
- 1. **Identify** — surface contradictions and gaps. Incomplete docs are expected;
20
- flag them without treating incompleteness as a failure.
17
+ 1. **Identify** — surface contradictions and gaps. Flag incompleteness without treating it as failure.
21
18
  2. **Triage** — decide what's worth pursuing before any work happens.
22
19
  3. **Sweep** — act only on approved items.
23
20
 
@@ -30,64 +27,40 @@ Review only:
30
27
 
31
28
  Do not review:
32
29
 
33
- - `src/mixins/` — build system internals
34
- - `src/functions/` — build system internals
35
- - `src/base/` — output layer
30
+ - `src/mixins/`, `src/functions/`, `src/base/` — build system internals and output layer
36
31
 
37
32
  ## Review Questions
38
33
 
39
34
  ### Validation
40
35
 
41
- 1. Do the variable files in `src/maps_and_variables/` match what the
42
- conventions doc describes?
36
+ 1. Do variable files in `src/maps_and_variables/` match what the conventions doc describes?
43
37
  2. Do all final maps follow the `-map` suffix rule?
44
- 3. Is the three-map pattern applied consistently across all variable files?
38
+ 3. Is the three-map pattern applied consistently?
45
39
  4. Is `smart-merge` order correct — variants first, values second?
46
- 5. Are `!default` flags present where the conventions require them?
47
- 6. Do the breakpoint values in `_base.scss` match what `responsive-design.md`
48
- describes?
40
+ 5. Are `!default` flags present where required?
41
+ 6. Do breakpoint values in `_base.scss` match `responsive-design.md`?
49
42
  7. Does `index.scss` forward all expected files?
50
43
 
51
- ### Gap Identification
44
+ ### Gaps
52
45
 
53
46
  1. Are there variable files with no corresponding documentation?
54
- 2. Are there conventions described in the docs with no implementation in
55
- `src/maps_and_variables/`?
47
+ 2. Are there conventions with no implementation in `src/maps_and_variables/`?
56
48
 
57
- ## Priority Definitions
49
+ ## Priorities
58
50
 
59
- - `critical` — contradicts a source of truth or produces incorrect guidance.
60
- Must fix.
61
- - `high` — likely causes confusion, inconsistency, or future breakage. Should
62
- fix.
63
- - `low` — style, preference, or minor improvement. Fix if you want.
51
+ - `critical` — contradicts a source of truth. Must fix.
52
+ - `high` — likely causes confusion or future breakage. Should fix.
53
+ - `low` — minor improvement. Fix if you want.
64
54
  - `missing` — expected content that isn't there.
65
55
 
66
- ## Output Requirements
56
+ ## Output
67
57
 
68
- - Be direct and critical.
69
- - Do not praise unnecessarily.
70
- - Separate findings by type clearly.
71
- - Suggest improvements with trade-offs.
72
- - If something is unclear or inconsistent, call it out explicitly.
58
+ Be direct. Do not praise. Call out anything unclear or inconsistent.
73
59
 
74
- Write results to `review-docs-run1.md` in the project root.
75
-
76
- Use these sections in order:
77
-
78
- - **Confirmed Issues** — rule violations, bugs, mismatches
79
- - **Gaps** — missing docs, tests, examples, or conventions
80
- - **Findings** — observations that don't rise to issues
81
- - **Pass** — if no confirmed issues: `No blocking issues found.`
82
-
83
- For every confirmed issue use this format:
60
+ Write results to `review-docs.md` in the project root using these sections:
84
61
 
62
+ **Confirmed Issues** — rule violations, bugs, mismatches
85
63
  **Issue title** · `critical/high/low`
86
64
  `file:line`
87
65
  Rule: brief quote
88
- Fix: one line
89
-
90
- For every gap use this format:
91
-
92
- **Gap title** · `missing`
93
- What's absent and where it's expected.
66
+ Fix: on
@@ -6,6 +6,23 @@ description: >-
6
6
  updated, this skill applies.
7
7
  ---
8
8
 
9
+ Extends `nk-documentation-best-practices` — apply both, this skill takes
10
+ precedence where they conflict.
11
+
12
+ ## Nav Management
13
+
14
+ Nav lives in `scripts/jtb-nav.json`. Route names follow `docs.jtb.{path}`:
15
+
16
+ - `docs/components/list.md` → `docs.jtb.components.list`
17
+ - `docs/variable-system.md` → `docs.jtb.variable-system`
18
+
19
+ Add a new entry to the appropriate group when a doc is confirmed complete.
20
+
21
+ ## Completion Follow-Through
22
+
23
+ - Add confirmed doc to `scripts/jtb-nav.json`.
24
+ - Update the relevant row in `docs/jtb-status.md`.
25
+
9
26
  ## Documentation Locations
10
27
 
11
28
  - **All documentation** → `docs/`
@@ -13,128 +30,74 @@ description: >-
13
30
  ## Workflow
14
31
 
15
32
  - Create new documentation directly in `docs/`.
16
- - Mark every new heading with `(review)` until its content is confirmed.
17
- - When you update a section carrying `(review)`, ask: "[Section name] has been
18
- updated. Is this section complete?"
19
- - On confirmation: remove the `(review)` tag. If the confirmed section is in a
20
- component or utility doc (not a skill, reference doc, or api doc), ask: "Do
21
- you want this added to a showcase?"
33
+ - On section confirmation: if the section is in a component or utility doc (not
34
+ a skill, reference doc, or api doc), ask: "Do you want this added to a
35
+ showcase?"
22
36
  - If yes, add it to the appropriate showcase file before moving on.
23
- - Leave `(review)` on any headings that are still unresolved.
24
37
 
25
38
  ## Showcases
26
39
 
27
- Showcases are quick visual references — not comprehensive docs. There are three
28
- showcase files:
40
+ Showcases are quick visual references — not comprehensive docs. Three files:
29
41
 
30
42
  - `docs/showcase-typography.md` — font sizes, weights, families, text utilities
31
- - `docs/showcase-ui.md` — components and UI elements: buttons, badges,
32
- checklist, box etc.
43
+ - `docs/showcase-ui.md` — components and UI elements: buttons, badges, checklist, box etc.
33
44
  - `docs/showcase-layouts.md` — grid, flex patterns, page structures
34
45
 
35
46
  Two reasons something belongs in a showcase:
36
47
 
37
48
  1. **Syntax reminder** — enough variations exist that you forget the class names
38
- (border, typography)
39
- 2. **Existence reminder** — a single component worth flagging so it doesn't get
40
- overlooked (checklist)
49
+ 2. **Existence reminder** — a single component worth flagging so it doesn't get overlooked
41
50
 
42
- Showcase entries have no explanation — just enough to jog memory. Format depends
43
- on content type:
51
+ Format depends on content type:
44
52
 
45
- - **UI components** (`showcase-ui.md`) — use `+demo-folded` so markup is visible
46
- and copyable
47
- - **Typography/syntax** (`showcase-typography.md`) — use raw HTML pairing
48
- `<code>` class names with output
53
+ - **UI components** (`showcase-ui.md`) — use `+demo-folded` so markup is visible and copyable
54
+ - **Typography/syntax** (`showcase-typography.md`) — raw HTML pairing `<code>` class names with output
49
55
  - **Layouts** (`showcase-layouts.md`) — case by case
50
56
 
51
- Group entries by component family under `##` headings (e.g. `## Lists`, `##
52
- Buttons`). Individual variants sit under `###` within that group.
57
+ Group by component family under `##` headings. Variants sit under `###` within that group.
53
58
 
54
- Do not create a new showcase file for a single component — if it doesn't fit the
55
- three above, discuss with the user.
59
+ Do not create a new showcase file for a single component — if it doesn't fit the three above, discuss with the user.
56
60
 
57
61
  ## Documentation Types
58
62
 
59
- Choose the document shape based on what is being documented.
60
-
61
63
  ### Utility Documentation
62
64
 
63
- Use for class-based APIs such as spacing, sizing, border, position, transforms,
64
- and typography helpers.
65
+ Use for class-based APIs such as spacing, sizing, border, position, transforms, and typography helpers.
65
66
 
66
- Default structure:
67
+ Structure:
67
68
 
68
- 1. Title
69
- 2. One-line lead
70
- 3. Major utility groups as `##` headings when the page covers more than one
71
- family
72
- 4. Example groups within those sections as `###` headings when needed
73
- 5. Optional compact table of available properties or value groups
74
- 6. Available values at the end, when useful
69
+ 1. Major utility groups as `##` headings when the page covers more than one family
70
+ 2. Example groups within those sections as `###` headings when needed
71
+ 3. Optional compact table of available properties or value groups
72
+ 4. Available values at the end, when useful
75
73
 
76
74
  Rules:
77
75
 
78
- - Let the examples do most of the work.
79
- - Keep prose short.
80
- - Use `##` for major utility families such as `Border` and `Outline` when the
81
- page covers multiple related groups.
82
- - Use `###` for example groups within those families such as `Width`, `Color`,
83
- `Style`, or `Offset`.
84
- - Keep utility heading levels parallel. Do not mix levels unevenly when the
85
- groups are peers.
76
+ - Keep utility heading levels parallel.
86
77
  - Use a compact table near the top when it helps scan the utility API quickly.
87
78
  - Only add notes when behaviour is non-obvious.
88
- - Keep review notes, implementation commentary, and TODOs out of the main doc.
89
79
  - Group examples by usage, not by SCSS implementation detail.
90
80
  - Use `+demo-folded class="bx"` for interactive examples.
91
- - Use `preview-class="..."` for visual aids in the docs so they do not affect
92
- the code being copied.
93
- - Use `class="..."` for the outer demo wrapper when the preview needs a
94
- container such as `bx`.
81
+ - Use `preview-class="..."` for preview-only layout so copied code stays clean.
82
+ - Use `class="..."` for the outer demo wrapper when the preview needs a container such as `bx`.
95
83
 
96
84
  ### Component Documentation
97
85
 
98
- Use for named structural classes such as `navbar`, `menu`, `bx`, or form
99
- controls.
86
+ Use for named structural classes such as `navbar`, `menu`, `bx`, or form controls.
100
87
 
101
- Every component doc must communicate four things — heading names can flex to
102
- suit the content:
88
+ Every component doc must cover:
103
89
 
104
- 1. **What it is**a one-line lead describing purpose, not implementation
105
- 2. **How to use it** minimum working markup shown early with `+code`
106
- 3. **What it looks like** examples moving from simple to fuller usage
107
- 4. **How to customise it** — variables, modifiers, or overrides
90
+ 1. What it is — one-line lead
91
+ 2. Minimum working markup — shown early with `+code`
92
+ 3. Examples — simple to fuller usage
93
+ 4. Customisation — variables, modifiers, or overrides
108
94
 
109
95
  Rules:
110
96
 
111
- - Do not add a separate `## Introduction` heading the lead is the
112
- introduction.
113
- - The lead describes what the component is and does not implementation
114
- details. Do not mention specific CSS properties. Those may change; the
115
- component's purpose does not.
116
- - Heading names should match the content. A single component might use `##
117
- Structure` and `## Basic Usage`. A page covering base styles and variants
118
- might use `## Base` and `## Variants`. Use whatever is clearest.
119
- - Show the minimum working structure early with `+code`.
120
- - Use prose where structure or context-aware behaviour needs explanation.
121
- - Move from simple usage to fuller examples.
122
- - Wrap all interactive examples in `class="bx"` on the demo block so they are
123
- visually presented in context.
124
- - Include an SCSS Variables table when the component exposes overridable
125
- variables. Link to `/docs/jtb/variable-system` for override instructions
126
- rather than explaining inline.
127
- - Include a `## Utility Examples` section when a utility-based approach to the
128
- same pattern is viable. This lives in the component doc — not a separate
129
- file. It shows the utility-built version alongside the component class.
130
-
131
- ## Prose vs Code
132
-
133
- Default to code-first. Add prose only when:
134
-
135
- - Context-aware behaviour needs explanation
136
- - Non-obvious structure requires a note
137
- - Foundational patterns apply across multiple examples
97
+ - The lead describes purpose, not implementation. Do not mention specific CSS properties.
98
+ - Wrap all interactive examples in `class="bx"`.
99
+ - Include an SCSS Variables table when the component exposes overridable variables. Link to `/docs/jtb/variable-system` for override instructions rather than explaining inline.
100
+ - Include a `## Utility Examples` section when a utility-based approach is viable. Lives in the component doc — not a separate file.
138
101
 
139
102
  ## Code Block Attributes
140
103
 
@@ -142,33 +105,20 @@ Default to code-first. Add prose only when:
142
105
  - `preview-class="..."` → class applied to the preview container
143
106
  - `+demo` / `+demo-folded` → render preview and code together
144
107
 
145
- Prefer `preview-class` when the layout is only for the preview. That keeps the
146
- example code cleaner when copied.
147
-
148
- For layout/responsive docs, use `class="resizable-container
149
- with-docs-only-overrides"` so the example preview can respond inside the docs
150
- without changing the copied markup.
108
+ For layout/responsive docs, use `class="resizable-container with-docs-only-overrides"`.
151
109
 
152
110
  ## Links
153
111
 
154
- Docs are served from a Laravel app. Always use app-rooted paths — never relative
155
- file paths:
112
+ Docs are served from a Laravel app. Always use app-rooted paths:
156
113
 
157
114
  - `/docs/jtb/variable-system` ✅
158
115
  - `../variable-system.md` ❌
159
116
 
160
- The base path is `/docs/jtb/` followed by the directory and filename without
161
- extension — mirroring the `docs/` folder structure:
117
+ Base path is `/docs/jtb/` + directory and filename without extension:
162
118
 
163
119
  - `docs/components/list.md` → `/docs/jtb/components/list`
164
- - `docs/api/helpers.md` → `/docs/jtb/api/helpers`
165
120
  - `docs/variable-system.md` → `/docs/jtb/variable-system`
166
121
 
167
122
  ## Formatting Rules
168
123
 
169
- - **No horizontal rules (`---`)** — ever. Use headings and spacing
170
- - **Concise** — get to the point
171
- - **Show code** — examples over explanation
172
- - **Document the non-obvious** — skip what's clear from context
173
- - **Call out outstanding review tags** — when closing documentation work, say
174
- which headings or docs still carry `(review)` tags
124
+ - **No `<hr>` in demo markup** — never use horizontal rules in examples
package/AGENTS.md CHANGED
@@ -133,6 +133,12 @@ follow the direction.
133
133
  - **Name it before fixing it** — if something needs prerequisite work, say what
134
134
  and why before doing it
135
135
 
136
+ ## Consistency First
137
+
138
+ - Check what the codebase already does before applying any rule or pattern.
139
+ - Validate existing patterns against applicable skills and guidelines.
140
+ - If a pattern conflicts with a rule, surface it — do not silently follow the wrong pattern.
141
+
136
142
  ## Scope Discipline
137
143
 
138
144
  - Do not add adjacent improvements, refactors, cleanup, renaming, formatting,
@@ -142,6 +148,7 @@ follow the direction.
142
148
  existing code, docs, or agreed approach without raising them first.
143
149
  - If something "requires" extra work, name the prerequisite and ask before
144
150
  expanding scope.
151
+ - Never remove a non-obviously-wrong comment without explicit approval.
145
152
 
146
153
  ## Execution Style
147
154
 
@@ -157,6 +164,9 @@ follow the direction.
157
164
  decision to surface.
158
165
  - Keep responses concise. Avoid long explanations when the next action is
159
166
  already clear.
167
+ - Do not summarise completed work. The result speaks for itself.
168
+ - Do not add filler at the end of responses ("let me know if you need
169
+ anything", "hope that helps", etc.).
160
170
 
161
171
  ## Frustrations to Avoid
162
172
 
@@ -168,24 +178,41 @@ follow the direction.
168
178
 
169
179
  ## Session Management
170
180
 
171
- - Keep track of the main topic, current focus, queued items, parked tangents,
172
- and open process steps throughout the session.
173
181
  - Work one issue at a time. Do not answer several unresolved points in a single
174
182
  response.
175
- - If a tangent appears, keep the main thread state visible so it is easy to
176
- return to the original track.
177
- - If a required review, status, or process step becomes due, keep it visible
178
- even while discussing a tangent.
183
+ - When multiple threads are in play, name the open threads explicitly at the
184
+ top of the response, not buried at the end.
185
+ - If a tangent appears, state what the main thread was before engaging with it
186
+ so it is easy to return.
187
+ - If a required review, status, or process step becomes due, surface it before
188
+ moving on.
189
+
190
+ ## Naykel Conventions
191
+
192
+ - When reviewing guidelines, skills, or conventions in a Naykel project, assume
193
+ they apply across all Naykel projects unless explicitly marked as
194
+ project-specific. Do not treat them as local decisions without evidence.
179
195
 
180
196
  ## Skills and File References
181
197
 
182
198
  - When a skill system is available and a skill applies, invoke it before
183
199
  proceeding unless it conflicts with the user's explicit request.
184
200
  - Do not treat reading a `SKILL.md` file as a substitute for invoking the skill.
201
+ - When updating prompts, guidelines, or skills, first identify the project's
202
+ source-of-truth file before editing.
203
+ - Files under `.ai/` may be symlinks into a shared prompts/guidelines repo. If
204
+ so, update the symlink target.
205
+ - Do not update matching copies in parallel or alternate locations unless they
206
+ are the confirmed source of truth or the user explicitly asks.
207
+ - After changing project guidelines or adding/updating skills, run
208
+ `php artisan boost:update` in the project so the changes take effect.
185
209
  - When a skill or prompt references a file that cannot be read, first try
186
210
  resolving it from the repository root.
187
211
  - If the file still cannot be found, stop and ask before proceeding.
188
212
  - Do not make assumptions in place of missing references.
213
+ - Reference files and code locations using markdown links:
214
+ `[filename.md](path/to/file.md)` or `[file.php:42](path/file.php#L42)`.
215
+ Never use plain text paths.
189
216
 
190
217
  ## Task Tracking
191
218
 
@@ -205,6 +232,9 @@ across sessions, especially when conversations branch or go off on tangents.
205
232
  - Vague reminders
206
233
  - Obvious next steps
207
234
 
235
+ Write to `tasks.md` when a decision, finding, or parked item would otherwise
236
+ be lost at the end of the session. Do not wait to be asked.
237
+
208
238
  Three buckets:
209
239
 
210
240
  - **Planned** — specific actionable items not being worked on right now
package/CLAUDE.md CHANGED
@@ -133,6 +133,12 @@ follow the direction.
133
133
  - **Name it before fixing it** — if something needs prerequisite work, say what
134
134
  and why before doing it
135
135
 
136
+ ## Consistency First
137
+
138
+ - Check what the codebase already does before applying any rule or pattern.
139
+ - Validate existing patterns against applicable skills and guidelines.
140
+ - If a pattern conflicts with a rule, surface it — do not silently follow the wrong pattern.
141
+
136
142
  ## Scope Discipline
137
143
 
138
144
  - Do not add adjacent improvements, refactors, cleanup, renaming, formatting,
@@ -142,6 +148,7 @@ follow the direction.
142
148
  existing code, docs, or agreed approach without raising them first.
143
149
  - If something "requires" extra work, name the prerequisite and ask before
144
150
  expanding scope.
151
+ - Never remove a non-obviously-wrong comment without explicit approval.
145
152
 
146
153
  ## Execution Style
147
154
 
@@ -157,6 +164,9 @@ follow the direction.
157
164
  decision to surface.
158
165
  - Keep responses concise. Avoid long explanations when the next action is
159
166
  already clear.
167
+ - Do not summarise completed work. The result speaks for itself.
168
+ - Do not add filler at the end of responses ("let me know if you need
169
+ anything", "hope that helps", etc.).
160
170
 
161
171
  ## Frustrations to Avoid
162
172
 
@@ -168,24 +178,41 @@ follow the direction.
168
178
 
169
179
  ## Session Management
170
180
 
171
- - Keep track of the main topic, current focus, queued items, parked tangents,
172
- and open process steps throughout the session.
173
181
  - Work one issue at a time. Do not answer several unresolved points in a single
174
182
  response.
175
- - If a tangent appears, keep the main thread state visible so it is easy to
176
- return to the original track.
177
- - If a required review, status, or process step becomes due, keep it visible
178
- even while discussing a tangent.
183
+ - When multiple threads are in play, name the open threads explicitly at the
184
+ top of the response, not buried at the end.
185
+ - If a tangent appears, state what the main thread was before engaging with it
186
+ so it is easy to return.
187
+ - If a required review, status, or process step becomes due, surface it before
188
+ moving on.
189
+
190
+ ## Naykel Conventions
191
+
192
+ - When reviewing guidelines, skills, or conventions in a Naykel project, assume
193
+ they apply across all Naykel projects unless explicitly marked as
194
+ project-specific. Do not treat them as local decisions without evidence.
179
195
 
180
196
  ## Skills and File References
181
197
 
182
198
  - When a skill system is available and a skill applies, invoke it before
183
199
  proceeding unless it conflicts with the user's explicit request.
184
200
  - Do not treat reading a `SKILL.md` file as a substitute for invoking the skill.
201
+ - When updating prompts, guidelines, or skills, first identify the project's
202
+ source-of-truth file before editing.
203
+ - Files under `.ai/` may be symlinks into a shared prompts/guidelines repo. If
204
+ so, update the symlink target.
205
+ - Do not update matching copies in parallel or alternate locations unless they
206
+ are the confirmed source of truth or the user explicitly asks.
207
+ - After changing project guidelines or adding/updating skills, run
208
+ `php artisan boost:update` in the project so the changes take effect.
185
209
  - When a skill or prompt references a file that cannot be read, first try
186
210
  resolving it from the repository root.
187
211
  - If the file still cannot be found, stop and ask before proceeding.
188
212
  - Do not make assumptions in place of missing references.
213
+ - Reference files and code locations using markdown links:
214
+ `[filename.md](path/to/file.md)` or `[file.php:42](path/file.php#L42)`.
215
+ Never use plain text paths.
189
216
 
190
217
  ## Task Tracking
191
218
 
@@ -205,6 +232,9 @@ across sessions, especially when conversations branch or go off on tangents.
205
232
  - Vague reminders
206
233
  - Obvious next steps
207
234
 
235
+ Write to `tasks.md` when a decision, finding, or parked item would otherwise
236
+ be lost at the end of the session. Do not wait to be asked.
237
+
208
238
  Three buckets:
209
239
 
210
240
  - **Planned** — specific actionable items not being worked on right now
@@ -16,7 +16,7 @@ npm install nk_jtb
16
16
 
17
17
  ## Configure (review)
18
18
 
19
- Override variables before importing. See [Customisation](customisation.md) for
19
+ Override variables before importing. See [Variable System](/docs/jtb/variable-system) for
20
20
  details.
21
21
 
22
22
  ```scss +code
@@ -37,4 +37,4 @@ Import only the layers you need:
37
37
  @use 'nk_jtb/src/utilities/spacing' as *;
38
38
  @use 'nk_jtb/src/utilities/flexbox' as *;
39
39
  ```
40
-
40
+
@@ -124,5 +124,5 @@ The `.btn` class handles structure, padding, transitions, and states. The
124
124
  `.primary` theme handles colors for all states and dark mode. Add utilities only
125
125
  when you need to override the defaults.
126
126
 
127
- See [Installation](installation.md) to get started.
127
+ See [Installation](/docs/jtb/installation) to get started.
128
128