An independent Angular design system inspired by the Sirio design system (INPS), built on ng-primitives for behavior and accessibility. Targeted at Italian public-sector digital services, released as open source.
The CONTEXT.md defines the project's domain vocabulary. Architectural decisions are recorded in docs/adr/.
- pnpm >= 11.0.0 (install globally via the standalone installer, not
npm) - Node.js >= 24.15.0
git clone <repository-url>
cd dragone
pnpm installPackage manager: Always use
pnpmfor this project — nevernpmoryarn. ThepackageManagerfield inpackage.jsonenforces pnpm.
This project uses Storybook as the primary environment for developing, previewing, and testing components in isolation.
pnpm storybookOpens Storybook in your browser with all @dragone/ui components, autodocs, and an a11y panel.
pnpm build @dragone/uiOutput is written to dist/dragone/ui.
pnpm testUnit tests run via Vitest in browser mode (Playwright).
- Lint:
pnpm lint:oxlintandpnpm lint:eslint - Format:
pnpm format(verify withpnpm format:check)
Both run automatically on staged files before every commit via lefthook.
All commits must follow Conventional Commits. Use pnpm commit to create a commit via the interactive prompt (commitizen); the commit-msg hook validates your message with commitlint. Versioning and the changelog are managed by release-please from those commit messages; a release is cut by merging the release PR. See docs/references/release.md.