A monorepo containing composable Nuxt layers, a shared component library, and a CSS design token system for building modern web applications.
| Package | Description |
|---|---|
| @1001-digital/layers.base | Foundation layer with accessible UI components and design tokens |
| @1001-digital/layers.evm | Ethereum/Web3 integration for building decentralized applications |
| @1001-digital/components | Shared Vue component library (Reka UI) |
| @1001-digital/styles | Shared CSS framework and design tokens |
evm ──extends──> base
Both layers consume shared packages:
layers.base ─> @1001-digital/components + @1001-digital/styles
layers.evm ──> @1001-digital/components
pnpm add @1001-digital/layers.base
# or
pnpm add @1001-digital/layers.evmExtend a layer in your nuxt.config.ts:
export default defineNuxtConfig({
extends: ['@1001-digital/layers.base'],
})# Install dependencies
pnpm install
# Format code
pnpm formatEach layer has its own playground. Run commands from within the package directory:
cd packages/layers.base
pnpm dev:prepare # Prepare Nuxt types
pnpm dev # Start playground dev server
pnpm build # Build playgroundThis project uses Changesets to manage versioning and publishing to npm.
When you make a change that should result in a new package version, run:
pnpm changesetThis prompts you to select the affected packages, choose the semver bump type (patch/minor/major), and write a short summary. It creates a changeset file in .changeset/ that you commit alongside your code.
When you push to master, a GitHub Action checks for pending changesets. If any exist, it opens (or updates) a "Version Packages" pull request that:
- Bumps versions in
package.json - Updates
CHANGELOG.mdfor each package - Removes the consumed changeset files
Merging that PR triggers the action again, which publishes the updated packages to npm.
- TypeScript
- Single quotes, no semicolons
- Component files match their full generated name (e.g.,
BaseFooButton.vue)
MIT