peaks-cli 1.0.10 → 1.0.11

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/bin/peaks.js CHANGED
File without changes
@@ -96,17 +96,20 @@ function renderClaudeMd(language) {
96
96
  '- peaks-solo summarizes RD and QA standards preflight before end-to-end code workflows.',
97
97
  '',
98
98
  'Rules:',
99
- '- Read `.claude/rules/common/coding-style.md` before editing code.',
99
+ '- RED LINE: Read `.claude/rules/common/coding-style.md` before editing code, and treat its file-size limits as blockers.',
100
+ '- RED LINE: Strictly prohibit oversized single files; split large files into cohesive modules before handoff.',
100
101
  '- Read `.claude/rules/common/code-review.md` before reviewing changes.',
101
102
  '- Read `.claude/rules/common/security.md` before touching filesystem, user input, external calls, auth, or secrets.',
102
103
  `- Read .claude/rules/${language}/coding-style.md for language-specific standards when applicable.`,
103
104
  '',
104
- 'External reference: https://github.com/affaan-m/everything-claude-code is used as a curated reference only. Do not execute or install external content without explicit approval.',
105
+ 'External references: https://github.com/affaan-m/everything-claude-code and https://github.com/SquabbyZ/andrej-karpathy-skills are used as curated references only. Treat andrej-karpathy-skills code quality guidance as a red line during peaks-rd implementation. Do not execute or install external content without explicit approval.',
105
106
  ''
106
107
  ].join('\n');
107
108
  }
108
109
  function renderCommonCodingStyle() {
109
- return `${renderHeader('Common Coding Standards')}- Prefer simple, readable code over clever abstractions.
110
+ return `${renderHeader('Common Coding Standards')}- RED LINE: Strictly prohibit oversized single files; split large files into cohesive modules before handoff.
111
+ - RED LINE: Treat https://github.com/SquabbyZ/andrej-karpathy-skills code quality guidance as a blocker for peaks-rd implementation.
112
+ - Prefer simple, readable code over clever abstractions.
110
113
  - Keep functions focused and files cohesive.
111
114
  - Use immutable updates unless a language-specific convention explicitly favors mutation.
112
115
  - Validate user input, external data, file paths, and configuration at system boundaries.
@@ -114,7 +117,9 @@ function renderCommonCodingStyle() {
114
117
  `;
115
118
  }
116
119
  function renderCodeReview() {
117
- return `${renderHeader('Code Review Standards')}- Review diffs for correctness, maintainability, test coverage, and regression risk.
120
+ return `${renderHeader('Code Review Standards')}- RED LINE: Block oversized single-file changes and require cohesive module splits before approval.
121
+ - RED LINE: Treat https://github.com/SquabbyZ/andrej-karpathy-skills code quality guidance as a blocker during review.
122
+ - Review diffs for correctness, maintainability, test coverage, and regression risk.
118
123
  - Treat missing tests for changed behavior as a blocker unless the change is documentation-only.
119
124
  - Verify code paths that handle filesystem, external APIs, credentials, user input, or generated artifacts.
120
125
  - peaks-qa must use this guidance as part of code workflow preflight and final verification.
@@ -1 +1 @@
1
- export declare const CLI_VERSION = "1.0.10";
1
+ export declare const CLI_VERSION = "1.0.11";
@@ -1 +1 @@
1
- export const CLI_VERSION = "1.0.10";
1
+ export const CLI_VERSION = "1.0.11";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peaks-cli",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
4
4
  "description": "Peaks CLI and short skill family for Claude Code automation.",
5
5
  "author": "SquabbyZ",
6
6
  "license": "MIT",
@@ -35,6 +35,7 @@
35
35
  "dev:watch": "node ./scripts/watch.mjs",
36
36
  "test": "vitest run",
37
37
  "test:coverage": "vitest run --coverage",
38
+ "lint": "eslint eslint.config.js \"bin/**/*.js\" \"scripts/**/*.mjs\" \"src/**/*.ts\" \"tests/**/*.ts\" vitest.config.ts",
38
39
  "typecheck": "tsc -p tsconfig.json --noEmit"
39
40
  },
40
41
  "engines": {
@@ -46,10 +47,14 @@
46
47
  "shadcn": "4.7.0"
47
48
  },
48
49
  "devDependencies": {
50
+ "@eslint/js": "^10.0.1",
49
51
  "@types/node": "^22.10.2",
50
52
  "@vitest/coverage-v8": "^2.1.8",
53
+ "eslint": "^10.4.0",
54
+ "globals": "^17.6.0",
51
55
  "tsx": "^4.19.2",
52
56
  "typescript": "^5.7.2",
57
+ "typescript-eslint": "^8.59.4",
53
58
  "vitest": "^2.1.8"
54
59
  }
55
60
  }
@@ -25,6 +25,12 @@ Before RD planning or implementation work in a code repository, call the Peaks C
25
25
 
26
26
  If `CLAUDE.md` is missing, treat creation as the preferred path. If `CLAUDE.md` already exists, use `standards update` to decide whether to append a managed index block or surface review-only suggestions. Apply only when write authorization exists; otherwise keep the CLI output as a preflight next action. Do not hand-write standards file mutations inside the skill.
27
27
 
28
+ ## Code quality red lines
29
+
30
+ When RD plans, implements, reviews, or repairs code, treat `https://github.com/SquabbyZ/andrej-karpathy-skills` as a code quality red-line reference after inspecting its relevant guidance. The reference is not optional taste: code that violates its quality discipline, especially oversized single-file implementations, cannot be marked complete.
31
+
32
+ Generated project-local `CLAUDE.md` and `.claude/rules/**` must state these quality rules as red lines. Strictly prohibit oversized single files; split large files into cohesive modules before handoff instead of accepting them as technical debt.
33
+
28
34
  ## GStack integration and code dry-runs
29
35
 
30
36
  Use gstack as a concrete engineering workflow reference for `Think → Plan → Build → Review → Test → Ship → Reflect`:
@@ -96,6 +96,8 @@ If the user already names a profile, do not ask again unless the request crosses
96
96
 
97
97
  ## Project standards preflight
98
98
 
99
+ Peaks Solo must ensure generated project-local `CLAUDE.md` and `.claude/rules/**` treat `https://github.com/SquabbyZ/andrej-karpathy-skills` code quality guidance and strict file-size limits as red lines, not optional preferences. Oversized single-file implementations block RD/QA completion.
100
+
99
101
  Before orchestrating an end-to-end code repository workflow, gather the project standards preflight status from RD and QA by calling the Peaks CLI:
100
102
 
101
103
  - `peaks standards init --project <path> --dry-run`
@@ -29,26 +29,46 @@ Use gstack as a concrete design-review workflow reference for the `Plan → Revi
29
29
 
30
30
  For frontend work, especially full-auto mode, use headed `gstack/browse/dist/browse` to inspect the running page or prototype before accepting the UI direction. Verify that a visible browser actually opened. If login, CAPTCHA, SSO, or MFA appears, wait for the user to complete login and explicitly confirm completion before continuing. Capture only sanitized visible regressions, weak hierarchy, generic template patterns, console errors, and interaction problems as UI feedback that should return to design/RD before handing off to QA; do not retain login URLs, cookies, headers, tokens, storage state, browser traces, or screenshots/logs containing PII or SSO/MFA material.
31
31
 
32
+ ## Performance-safe motion references
33
+
34
+ Use `https://github.com/heygen-com/hyperframes` as a motion and interaction reference for HTML-native composition, GSAP-style timeline thinking, shader-like transitions, data visualization motion, captions/overlays, and cinematic state changes. Treat it as reference material only: do not install HyperFrames, add video-rendering dependencies, or import heavy animation runtimes unless the target project already uses them or the user explicitly approves.
35
+
36
+ If the user explicitly asks to use HyperFrames skills/runtime and they are unavailable locally, do not silently continue as if installed. Report the missing capability and tell the user to install it manually with `npx skills add heygen-com/hyperframes`, then rerun the Peaks UI step after installation. Keep reference-only UI guidance unblocked when installation is not required.
37
+
38
+ Peaks UI may recommend richer animation when it improves comprehension, hierarchy, or product feel, but performance is a hard gate. Motion constraints:
39
+
40
+ - prefer CSS transitions, Web Animations API, or an existing project animation library before adding new dependencies;
41
+ - animate compositor-friendly properties first: `transform`, `opacity`, and carefully scoped `filter` or `clip-path`;
42
+ - avoid layout-bound animation of `width`, `height`, `top`, `left`, `margin`, `padding`, `border`, and `font-size`;
43
+ - respect `prefers-reduced-motion` and provide equivalent non-motion affordances;
44
+ - keep timelines deterministic and state-driven rather than scroll-handler or timer churn;
45
+ - require lazy loading or dynamic import for heavy visual runtimes, shader effects, video, Lottie, or 3D;
46
+ - reject motion that hurts Core Web Vitals, creates layout shift, blocks interaction, or masks loading/errors.
47
+
48
+ Performance evidence must accompany animation-heavy UI direction: browser observation, console/network check, bundle/build-size or Lighthouse-equivalent note when available, and an explicit reduced-motion/accessibility note.
49
+
32
50
  ## Full-auto visual quality path
33
51
 
34
52
  When Peaks UI is used in full-auto frontend design, default to the curated taste path instead of generic component generation:
35
53
 
36
54
  1. use `awesome-design-md` as the visual reference source for layout, composition, rhythm, and atmosphere;
37
55
  2. use `taste-skill` or the local `design-taste-frontend` skill as the critique lens for anti-template, typography, color, density, motion, and interaction quality;
38
- 3. choose a specific style direction before implementation, such as editorial, bento, Swiss, luxury, retro-futurist, glass, or product-specific system UI;
39
- 4. define design dials before generating UI: design variance, motion intensity, visual density, typography pair, palette, and interaction feel;
40
- 5. reject centered stock heroes, default card grids, unmodified shadcn/library defaults, AI purple-blue gradients, generic three-card feature rows, and safe gray-on-white pages without a point of view;
41
- 6. require loading, empty, error, hover, focus, active, and responsive states for meaningful surfaces;
42
- 7. browser-check the result with headed `gstack/browse/dist/browse`, wait for explicit user confirmation after any login challenge, and iterate until the UI looks intentional, memorable, and product-specific.
56
+ 3. use HyperFrames references for tasteful interaction patterns such as reveal sequencing, kinetic captions, product overlays, chart motion, shader-like transitions, and cinematic state changes, while keeping runtime performance gates explicit;
57
+ 4. choose a specific style direction before implementation, such as editorial, bento, Swiss, luxury, retro-futurist, glass, or product-specific system UI;
58
+ 5. define design dials before generating UI: design variance, motion intensity, visual density, typography pair, palette, interaction feel, motion budget, and reduced-motion behavior;
59
+ 6. reject centered stock heroes, default card grids, unmodified shadcn/library defaults, AI purple-blue gradients, generic three-card feature rows, and safe gray-on-white pages without a point of view;
60
+ 7. require loading, empty, error, hover, focus, active, responsive, and reduced-motion states for meaningful surfaces;
61
+ 8. browser-check the result with headed `gstack/browse/dist/browse`, wait for explicit user confirmation after any login challenge, and iterate until the UI looks intentional, memorable, performant, and product-specific.
43
62
 
44
- Full-auto Peaks UI output must include a short taste report: visual direction, references used, rejected generic patterns, browser observations, remaining design risks, and the next visual iteration if the page is not yet good enough.
63
+ Full-auto Peaks UI output must include a short taste report: visual direction, references used, rejected generic patterns, motion budget, reduced-motion behavior, browser observations, performance evidence, remaining design risks, and the next visual iteration if the page is not yet good enough.
45
64
 
46
65
  ## External capability guidance
47
66
 
48
67
  Use `peaks capabilities --json` before recommending design, browser, or UI reference resources.
49
68
 
50
69
  - In full-auto frontend mode, prefer the `awesome-design-md` + `taste-skill`/`design-taste-frontend` combination before shadcn/ui or generic component-library output.
51
- - shadcn/ui, React Bits, awesome-design-md, taste-skill, and ui-ux-pro-max-skill are UI references; do not treat unreviewed generated UI as finished design.
70
+ - HyperFrames can be used as a motion-pattern reference for HTML-native timelines, overlays, transitions, and animated data storytelling, but do not add its runtime or video pipeline to application UI unless explicitly approved.
71
+ - shadcn/ui, React Bits, awesome-design-md, HyperFrames, taste-skill, and ui-ux-pro-max-skill are UI references; do not treat unreviewed generated UI as finished design.
52
72
  - Chrome DevTools MCP and Agent Browser can support runtime UI inspection only after the user approves the app target.
53
73
  - Figma Context MCP and Penpot require user-authorized design access and must not persist tokens or private design data in project artifacts.
54
74
  - Check license, accessibility, and performance before translating external visual references into Peaks UI constraints.
@@ -8,20 +8,23 @@ Use this path before generating or accepting frontend UI:
8
8
 
9
9
  1. Pull visual direction from `awesome-design-md` style references or equivalent curated design markdown.
10
10
  2. Apply `taste-skill`/`design-taste-frontend` critique rules to set design variance, motion intensity, visual density, typography, palette, and interaction feel.
11
- 3. Produce a concrete visual direction, not vague “clean modern” language.
12
- 4. Reject generic AI UI tells: centered stock hero, uniform card grids, default shadcn/library styling, purple-blue gradients, three equal feature cards, generic placeholder copy, and static-only happy states.
13
- 5. Require meaningful loading, empty, error, hover, focus, active, and responsive states.
14
- 6. Use headed `gstack/browse/dist/browse` on the running page or prototype to inspect real browser output; visible browser confirmation is mandatory, and login/CAPTCHA/SSO/MFA requires waiting for explicit user confirmation before continuing.
15
- 7. If the browser view looks generic, visually weak, broken, inaccessible, or has console/runtime errors, return to design/RD and iterate before handing off to QA.
11
+ 3. Use HyperFrames as a reference for HTML-native timeline ideas, kinetic overlays, animated captions, data motion, shader-like transitions, and cinematic state changes, without installing its runtime unless explicitly approved. If the workflow requires actual HyperFrames skills/runtime and they are missing, mark the step blocked and tell the user to install manually with `npx skills add heygen-com/hyperframes` before continuing that path.
12
+ 4. Produce a concrete visual direction, not vague “clean modern” language.
13
+ 5. Define a motion budget: allowed animated properties, max intensity, reduced-motion behavior, lazy-loading expectations, and performance evidence required.
14
+ 6. Reject generic AI UI tells: centered stock hero, uniform card grids, default shadcn/library styling, purple-blue gradients, three equal feature cards, generic placeholder copy, and static-only happy states.
15
+ 7. Require meaningful loading, empty, error, hover, focus, active, responsive, and reduced-motion states.
16
+ 8. Use headed `gstack/browse/dist/browse` on the running page or prototype to inspect real browser output; visible browser confirmation is mandatory, and login/CAPTCHA/SSO/MFA requires waiting for explicit user confirmation before continuing.
17
+ 9. If the browser view looks generic, visually weak, broken, inaccessible, slow, janky, or has console/runtime errors, return to design/RD and iterate before handing off to QA.
16
18
 
17
19
  ## Outputs
18
20
 
19
21
  - UX flow;
20
22
  - page state map;
21
23
  - visual direction with references;
22
- - design dials and rejected generic patterns;
24
+ - design dials, motion budget, and rejected generic patterns;
23
25
  - interaction constraints;
24
26
  - headed `gstack/browse/dist/browse` browser observations when frontend output exists;
25
27
  - UI regression seeds;
26
- - accessibility notes;
28
+ - accessibility and reduced-motion notes;
29
+ - performance evidence for animation-heavy UI;
27
30
  - taste report.