@olegkoval/agent-skills 1.3.1 → 1.4.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/.claude-plugin/plugin.json +2 -1
- package/.cursor-plugin/index.json +5 -0
- package/catalog/skills.json +22 -0
- package/package.json +1 -1
- package/packages/software-development/open-source-publisher/SKILL.md +65 -8
- package/packages/software-development/open-source-publisher/adapters/claude/skills/open-source-publisher/SKILL.md +65 -8
- package/packages/software-development/open-source-publisher/adapters/cursor/skills/open-source-publisher/SKILL.md +65 -8
- package/packages/software-development/starter-rules/SKILL.md +70 -0
- package/packages/software-development/starter-rules/adapters/claude/plugin.json +5 -0
- package/packages/software-development/starter-rules/adapters/claude/skills/starter-rules/SKILL.md +72 -0
- package/packages/software-development/starter-rules/adapters/codex/README.md +16 -0
- package/packages/software-development/starter-rules/adapters/cursor/plugin.json +5 -0
- package/packages/software-development/starter-rules/adapters/cursor/skills/starter-rules/SKILL.md +72 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "olko-agent-skills",
|
|
3
3
|
"description": "Agent-agnostic skill catalog for Codex, Claude, Cursor, and other skill-aware tools.",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Oleg Koval"
|
|
7
7
|
},
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"./packages/music/fill-music-player",
|
|
20
20
|
"./packages/software-development/product-builder",
|
|
21
21
|
"./packages/software-development/add-to-my-skills",
|
|
22
|
+
"./packages/software-development/starter-rules",
|
|
22
23
|
"./packages/software-development/open-source-publisher",
|
|
23
24
|
"./packages/marketing/viral-launch",
|
|
24
25
|
"./packages/marketing/search-console-indexing-audit"
|
|
@@ -51,6 +51,11 @@
|
|
|
51
51
|
"source": "./packages/software-development/add-to-my-skills/adapters/cursor",
|
|
52
52
|
"description": "Copy a newly created skill into this catalog, refresh manifests, and publish the change."
|
|
53
53
|
},
|
|
54
|
+
{
|
|
55
|
+
"name": "olko:starter-rules",
|
|
56
|
+
"source": "./packages/software-development/starter-rules/adapters/cursor",
|
|
57
|
+
"description": "Load and enforce hard rules for every oleg-koval/* starter: 300-line files, E2E tests, pre-commit hooks, Vertical Slice architecture, no comments, KISS/DRY/SOLID."
|
|
58
|
+
},
|
|
54
59
|
{
|
|
55
60
|
"name": "olko:open-source-publisher",
|
|
56
61
|
"source": "./packages/software-development/open-source-publisher/adapters/cursor",
|
package/catalog/skills.json
CHANGED
|
@@ -197,6 +197,28 @@
|
|
|
197
197
|
"copilot"
|
|
198
198
|
]
|
|
199
199
|
},
|
|
200
|
+
{
|
|
201
|
+
"name": "starter-rules",
|
|
202
|
+
"lookupName": "olko:starter-rules",
|
|
203
|
+
"category": "software-development",
|
|
204
|
+
"path": "packages/software-development/starter-rules",
|
|
205
|
+
"description": "Load and enforce hard rules for every oleg-koval/* starter: 300-line files, E2E tests, pre-commit hooks, Vertical Slice architecture, no comments, KISS/DRY/SOLID.",
|
|
206
|
+
"tags": [
|
|
207
|
+
"starters",
|
|
208
|
+
"rules",
|
|
209
|
+
"architecture",
|
|
210
|
+
"vertical-slice",
|
|
211
|
+
"linting",
|
|
212
|
+
"pre-commit",
|
|
213
|
+
"testing"
|
|
214
|
+
],
|
|
215
|
+
"adapters": [
|
|
216
|
+
"codex",
|
|
217
|
+
"claude",
|
|
218
|
+
"cursor",
|
|
219
|
+
"copilot"
|
|
220
|
+
]
|
|
221
|
+
},
|
|
200
222
|
{
|
|
201
223
|
"name": "open-source-publisher",
|
|
202
224
|
"lookupName": "olko:open-source-publisher",
|
package/package.json
CHANGED
|
@@ -34,24 +34,29 @@ Use this skill to audit whether an OSS repository is ready to publish, then help
|
|
|
34
34
|
3. Classify the repository type before recommending changes:
|
|
35
35
|
- `library`, `CLI`, `web app`, `framework`, `docs site`, or `other`
|
|
36
36
|
- use the type to decide whether governance, packaging, or presentation work should come first
|
|
37
|
-
4.
|
|
37
|
+
4. Identify maintainer identity and public home information when they affect publishing:
|
|
38
|
+
- Ask for the GitHub handle or org name if the repo will have a public owner/maintainer identity, funding links, release notes, or badges
|
|
39
|
+
- Ask for a canonical website/homepage URL if the project needs a homepage, docs site, or public project URL
|
|
40
|
+
- If `homepage`, `author`, or org metadata already exists and looks current, do not ask again
|
|
41
|
+
5. For existing usable pieces, do not propose replacement by default. Ask a change-oriented question only when useful, for example:
|
|
38
42
|
- "You already have a terminal-style GitHub Pages site. Do you want to keep it or restyle it?"
|
|
39
43
|
- "You already have an icon and social card. Do you want a refresh, or should I leave them as-is?"
|
|
40
44
|
- "You already have release automation. Do you want me to audit only, or also tighten it?"
|
|
41
|
-
|
|
45
|
+
6. Ask only for choices needed to fix missing or weak pieces:
|
|
42
46
|
- If GitHub Pages is missing or weak, ask for style: `oldschool linux`, `terminal`, `modern`, `brutalist`, `glassmorphism`, `y2k`, `hacker`, or custom.
|
|
43
47
|
- If donation wiring is missing, ask whether to enable it: `none`, `GitHub Sponsors`, `Ko-fi`, `Buy Me a Coffee`, `Open Collective`, `Thanks.dev`, or custom URL.
|
|
44
48
|
- If the repo has no clear product essence, ask for a one-sentence positioning statement.
|
|
45
|
-
|
|
49
|
+
7. Implement only approved, missing, or weak work in this order:
|
|
46
50
|
- OSS governance and support files
|
|
47
51
|
- minimal icon
|
|
48
52
|
- social preview image
|
|
49
53
|
- README standard
|
|
50
54
|
- GitHub Pages landing page
|
|
55
|
+
- GitHub Pages analytics setup, if requested
|
|
51
56
|
- CI/CD and release audit/fixes
|
|
52
57
|
- donation wiring, if requested
|
|
53
|
-
|
|
54
|
-
|
|
58
|
+
8. Validate locally and with browser/screenshots when possible.
|
|
59
|
+
9. Commit/push only when the user asks or the current task explicitly requires it.
|
|
55
60
|
|
|
56
61
|
## Readiness Audit
|
|
57
62
|
|
|
@@ -61,11 +66,15 @@ Publish-critical checklist:
|
|
|
61
66
|
|
|
62
67
|
- repository identity: clear project name, description, topic/keywords, author, license
|
|
63
68
|
- install path: package manager, release assets, source build, or direct download instructions
|
|
69
|
+
- maintainer identity: GitHub handle or org name when public identity is relevant
|
|
70
|
+
- public home: canonical website/homepage URL when the project needs one
|
|
71
|
+
- if either field does not exist, proceed without it and mark it as absent
|
|
64
72
|
- OSS governance: `LICENSE`, `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, support policy, issue/PR templates, changelog or release notes path
|
|
65
73
|
- README standard: centered shields, icon, title, short description, horizontal rule, essential sections
|
|
66
|
-
- icon: simple SVG mark
|
|
67
|
-
- social image: 1200x630 image with matching metadata,
|
|
74
|
+
- icon: simple SVG mark plus rendered PNG, both committed in predictable paths
|
|
75
|
+
- social image: 1200x630 image with matching metadata, with both SVG source and rendered PNG committed when practical
|
|
68
76
|
- GitHub Pages or docs site: essential install/examples/links/SEO/Open Graph metadata
|
|
77
|
+
- GitHub Pages analytics: optional setup to track visitor patterns and engagement
|
|
69
78
|
- CI quality gates: formatter, linter/static analysis, tests, build/package check
|
|
70
79
|
- release automation: tags/releases/artifacts/package update flow, docs-only changes excluded where needed
|
|
71
80
|
- security posture: license, security notes or policy, OpenSSF Scorecard or equivalent when appropriate
|
|
@@ -89,6 +98,8 @@ Missing
|
|
|
89
98
|
|
|
90
99
|
Questions
|
|
91
100
|
- You already have a terminal-style GitHub Pages site. Keep it, or restyle it?
|
|
101
|
+
- What is the GitHub handle or org name for public attribution?
|
|
102
|
+
- What is the canonical website or homepage URL, if any?
|
|
92
103
|
- Donations are not configured. Enable them or leave them off?
|
|
93
104
|
```
|
|
94
105
|
|
|
@@ -102,7 +113,7 @@ Rules:
|
|
|
102
113
|
|
|
103
114
|
## Minimal Icon
|
|
104
115
|
|
|
105
|
-
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg
|
|
116
|
+
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg` and also render `logo.png` so the icon can be reused in README assets, release artifacts, and platform-specific previews.
|
|
106
117
|
|
|
107
118
|
Icon rules:
|
|
108
119
|
|
|
@@ -112,6 +123,7 @@ Icon rules:
|
|
|
112
123
|
- Use a simple rounded tile only when it improves favicon readability.
|
|
113
124
|
- Avoid terminal window chrome, decorative dots, random badges, and center glyph clutter unless the project itself is a terminal/window tool.
|
|
114
125
|
- Avoid generic AI tells: glass effects, bokeh/orbs, over-layered gradients, busy shadows, and unrelated emojis.
|
|
126
|
+
- If the repo has a website or homepage, ensure the icon fits that visual system.
|
|
115
127
|
|
|
116
128
|
Good icon pattern for sync/migration tools:
|
|
117
129
|
|
|
@@ -150,6 +162,7 @@ Recommended files:
|
|
|
150
162
|
|
|
151
163
|
- `social-card.svg` as the editable source
|
|
152
164
|
- `social-card.png` rendered from the SVG when render tooling is available
|
|
165
|
+
- keep both files in the repo when practical so the preview can be updated without redrawing the whole asset
|
|
153
166
|
|
|
154
167
|
Social image rules:
|
|
155
168
|
|
|
@@ -159,6 +172,7 @@ Social image rules:
|
|
|
159
172
|
- Match the icon color system.
|
|
160
173
|
- Keep all text inside a safe margin of at least 64px.
|
|
161
174
|
- Use `og:image`, `twitter:image`, width/height meta tags, and meaningful alt text.
|
|
175
|
+
- If the repo has a homepage or canonical website, make the social card and metadata point to that URL consistently.
|
|
162
176
|
|
|
163
177
|
Render checks:
|
|
164
178
|
|
|
@@ -292,6 +306,49 @@ Implementation defaults:
|
|
|
292
306
|
- Avoid marketing fluff and oversized hero sections for developer tools. Make the first viewport useful.
|
|
293
307
|
- Use system UI fonts for body text and monospace only for commands, labels, or terminal-specific elements.
|
|
294
308
|
|
|
309
|
+
## GitHub Pages Analytics
|
|
310
|
+
|
|
311
|
+
Add basic analytics to track site visitor patterns and user behavior when the project has a GitHub Pages site.
|
|
312
|
+
|
|
313
|
+
Setup options:
|
|
314
|
+
|
|
315
|
+
- **Google Analytics** (free, detailed): Add UA or GA4 tracking ID to site `<head>`
|
|
316
|
+
- **Plausible** (simple, privacy-first, paid): Lightweight script alternative
|
|
317
|
+
- **Simple counter** (basic): Visitor count badge using Shields.io or statically-generated endpoint
|
|
318
|
+
|
|
319
|
+
Minimal Google Analytics setup for static sites:
|
|
320
|
+
|
|
321
|
+
```html
|
|
322
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-YOUR_ID"></script>
|
|
323
|
+
<script>
|
|
324
|
+
window.dataLayer = window.dataLayer || [];
|
|
325
|
+
function gtag(){dataLayer.push(arguments);}
|
|
326
|
+
gtag('js', new Date());
|
|
327
|
+
gtag('config', 'G-YOUR_ID');
|
|
328
|
+
</script>
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
Track these essential events:
|
|
332
|
+
|
|
333
|
+
- **pageview** (automatic): Site visitors and page sections
|
|
334
|
+
- **download_release**: Clicks on install/download links (track each platform/format)
|
|
335
|
+
- **view_docs**: Navigation to documentation pages
|
|
336
|
+
- **github_click**: Click through to GitHub repo
|
|
337
|
+
- **copy_command**: Code snippet copies in examples
|
|
338
|
+
|
|
339
|
+
Optional custom events for OSS projects:
|
|
340
|
+
|
|
341
|
+
- **search_docs**: If docs site has search
|
|
342
|
+
- **view_example**: Specific example/use-case sections viewed
|
|
343
|
+
- **support_click**: Link clicks to issues, discussions, or support channels
|
|
344
|
+
|
|
345
|
+
Rules:
|
|
346
|
+
|
|
347
|
+
- Add analytics after publishing the site; do not gate site launch on analytics.
|
|
348
|
+
- If the user prefers privacy-first or no analytics, skip this step.
|
|
349
|
+
- Store analytics credentials as GitHub Pages environment secret or site config, never in git.
|
|
350
|
+
- Review monthly to catch unusual patterns or broken tracking links.
|
|
351
|
+
|
|
295
352
|
## CI/CD And Release Audit
|
|
296
353
|
|
|
297
354
|
Check whether the repository has:
|
|
@@ -36,24 +36,29 @@ Use this skill to audit whether an OSS repository is ready to publish, then help
|
|
|
36
36
|
3. Classify the repository type before recommending changes:
|
|
37
37
|
- `library`, `CLI`, `web app`, `framework`, `docs site`, or `other`
|
|
38
38
|
- use the type to decide whether governance, packaging, or presentation work should come first
|
|
39
|
-
4.
|
|
39
|
+
4. Identify maintainer identity and public home information when they affect publishing:
|
|
40
|
+
- Ask for the GitHub handle or org name if the repo will have a public owner/maintainer identity, funding links, release notes, or badges
|
|
41
|
+
- Ask for a canonical website/homepage URL if the project needs a homepage, docs site, or public project URL
|
|
42
|
+
- If `homepage`, `author`, or org metadata already exists and looks current, do not ask again
|
|
43
|
+
5. For existing usable pieces, do not propose replacement by default. Ask a change-oriented question only when useful, for example:
|
|
40
44
|
- "You already have a terminal-style GitHub Pages site. Do you want to keep it or restyle it?"
|
|
41
45
|
- "You already have an icon and social card. Do you want a refresh, or should I leave them as-is?"
|
|
42
46
|
- "You already have release automation. Do you want me to audit only, or also tighten it?"
|
|
43
|
-
|
|
47
|
+
6. Ask only for choices needed to fix missing or weak pieces:
|
|
44
48
|
- If GitHub Pages is missing or weak, ask for style: `oldschool linux`, `terminal`, `modern`, `brutalist`, `glassmorphism`, `y2k`, `hacker`, or custom.
|
|
45
49
|
- If donation wiring is missing, ask whether to enable it: `none`, `GitHub Sponsors`, `Ko-fi`, `Buy Me a Coffee`, `Open Collective`, `Thanks.dev`, or custom URL.
|
|
46
50
|
- If the repo has no clear product essence, ask for a one-sentence positioning statement.
|
|
47
|
-
|
|
51
|
+
7. Implement only approved, missing, or weak work in this order:
|
|
48
52
|
- OSS governance and support files
|
|
49
53
|
- minimal icon
|
|
50
54
|
- social preview image
|
|
51
55
|
- README standard
|
|
52
56
|
- GitHub Pages landing page
|
|
57
|
+
- GitHub Pages analytics setup, if requested
|
|
53
58
|
- CI/CD and release audit/fixes
|
|
54
59
|
- donation wiring, if requested
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
8. Validate locally and with browser/screenshots when possible.
|
|
61
|
+
9. Commit/push only when the user asks or the current task explicitly requires it.
|
|
57
62
|
|
|
58
63
|
## Readiness Audit
|
|
59
64
|
|
|
@@ -63,11 +68,15 @@ Publish-critical checklist:
|
|
|
63
68
|
|
|
64
69
|
- repository identity: clear project name, description, topic/keywords, author, license
|
|
65
70
|
- install path: package manager, release assets, source build, or direct download instructions
|
|
71
|
+
- maintainer identity: GitHub handle or org name when public identity is relevant
|
|
72
|
+
- public home: canonical website/homepage URL when the project needs one
|
|
73
|
+
- if either field does not exist, proceed without it and mark it as absent
|
|
66
74
|
- OSS governance: `LICENSE`, `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, support policy, issue/PR templates, changelog or release notes path
|
|
67
75
|
- README standard: centered shields, icon, title, short description, horizontal rule, essential sections
|
|
68
|
-
- icon: simple SVG mark
|
|
69
|
-
- social image: 1200x630 image with matching metadata,
|
|
76
|
+
- icon: simple SVG mark plus rendered PNG, both committed in predictable paths
|
|
77
|
+
- social image: 1200x630 image with matching metadata, with both SVG source and rendered PNG committed when practical
|
|
70
78
|
- GitHub Pages or docs site: essential install/examples/links/SEO/Open Graph metadata
|
|
79
|
+
- GitHub Pages analytics: optional setup to track visitor patterns and engagement
|
|
71
80
|
- CI quality gates: formatter, linter/static analysis, tests, build/package check
|
|
72
81
|
- release automation: tags/releases/artifacts/package update flow, docs-only changes excluded where needed
|
|
73
82
|
- security posture: license, security notes or policy, OpenSSF Scorecard or equivalent when appropriate
|
|
@@ -91,6 +100,8 @@ Missing
|
|
|
91
100
|
|
|
92
101
|
Questions
|
|
93
102
|
- You already have a terminal-style GitHub Pages site. Keep it, or restyle it?
|
|
103
|
+
- What is the GitHub handle or org name for public attribution?
|
|
104
|
+
- What is the canonical website or homepage URL, if any?
|
|
94
105
|
- Donations are not configured. Enable them or leave them off?
|
|
95
106
|
```
|
|
96
107
|
|
|
@@ -104,7 +115,7 @@ Rules:
|
|
|
104
115
|
|
|
105
116
|
## Minimal Icon
|
|
106
117
|
|
|
107
|
-
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg
|
|
118
|
+
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg` and also render `logo.png` so the icon can be reused in README assets, release artifacts, and platform-specific previews.
|
|
108
119
|
|
|
109
120
|
Icon rules:
|
|
110
121
|
|
|
@@ -114,6 +125,7 @@ Icon rules:
|
|
|
114
125
|
- Use a simple rounded tile only when it improves favicon readability.
|
|
115
126
|
- Avoid terminal window chrome, decorative dots, random badges, and center glyph clutter unless the project itself is a terminal/window tool.
|
|
116
127
|
- Avoid generic AI tells: glass effects, bokeh/orbs, over-layered gradients, busy shadows, and unrelated emojis.
|
|
128
|
+
- If the repo has a website or homepage, ensure the icon fits that visual system.
|
|
117
129
|
|
|
118
130
|
Good icon pattern for sync/migration tools:
|
|
119
131
|
|
|
@@ -152,6 +164,7 @@ Recommended files:
|
|
|
152
164
|
|
|
153
165
|
- `social-card.svg` as the editable source
|
|
154
166
|
- `social-card.png` rendered from the SVG when render tooling is available
|
|
167
|
+
- keep both files in the repo when practical so the preview can be updated without redrawing the whole asset
|
|
155
168
|
|
|
156
169
|
Social image rules:
|
|
157
170
|
|
|
@@ -161,6 +174,7 @@ Social image rules:
|
|
|
161
174
|
- Match the icon color system.
|
|
162
175
|
- Keep all text inside a safe margin of at least 64px.
|
|
163
176
|
- Use `og:image`, `twitter:image`, width/height meta tags, and meaningful alt text.
|
|
177
|
+
- If the repo has a homepage or canonical website, make the social card and metadata point to that URL consistently.
|
|
164
178
|
|
|
165
179
|
Render checks:
|
|
166
180
|
|
|
@@ -294,6 +308,49 @@ Implementation defaults:
|
|
|
294
308
|
- Avoid marketing fluff and oversized hero sections for developer tools. Make the first viewport useful.
|
|
295
309
|
- Use system UI fonts for body text and monospace only for commands, labels, or terminal-specific elements.
|
|
296
310
|
|
|
311
|
+
## GitHub Pages Analytics
|
|
312
|
+
|
|
313
|
+
Add basic analytics to track site visitor patterns and user behavior when the project has a GitHub Pages site.
|
|
314
|
+
|
|
315
|
+
Setup options:
|
|
316
|
+
|
|
317
|
+
- **Google Analytics** (free, detailed): Add UA or GA4 tracking ID to site `<head>`
|
|
318
|
+
- **Plausible** (simple, privacy-first, paid): Lightweight script alternative
|
|
319
|
+
- **Simple counter** (basic): Visitor count badge using Shields.io or statically-generated endpoint
|
|
320
|
+
|
|
321
|
+
Minimal Google Analytics setup for static sites:
|
|
322
|
+
|
|
323
|
+
```html
|
|
324
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-YOUR_ID"></script>
|
|
325
|
+
<script>
|
|
326
|
+
window.dataLayer = window.dataLayer || [];
|
|
327
|
+
function gtag(){dataLayer.push(arguments);}
|
|
328
|
+
gtag('js', new Date());
|
|
329
|
+
gtag('config', 'G-YOUR_ID');
|
|
330
|
+
</script>
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
Track these essential events:
|
|
334
|
+
|
|
335
|
+
- **pageview** (automatic): Site visitors and page sections
|
|
336
|
+
- **download_release**: Clicks on install/download links (track each platform/format)
|
|
337
|
+
- **view_docs**: Navigation to documentation pages
|
|
338
|
+
- **github_click**: Click through to GitHub repo
|
|
339
|
+
- **copy_command**: Code snippet copies in examples
|
|
340
|
+
|
|
341
|
+
Optional custom events for OSS projects:
|
|
342
|
+
|
|
343
|
+
- **search_docs**: If docs site has search
|
|
344
|
+
- **view_example**: Specific example/use-case sections viewed
|
|
345
|
+
- **support_click**: Link clicks to issues, discussions, or support channels
|
|
346
|
+
|
|
347
|
+
Rules:
|
|
348
|
+
|
|
349
|
+
- Add analytics after publishing the site; do not gate site launch on analytics.
|
|
350
|
+
- If the user prefers privacy-first or no analytics, skip this step.
|
|
351
|
+
- Store analytics credentials as GitHub Pages environment secret or site config, never in git.
|
|
352
|
+
- Review monthly to catch unusual patterns or broken tracking links.
|
|
353
|
+
|
|
297
354
|
## CI/CD And Release Audit
|
|
298
355
|
|
|
299
356
|
Check whether the repository has:
|
|
@@ -36,24 +36,29 @@ Use this skill to audit whether an OSS repository is ready to publish, then help
|
|
|
36
36
|
3. Classify the repository type before recommending changes:
|
|
37
37
|
- `library`, `CLI`, `web app`, `framework`, `docs site`, or `other`
|
|
38
38
|
- use the type to decide whether governance, packaging, or presentation work should come first
|
|
39
|
-
4.
|
|
39
|
+
4. Identify maintainer identity and public home information when they affect publishing:
|
|
40
|
+
- Ask for the GitHub handle or org name if the repo will have a public owner/maintainer identity, funding links, release notes, or badges
|
|
41
|
+
- Ask for a canonical website/homepage URL if the project needs a homepage, docs site, or public project URL
|
|
42
|
+
- If `homepage`, `author`, or org metadata already exists and looks current, do not ask again
|
|
43
|
+
5. For existing usable pieces, do not propose replacement by default. Ask a change-oriented question only when useful, for example:
|
|
40
44
|
- "You already have a terminal-style GitHub Pages site. Do you want to keep it or restyle it?"
|
|
41
45
|
- "You already have an icon and social card. Do you want a refresh, or should I leave them as-is?"
|
|
42
46
|
- "You already have release automation. Do you want me to audit only, or also tighten it?"
|
|
43
|
-
|
|
47
|
+
6. Ask only for choices needed to fix missing or weak pieces:
|
|
44
48
|
- If GitHub Pages is missing or weak, ask for style: `oldschool linux`, `terminal`, `modern`, `brutalist`, `glassmorphism`, `y2k`, `hacker`, or custom.
|
|
45
49
|
- If donation wiring is missing, ask whether to enable it: `none`, `GitHub Sponsors`, `Ko-fi`, `Buy Me a Coffee`, `Open Collective`, `Thanks.dev`, or custom URL.
|
|
46
50
|
- If the repo has no clear product essence, ask for a one-sentence positioning statement.
|
|
47
|
-
|
|
51
|
+
7. Implement only approved, missing, or weak work in this order:
|
|
48
52
|
- OSS governance and support files
|
|
49
53
|
- minimal icon
|
|
50
54
|
- social preview image
|
|
51
55
|
- README standard
|
|
52
56
|
- GitHub Pages landing page
|
|
57
|
+
- GitHub Pages analytics setup, if requested
|
|
53
58
|
- CI/CD and release audit/fixes
|
|
54
59
|
- donation wiring, if requested
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
8. Validate locally and with browser/screenshots when possible.
|
|
61
|
+
9. Commit/push only when the user asks or the current task explicitly requires it.
|
|
57
62
|
|
|
58
63
|
## Readiness Audit
|
|
59
64
|
|
|
@@ -63,11 +68,15 @@ Publish-critical checklist:
|
|
|
63
68
|
|
|
64
69
|
- repository identity: clear project name, description, topic/keywords, author, license
|
|
65
70
|
- install path: package manager, release assets, source build, or direct download instructions
|
|
71
|
+
- maintainer identity: GitHub handle or org name when public identity is relevant
|
|
72
|
+
- public home: canonical website/homepage URL when the project needs one
|
|
73
|
+
- if either field does not exist, proceed without it and mark it as absent
|
|
66
74
|
- OSS governance: `LICENSE`, `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, support policy, issue/PR templates, changelog or release notes path
|
|
67
75
|
- README standard: centered shields, icon, title, short description, horizontal rule, essential sections
|
|
68
|
-
- icon: simple SVG mark
|
|
69
|
-
- social image: 1200x630 image with matching metadata,
|
|
76
|
+
- icon: simple SVG mark plus rendered PNG, both committed in predictable paths
|
|
77
|
+
- social image: 1200x630 image with matching metadata, with both SVG source and rendered PNG committed when practical
|
|
70
78
|
- GitHub Pages or docs site: essential install/examples/links/SEO/Open Graph metadata
|
|
79
|
+
- GitHub Pages analytics: optional setup to track visitor patterns and engagement
|
|
71
80
|
- CI quality gates: formatter, linter/static analysis, tests, build/package check
|
|
72
81
|
- release automation: tags/releases/artifacts/package update flow, docs-only changes excluded where needed
|
|
73
82
|
- security posture: license, security notes or policy, OpenSSF Scorecard or equivalent when appropriate
|
|
@@ -91,6 +100,8 @@ Missing
|
|
|
91
100
|
|
|
92
101
|
Questions
|
|
93
102
|
- You already have a terminal-style GitHub Pages site. Keep it, or restyle it?
|
|
103
|
+
- What is the GitHub handle or org name for public attribution?
|
|
104
|
+
- What is the canonical website or homepage URL, if any?
|
|
94
105
|
- Donations are not configured. Enable them or leave them off?
|
|
95
106
|
```
|
|
96
107
|
|
|
@@ -104,7 +115,7 @@ Rules:
|
|
|
104
115
|
|
|
105
116
|
## Minimal Icon
|
|
106
117
|
|
|
107
|
-
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg
|
|
118
|
+
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg` and also render `logo.png` so the icon can be reused in README assets, release artifacts, and platform-specific previews.
|
|
108
119
|
|
|
109
120
|
Icon rules:
|
|
110
121
|
|
|
@@ -114,6 +125,7 @@ Icon rules:
|
|
|
114
125
|
- Use a simple rounded tile only when it improves favicon readability.
|
|
115
126
|
- Avoid terminal window chrome, decorative dots, random badges, and center glyph clutter unless the project itself is a terminal/window tool.
|
|
116
127
|
- Avoid generic AI tells: glass effects, bokeh/orbs, over-layered gradients, busy shadows, and unrelated emojis.
|
|
128
|
+
- If the repo has a website or homepage, ensure the icon fits that visual system.
|
|
117
129
|
|
|
118
130
|
Good icon pattern for sync/migration tools:
|
|
119
131
|
|
|
@@ -152,6 +164,7 @@ Recommended files:
|
|
|
152
164
|
|
|
153
165
|
- `social-card.svg` as the editable source
|
|
154
166
|
- `social-card.png` rendered from the SVG when render tooling is available
|
|
167
|
+
- keep both files in the repo when practical so the preview can be updated without redrawing the whole asset
|
|
155
168
|
|
|
156
169
|
Social image rules:
|
|
157
170
|
|
|
@@ -161,6 +174,7 @@ Social image rules:
|
|
|
161
174
|
- Match the icon color system.
|
|
162
175
|
- Keep all text inside a safe margin of at least 64px.
|
|
163
176
|
- Use `og:image`, `twitter:image`, width/height meta tags, and meaningful alt text.
|
|
177
|
+
- If the repo has a homepage or canonical website, make the social card and metadata point to that URL consistently.
|
|
164
178
|
|
|
165
179
|
Render checks:
|
|
166
180
|
|
|
@@ -294,6 +308,49 @@ Implementation defaults:
|
|
|
294
308
|
- Avoid marketing fluff and oversized hero sections for developer tools. Make the first viewport useful.
|
|
295
309
|
- Use system UI fonts for body text and monospace only for commands, labels, or terminal-specific elements.
|
|
296
310
|
|
|
311
|
+
## GitHub Pages Analytics
|
|
312
|
+
|
|
313
|
+
Add basic analytics to track site visitor patterns and user behavior when the project has a GitHub Pages site.
|
|
314
|
+
|
|
315
|
+
Setup options:
|
|
316
|
+
|
|
317
|
+
- **Google Analytics** (free, detailed): Add UA or GA4 tracking ID to site `<head>`
|
|
318
|
+
- **Plausible** (simple, privacy-first, paid): Lightweight script alternative
|
|
319
|
+
- **Simple counter** (basic): Visitor count badge using Shields.io or statically-generated endpoint
|
|
320
|
+
|
|
321
|
+
Minimal Google Analytics setup for static sites:
|
|
322
|
+
|
|
323
|
+
```html
|
|
324
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-YOUR_ID"></script>
|
|
325
|
+
<script>
|
|
326
|
+
window.dataLayer = window.dataLayer || [];
|
|
327
|
+
function gtag(){dataLayer.push(arguments);}
|
|
328
|
+
gtag('js', new Date());
|
|
329
|
+
gtag('config', 'G-YOUR_ID');
|
|
330
|
+
</script>
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
Track these essential events:
|
|
334
|
+
|
|
335
|
+
- **pageview** (automatic): Site visitors and page sections
|
|
336
|
+
- **download_release**: Clicks on install/download links (track each platform/format)
|
|
337
|
+
- **view_docs**: Navigation to documentation pages
|
|
338
|
+
- **github_click**: Click through to GitHub repo
|
|
339
|
+
- **copy_command**: Code snippet copies in examples
|
|
340
|
+
|
|
341
|
+
Optional custom events for OSS projects:
|
|
342
|
+
|
|
343
|
+
- **search_docs**: If docs site has search
|
|
344
|
+
- **view_example**: Specific example/use-case sections viewed
|
|
345
|
+
- **support_click**: Link clicks to issues, discussions, or support channels
|
|
346
|
+
|
|
347
|
+
Rules:
|
|
348
|
+
|
|
349
|
+
- Add analytics after publishing the site; do not gate site launch on analytics.
|
|
350
|
+
- If the user prefers privacy-first or no analytics, skip this step.
|
|
351
|
+
- Store analytics credentials as GitHub Pages environment secret or site config, never in git.
|
|
352
|
+
- Review monthly to catch unusual patterns or broken tracking links.
|
|
353
|
+
|
|
297
354
|
## CI/CD And Release Audit
|
|
298
355
|
|
|
299
356
|
Check whether the repository has:
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: starter-rules
|
|
3
|
+
description: Load and enforce the hard rules every oleg-koval/* starter must obey. Use when starting or auditing work in saas-init, ts-npm-starter, go-starter, py-starter, or any future oleg-koval template repo. Covers functional style, 300-line file cap, E2E > unit tests, pre-commit hooks, no-comment policy, KISS/DRY/SOLID, and Vertical Slice as default architecture for SaaS/app starters.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Codex, Claude Code, Cursor, and other Agent Skills compatible tools.
|
|
6
|
+
metadata:
|
|
7
|
+
author: Oleg Koval
|
|
8
|
+
tags:
|
|
9
|
+
- starters
|
|
10
|
+
- rules
|
|
11
|
+
- architecture
|
|
12
|
+
- vertical-slice
|
|
13
|
+
- linting
|
|
14
|
+
- pre-commit
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Starter Rules
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Load the canonical hard rules for every `oleg-koval/*` starter repo and verify the current repo complies with them. Produces a compliance report and a list of gaps to fix.
|
|
22
|
+
|
|
23
|
+
## When to Use
|
|
24
|
+
|
|
25
|
+
- Starting a new coding session in any `oleg-koval/*` template repo
|
|
26
|
+
- Auditing an existing starter for rule compliance before a release or PR merge
|
|
27
|
+
- Onboarding a new contributor (human or AI) to a starter
|
|
28
|
+
- After a large refactor, to verify rules have not been silently violated
|
|
29
|
+
|
|
30
|
+
Do not use for repos outside the `oleg-koval` namespace unless they explicitly reference `RULES.md`.
|
|
31
|
+
|
|
32
|
+
## Workflow
|
|
33
|
+
|
|
34
|
+
1. **Load the rules** — read `RULES.md` from the repo root. If absent, fetch it from `https://github.com/oleg-koval/starters/blob/main/RULES.md` and note that the starter is missing a local copy.
|
|
35
|
+
|
|
36
|
+
2. **Apply §2 hard rules** — for the current task or PR diff, verify:
|
|
37
|
+
- No file exceeds 300 lines (`find . -name '*.ts' -o -name '*.py' -o -name '*.go' | xargs wc -l | awk '$1 > 300 && $2 != "total"'`)
|
|
38
|
+
- No functions produce side effects outside of boundary layers
|
|
39
|
+
- New code has no WHAT-comments; WHY-comments are one line max
|
|
40
|
+
- Tests are E2E-first; unit tests only for pure logic with non-trivial branching
|
|
41
|
+
|
|
42
|
+
3. **Verify hooks and lint** — check that pre-commit hooks are installed and configured:
|
|
43
|
+
- TypeScript: `cat .eslintrc* | grep max-lines` and `cat package.json | grep -A5 '"lint-staged"\|"husky"\|"lefthook"'`
|
|
44
|
+
- Python: `cat .pre-commit-config.yaml` and check for `ruff` + format hooks
|
|
45
|
+
- Go: `cat .golangci.yml` or `.pre-commit-config.yaml` and check for `golangci-lint` + `gofmt`
|
|
46
|
+
|
|
47
|
+
4. **Check architecture** — for app/SaaS starters: confirm feature code is organized as vertical slices (feature directory contains handler + DTO + service + tests together). For library starters: skip.
|
|
48
|
+
|
|
49
|
+
5. **Report gaps** — list any violations found in steps 2–4. For each gap:
|
|
50
|
+
- Name the rule (e.g., "§2.2 file length")
|
|
51
|
+
- Name the file and line count or violation
|
|
52
|
+
- Propose the minimal fix
|
|
53
|
+
|
|
54
|
+
6. **Fix on request** — if the user asks to fix the gaps, apply them one at a time, smallest change first. Do not refactor beyond what the rule requires.
|
|
55
|
+
|
|
56
|
+
## Reference
|
|
57
|
+
|
|
58
|
+
Full rule details: [`RULES.md`](./RULES.md)
|
|
59
|
+
|
|
60
|
+
Architecture options and future starters: `RULES.md §3`
|
|
61
|
+
|
|
62
|
+
Unix principles: `RULES.md §4`
|
|
63
|
+
|
|
64
|
+
## Verification
|
|
65
|
+
|
|
66
|
+
- [ ] `RULES.md` was read from the repo root (or fetched and absence noted)
|
|
67
|
+
- [ ] File length check ran with zero violations, or violations were listed
|
|
68
|
+
- [ ] Pre-commit hooks verified as installed and configured
|
|
69
|
+
- [ ] Compliance report produced listing passed checks and gaps
|
|
70
|
+
- [ ] Any fixes applied do not exceed the scope of the violated rule
|
package/packages/software-development/starter-rules/adapters/claude/skills/starter-rules/SKILL.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: starter-rules
|
|
5
|
+
description: Load and enforce the hard rules every oleg-koval/* starter must obey. Use when starting or auditing work in saas-init, ts-npm-starter, go-starter, py-starter, or any future oleg-koval template repo. Covers functional style, 300-line file cap, E2E > unit tests, pre-commit hooks, no-comment policy, KISS/DRY/SOLID, and Vertical Slice as default architecture for SaaS/app starters.
|
|
6
|
+
license: MIT
|
|
7
|
+
compatibility: Codex, Claude Code, Cursor, and other Agent Skills compatible tools.
|
|
8
|
+
metadata:
|
|
9
|
+
author: Oleg Koval
|
|
10
|
+
tags:
|
|
11
|
+
- starters
|
|
12
|
+
- rules
|
|
13
|
+
- architecture
|
|
14
|
+
- vertical-slice
|
|
15
|
+
- linting
|
|
16
|
+
- pre-commit
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Starter Rules
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
Load the canonical hard rules for every `oleg-koval/*` starter repo and verify the current repo complies with them. Produces a compliance report and a list of gaps to fix.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- Starting a new coding session in any `oleg-koval/*` template repo
|
|
28
|
+
- Auditing an existing starter for rule compliance before a release or PR merge
|
|
29
|
+
- Onboarding a new contributor (human or AI) to a starter
|
|
30
|
+
- After a large refactor, to verify rules have not been silently violated
|
|
31
|
+
|
|
32
|
+
Do not use for repos outside the `oleg-koval` namespace unless they explicitly reference `RULES.md`.
|
|
33
|
+
|
|
34
|
+
## Workflow
|
|
35
|
+
|
|
36
|
+
1. **Load the rules** — read `RULES.md` from the repo root. If absent, fetch it from `https://github.com/oleg-koval/starters/blob/main/RULES.md` and note that the starter is missing a local copy.
|
|
37
|
+
|
|
38
|
+
2. **Apply §2 hard rules** — for the current task or PR diff, verify:
|
|
39
|
+
- No file exceeds 300 lines (`find . -name '*.ts' -o -name '*.py' -o -name '*.go' | xargs wc -l | awk '$1 > 300 && $2 != "total"'`)
|
|
40
|
+
- No functions produce side effects outside of boundary layers
|
|
41
|
+
- New code has no WHAT-comments; WHY-comments are one line max
|
|
42
|
+
- Tests are E2E-first; unit tests only for pure logic with non-trivial branching
|
|
43
|
+
|
|
44
|
+
3. **Verify hooks and lint** — check that pre-commit hooks are installed and configured:
|
|
45
|
+
- TypeScript: `cat .eslintrc* | grep max-lines` and `cat package.json | grep -A5 '"lint-staged"\|"husky"\|"lefthook"'`
|
|
46
|
+
- Python: `cat .pre-commit-config.yaml` and check for `ruff` + format hooks
|
|
47
|
+
- Go: `cat .golangci.yml` or `.pre-commit-config.yaml` and check for `golangci-lint` + `gofmt`
|
|
48
|
+
|
|
49
|
+
4. **Check architecture** — for app/SaaS starters: confirm feature code is organized as vertical slices (feature directory contains handler + DTO + service + tests together). For library starters: skip.
|
|
50
|
+
|
|
51
|
+
5. **Report gaps** — list any violations found in steps 2–4. For each gap:
|
|
52
|
+
- Name the rule (e.g., "§2.2 file length")
|
|
53
|
+
- Name the file and line count or violation
|
|
54
|
+
- Propose the minimal fix
|
|
55
|
+
|
|
56
|
+
6. **Fix on request** — if the user asks to fix the gaps, apply them one at a time, smallest change first. Do not refactor beyond what the rule requires.
|
|
57
|
+
|
|
58
|
+
## Reference
|
|
59
|
+
|
|
60
|
+
Full rule details: [`RULES.md`](./RULES.md)
|
|
61
|
+
|
|
62
|
+
Architecture options and future starters: `RULES.md §3`
|
|
63
|
+
|
|
64
|
+
Unix principles: `RULES.md §4`
|
|
65
|
+
|
|
66
|
+
## Verification
|
|
67
|
+
|
|
68
|
+
- [ ] `RULES.md` was read from the repo root (or fetched and absence noted)
|
|
69
|
+
- [ ] File length check ran with zero violations, or violations were listed
|
|
70
|
+
- [ ] Pre-commit hooks verified as installed and configured
|
|
71
|
+
- [ ] Compliance report produced listing passed checks and gaps
|
|
72
|
+
- [ ] Any fixes applied do not exceed the scope of the violated rule
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Codex Adapter for starter-rules
|
|
2
|
+
|
|
3
|
+
This is a Codex-specific adapter for the `olko:starter-rules` skill.
|
|
4
|
+
The canonical skill definition is in `../../../SKILL.md`.
|
|
5
|
+
|
|
6
|
+
## Usage
|
|
7
|
+
|
|
8
|
+
Invoke in a Codex session:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
Use the olko:starter-rules skill to load and enforce hard rules in this starter repo.
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
See `../../../SKILL.md` for the full workflow.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "starter-rules",
|
|
3
|
+
"description": "Load and enforce hard rules for every oleg-koval/* starter: 300-line files, E2E tests, pre-commit hooks, Vertical Slice architecture, no comments, KISS/DRY/SOLID.",
|
|
4
|
+
"rules": ["packages/software-development/starter-rules/adapters/cursor/skills/starter-rules/SKILL.md"]
|
|
5
|
+
}
|
package/packages/software-development/starter-rules/adapters/cursor/skills/starter-rules/SKILL.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: starter-rules
|
|
5
|
+
description: Load and enforce the hard rules every oleg-koval/* starter must obey. Use when starting or auditing work in saas-init, ts-npm-starter, go-starter, py-starter, or any future oleg-koval template repo. Covers functional style, 300-line file cap, E2E > unit tests, pre-commit hooks, no-comment policy, KISS/DRY/SOLID, and Vertical Slice as default architecture for SaaS/app starters.
|
|
6
|
+
license: MIT
|
|
7
|
+
compatibility: Codex, Claude Code, Cursor, and other Agent Skills compatible tools.
|
|
8
|
+
metadata:
|
|
9
|
+
author: Oleg Koval
|
|
10
|
+
tags:
|
|
11
|
+
- starters
|
|
12
|
+
- rules
|
|
13
|
+
- architecture
|
|
14
|
+
- vertical-slice
|
|
15
|
+
- linting
|
|
16
|
+
- pre-commit
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Starter Rules
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
Load the canonical hard rules for every `oleg-koval/*` starter repo and verify the current repo complies with them. Produces a compliance report and a list of gaps to fix.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- Starting a new coding session in any `oleg-koval/*` template repo
|
|
28
|
+
- Auditing an existing starter for rule compliance before a release or PR merge
|
|
29
|
+
- Onboarding a new contributor (human or AI) to a starter
|
|
30
|
+
- After a large refactor, to verify rules have not been silently violated
|
|
31
|
+
|
|
32
|
+
Do not use for repos outside the `oleg-koval` namespace unless they explicitly reference `RULES.md`.
|
|
33
|
+
|
|
34
|
+
## Workflow
|
|
35
|
+
|
|
36
|
+
1. **Load the rules** — read `RULES.md` from the repo root. If absent, fetch it from `https://github.com/oleg-koval/starters/blob/main/RULES.md` and note that the starter is missing a local copy.
|
|
37
|
+
|
|
38
|
+
2. **Apply §2 hard rules** — for the current task or PR diff, verify:
|
|
39
|
+
- No file exceeds 300 lines (`find . -name '*.ts' -o -name '*.py' -o -name '*.go' | xargs wc -l | awk '$1 > 300 && $2 != "total"'`)
|
|
40
|
+
- No functions produce side effects outside of boundary layers
|
|
41
|
+
- New code has no WHAT-comments; WHY-comments are one line max
|
|
42
|
+
- Tests are E2E-first; unit tests only for pure logic with non-trivial branching
|
|
43
|
+
|
|
44
|
+
3. **Verify hooks and lint** — check that pre-commit hooks are installed and configured:
|
|
45
|
+
- TypeScript: `cat .eslintrc* | grep max-lines` and `cat package.json | grep -A5 '"lint-staged"\|"husky"\|"lefthook"'`
|
|
46
|
+
- Python: `cat .pre-commit-config.yaml` and check for `ruff` + format hooks
|
|
47
|
+
- Go: `cat .golangci.yml` or `.pre-commit-config.yaml` and check for `golangci-lint` + `gofmt`
|
|
48
|
+
|
|
49
|
+
4. **Check architecture** — for app/SaaS starters: confirm feature code is organized as vertical slices (feature directory contains handler + DTO + service + tests together). For library starters: skip.
|
|
50
|
+
|
|
51
|
+
5. **Report gaps** — list any violations found in steps 2–4. For each gap:
|
|
52
|
+
- Name the rule (e.g., "§2.2 file length")
|
|
53
|
+
- Name the file and line count or violation
|
|
54
|
+
- Propose the minimal fix
|
|
55
|
+
|
|
56
|
+
6. **Fix on request** — if the user asks to fix the gaps, apply them one at a time, smallest change first. Do not refactor beyond what the rule requires.
|
|
57
|
+
|
|
58
|
+
## Reference
|
|
59
|
+
|
|
60
|
+
Full rule details: [`RULES.md`](./RULES.md)
|
|
61
|
+
|
|
62
|
+
Architecture options and future starters: `RULES.md §3`
|
|
63
|
+
|
|
64
|
+
Unix principles: `RULES.md §4`
|
|
65
|
+
|
|
66
|
+
## Verification
|
|
67
|
+
|
|
68
|
+
- [ ] `RULES.md` was read from the repo root (or fetched and absence noted)
|
|
69
|
+
- [ ] File length check ran with zero violations, or violations were listed
|
|
70
|
+
- [ ] Pre-commit hooks verified as installed and configured
|
|
71
|
+
- [ ] Compliance report produced listing passed checks and gaps
|
|
72
|
+
- [ ] Any fixes applied do not exceed the scope of the violated rule
|