mirror of
https://github.com/penpot/penpot.git
synced 2026-05-24 17:33:41 +00:00
1.2 KiB
1.2 KiB
name, description
| name | description |
|---|---|
| penpot-frontend | Guidelines and workflows for the Penpot ClojureScript React frontend. |
Penpot Frontend Skill
This skill provides guidelines and workflows for the Penpot ClojureScript React frontend.
Testing & Validation
- Isolated tests: Edit
test/frontend_tests/runner.cljsto narrow the test suite, then runpnpm run test - Regression tests:
pnpm run test(without modifications on the runner) - Integration tests:
pnpm run test:e2eorpnpm run test:e2e --grep "pattern"(do not modify e2e tests unless explicitly asked).
Code Quality
- Linting:
pnpm run lint:cljpnpm run lint:jspnpm run lint:scss
- Formatting:
- Check:
pnpm run check-fmt:clj,pnpm run check-fmt:js,pnpm run check-fmt:scss - Fix:
pnpm run fmt:clj,pnpm run fmt:js,pnpm run fmt:scss
- Check:
Architecture & Conventions
- Uses React and RxJS (Potok for state management).
- Modern components use the
*suffix (e.g.,my-component*) and themf/defcmacro. - Hooks:
mf/use-state,mf/use-effect,mf/use-memo,mf/use-fn. Prefer macrosmf/with-effectandmf/with-memo. - Styles: Use CSS custom properties from
_sizes.scssand tokens fromds/colors.scss. Avoid deep selector nesting.