This is a full-stack TypeScript monorepo for a habit tracking application called "bhvr". It's built with a modern stack, including:
- Monorepo: Turborepo for build orchestration.
- Backend: Hono a lightweight web framework, running on Bun.
- Frontend: React with Vite for bundling.
- Database: The database is not explicitly defined in the project, but the server code has placeholders for a database connection. The project uses
better-authwhich suggests a SQL database. - Authentication: better-auth is used for authentication.
- UI: The frontend uses shadcn/ui and Tailwind CSS.
- Shared Code: There is a
sharedworkspace for code that is used by both the client and the server.
The project is structured as a monorepo with three workspaces:
client/: The React frontend.server/: The Hono backend.shared/: Shared TypeScript definitions.
To install the dependencies for all workspaces, run the following command from the root of the project:
bun installTo run all workspaces in development mode, run the following command from the root of the project:
bun run devYou can also run individual workspaces:
- Client:
bun run dev:client - Server:
bun run dev:server
To build all workspaces, run the following command from the root of the project:
bun run buildYou can also build individual workspaces:
- Client:
bun run build:client - Server:
bun run build:server
To run the server in production, you first need to build the project. Then you can run the following command:
bun run start- Code Style: The project uses ESLint for linting. The configuration can be found in
client/eslint.config.js. - Type Checking: The project uses TypeScript for static type checking. You can run the type checker with
bun run type-check. - Testing: The project is set up for testing, but there are no tests yet. You can run the tests with
bun run test. - Commits: There is no specific commit message format enforced, but the project uses
gitfor version control.