OdysseyUI
OdysseyUI is a pnpm + Turborepo monorepo for building and publishing an animated React component system and its documentation site.
Built on the foundation of .
Tech Stack
- Next.js (App Router)
- React 19 + TypeScript
- Tailwind CSS v4
- Turborepo
- Fumadocs
Monorepo Structure
Prerequisites
- Node.js 20+
- pnpm 10+
Getting Started
This starts the Turborepo dev pipeline (including the docs app in apps/www).
Common Commands
Run from the repository root:
App-Level Commands
If you only want to run the web app:
Registry Workflow
The docs app includes a registry build script:
- Script:
apps/www/scripts/build-registry.mts - Output source folders:
apps/www/registry/* - Command:
pnpm registry:build
Use this when adding or updating publishable components/demos/hooks/icons.
Linting, Formatting, and Commits
- ESLint config is shared from
packages/eslint-config - TypeScript config is shared from
packages/typescript-config - Commit messages follow Conventional Commits via
commitlint
Deployment Notes
- Production build output for the docs app is generated by Next.js (
apps/www/.next) turbo.jsondefines cache-awarebuild,lint, and persistentdevtasks
Release Process
- Ensure the main branch is clean and up to date.
- Run quality checks:
- Bump versions as needed (for example in root
package.jsonandapps/www/package.json). - Commit changes and create a release tag:
- Publish/deploy using your CI/CD workflow.
Troubleshooting
- If dependencies are out of sync, run:
- If build artifacts become stale, clean and rebuild: