{"_id":"@a5c-ai/compendium","_rev":"2-734c465de958b00fddfa555f5d50aae0","name":"@a5c-ai/compendium","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@a5c-ai/compendium","version":"0.1.0","_id":"@a5c-ai/compendium@0.1.0","maintainers":[{"name":"tmuskal","email":"tal@musk.al"},{"name":"benihak","email":"beni@a5c.ai"}],"dist":{"shasum":"0a6d932887e1ec1ec30d261b6d7e705eaf3d8f36","tarball":"https://registry.npmjs.org/@a5c-ai/compendium/-/compendium-0.1.0.tgz","fileCount":110,"integrity":"sha512-RffyNEEkid/djTHGr5N5W9eaMXR+8JS8YSL9U1cshTXb+cTZ6AgNzPZKF7a4mhUadjD9/Bdr8eCswIgt1Zc2Zw==","signatures":[{"sig":"MEUCIQCFVN5x/AIfwLgxaQD5UwhLjtJq6OOikduny5i9AYK4CwIgN4WenNtVKzDGmwDnWtYQEzvSz+X757t2odx5nSeu2Cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220057},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/tokens.css","./css/*":"./dist/*.css","./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","require":"./dist/icons.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"},"./tokens":{"types":"./dist/tokens.d.ts","import":"./dist/tokens.js","require":"./dist/tokens.cjs"}},"gitHead":"4a2a6ba03dceb0b07f6a2ed95ee81790457205a5","scripts":{"dev":"storybook dev -p 6006","lint":"tsc --noEmit","test":"vitest","build":"vite build && tsc --emitDeclarationOnly --declaration --declarationDir dist","release":"changeset publish","changeset":"changeset","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"tmuskal","email":"tal@musk.al"},"_npmVersion":"10.8.2","description":"The a5c.ai design system — Codex/Steampunk-inspired React components, design tokens, and icons.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","vitest":"^3.0.0","react-dom":"^19.0.0","storybook":"^8.6.0","typescript":"^5.7.0","@types/react":"^19.0.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.4.0","@storybook/addon-a11y":"^8.6.0","@storybook/react-vite":"^8.6.0","@storybook/addon-essentials":"^8.6.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compendium_0.1.0_1776874228523_0.5652206099721824","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@a5c-ai/compendium","version":"0.1.1","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"},"./codex":{"types":"./dist/codex.d.ts","import":"./dist/codex.js","require":"./dist/codex.cjs"},"./tokens":{"types":"./dist/tokens.d.ts","import":"./dist/tokens.js","require":"./dist/tokens.cjs"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","require":"./dist/icons.cjs"},"./css":"./dist/tokens.css","./css/*":"./dist/*.css"},"sideEffects":["**/*.css"],"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"devDependencies":{"@axe-core/playwright":"^4.11.2","@changesets/cli":"^2.27.0","@playwright/test":"^1.59.1","@storybook/addon-a11y":"^8.6.0","@storybook/addon-essentials":"^8.6.0","@storybook/react-vite":"^8.6.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.4.0","chromatic":"^16.6.0","http-server":"^14.1.1","react":"^19.0.0","react-dom":"^19.0.0","storybook":"^8.6.0","typescript":"^5.7.0","vite":"^6.0.0","vitest":"^3.0.0"},"scripts":{"dev":"storybook dev -p 6006","build":"vite build && tsc --emitDeclarationOnly --declaration --declarationDir dist","build-storybook":"storybook build","lint":"tsc --noEmit","test":"vitest","test:watch":"vitest","test:ci":"vitest run","test:a11y":"playwright test","playwright:install":"playwright install --with-deps chromium","validate:package":"node ./scripts/validate-package.mjs","validate:consumer":"node ./scripts/validate-consumer.mjs","validate":"npm run lint && npm run test:ci && npm run build && npm run build-storybook && npm run validate:package && npm run validate:consumer && npm run test:a11y","validate:release":"npm run validate","chromatic":"chromatic --only-changed","prepublishOnly":"npm run build && npm run validate:package && npm run validate:consumer","changeset":"changeset","release":"changeset publish"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.60.2"},"_id":"@a5c-ai/compendium@0.1.1","gitHead":"6b38f023c59765566c1962def7440ff029052c17","description":"The a5c.ai design system — Codex/Steampunk-inspired React components, design tokens, and icons.","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-PtpB4HXFMOt8L6nywdZil5QK+o9ggQhs0i7Fe/s3vAqWU2l7oDSdT6pRWs80L6ASPqhMma8I1jY9eI4qqTiU+Q==","shasum":"01a4eac4246c453dd6fd4128bcca0a8e57e6d8bc","tarball":"https://registry.npmjs.org/@a5c-ai/compendium/-/compendium-0.1.1.tgz","fileCount":137,"unpackedSize":1546948,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCmf+Dt5xu2ml+5lIEQnoKt13yu1SI9yqMzU6djtLY7IQIhANuyUOHGf7RSEmY9tF21tgJXI9VKjmynUtW1S9FiQOlp"}]},"_npmUser":{"name":"tmuskal","email":"tal@musk.al"},"directories":{},"maintainers":[{"name":"tmuskal","email":"tal@musk.al"},{"name":"benihak","email":"beni@a5c.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/compendium_0.1.1_1778151920074_0.16494798742444106"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-22T16:10:28.413Z","modified":"2026-05-07T11:05:20.434Z","0.1.0":"2026-04-22T16:10:28.730Z","0.1.1":"2026-05-07T11:05:20.310Z"},"description":"The a5c.ai design system — Codex/Steampunk-inspired React components, design tokens, and icons.","maintainers":[{"name":"tmuskal","email":"tal@musk.al"},{"name":"benihak","email":"beni@a5c.ai"}],"readme":"# @a5c-ai/compendium\n\nThe a5c.ai design system — Codex/Steampunk-inspired React components, design tokens, and icons.\n\n## Install\n\n```bash\nnpm install @a5c-ai/compendium\n```\n\n## Quick Start\n\n```tsx\n// Import everything (components + tokens + icons + CSS)\nimport { Button, Toggle, Modal } from '@a5c-ai/compendium';\n\n// Or import specific subpaths for tree-shaking\nimport { Button, Input, Select } from '@a5c-ai/compendium/react';\nimport { CodexDocsShell, CodexDashboardShell } from '@a5c-ai/compendium/codex';\nimport { colors, spacing } from '@a5c-ai/compendium/tokens';\nimport { LogoWordmark, SealGatePassed } from '@a5c-ai/compendium/icons';\n\n// CSS-only (no JS) — useful for non-React projects\nimport '@a5c-ai/compendium/css';\n```\n\n## Subpath Exports\n\n| Import | Contents |\n|--------|----------|\n| `@a5c-ai/compendium` | Everything: components, tokens, icons, CSS |\n| `@a5c-ai/compendium/react` | React components only |\n| `@a5c-ai/compendium/codex` | Codex docs/dashboard primitives and their supporting types |\n| `@a5c-ai/compendium/tokens` | Design tokens (CSS variables + JS constants) |\n| `@a5c-ai/compendium/icons` | SVG icon React components |\n| `@a5c-ai/compendium/css` | CSS custom properties, reset, and base typography |\n\n## Components\n\n**Controls:** Button, IconButton, Toggle, Checkbox, RadioGroup, Slider, RangeSlider, Stepper, Input, Textarea, Field, Tag, TagInput, InlineEdit, ColorPicker, Progress, Spinner, Skeleton\n\n**Layout:** Accordion, Tabs, DataTable, Pagination, Tree, Breadcrumbs, NavItem, Sidebar, SplitPane\n\n**Overlays:** Tooltip, Popover, Select, Combobox, DropdownMenu, ContextMenu, Modal, Drawer, CommandPalette, ToastProvider/useToasts\n\n**Icons:** LogoWordmark, LogoMonogram, LogoMonogramDark, SealGatePassed, GlyphDivider, GlyphModeInteractive, GlyphModePlan, GlyphModeYolo, GlyphModeForever, IllustrationConvergenceLoop, IllustrationQualityGates\n\n## Development\n\n```bash\ngit clone <repo-url>\ncd compendium\nnpm ci\nnpm run playwright:install\nnpm run dev        # Start Storybook on port 6006\nnpm run build      # Build the library\nnpm run lint       # TypeScript type check\nnpm run test       # Run tests\nnpm run validate   # Full contributor/release validation contract\n```\n\n## Contributing\n\nThis project uses [Changesets](https://github.com/changesets/changesets) for versioning.\n\n```bash\nnpx changeset          # Create a new changeset\nnpx changeset version  # Apply changesets to bump versions\nnpm run release        # Publish to npm\n```\n\nBefore opening or updating a PR, run `npm run validate`. This contract covers linting, tests, package build, Storybook build, tarball validation, example-consumer validation, and browser-level accessibility checks.\n\nThe release workflow also requires Chromatic. Repository maintainers must configure `CHROMATIC_PROJECT_TOKEN` for the visual-regression gate.\n\nSee [docs/validation-contract.md](./docs/validation-contract.md) for the full gate matrix and maintainer guidance.\n\n## Design Language\n\nWarm vellum grounds vs. violet-black void. Serif display (Cormorant Garamond), serif body (EB Garamond), mono (JetBrains Mono). No emoji. No gradients. Elevation via plate offset shadows.\n\nSee the [Storybook](./storybook-static/) for the full design token reference and component gallery.\n\n## License\n\nMIT — a5c.ai\n","readmeFilename":"README.md"}