A Rubik's Cube companion app combining three modes: Solver (input cube state, get step-by-step solution), Coach (learn solving methods from beginner to advanced), and Timer (speedcube timer with scrambles and stats).
| Layer | Technology |
|---|---|
| Runtime | Bun |
| Monorepo | Turborepo |
| Build | Vite |
| Server | Hono |
| UI | React 19 |
| Styling | Tailwind CSS v4 |
| UI Components | Radix UI + daisyUI |
| State Management | Nanostores |
| Testing | Bun test |
| Language | TypeScript (strict) |
See docs/architecture.md for detailed rationale.
- Bun
>=1.2.0 - Git
bun install
bun run devapps/
web/ Hono server + React UI
packages/
cube-engine/ Pure TypeScript Rubik's Cube 3x3 engine
eslint-config/ Shared ESLint configuration
ts-config/ Shared TypeScript configuration
docs/
product.md The three modes (Solver, Coach, Timer)
architecture.md Stack, monorepo layout, dependency boundaries
frontend.md Design system and UI conventions
git-workflow.md Branching, commits, PRs
adr/ Architecture decision records
bun run dev # Start all apps in development mode
bun run build # Build all applications
bun run test # Run all tests
bun run typecheck # Type check all TypeScript
bun run lint:check # Lint check
bun run format:check # Format check
bun run clean # Clean build artifacts
bun run reset # Clean and reinstall dependenciesStart with AGENTS.md — the operating map for the repo.
- Agent Map
- Product — the three modes
- Architecture
- Frontend Design
- Git Workflow
- Architecture Decision Records
Titux Metal