First off, thank you for considering contributing to Debo! We value your help in building a better Life Intelligence System.
Debo is designed to be a "quietly-confident" space for reflection. When contributing UI changes:
- Prioritize Typography: Use large, readable headings and JetBrains Mono for metadata.
- Warm Aesthetics: Avoid pure whites and blacks; use the cream canvas (`#f7f7f4`) and warm ink (`#26251e`).
- Minimal Depth: No drop shadows. Use 1px hairlines for separation.
- Generous Rhythm: Maintain an 80px vertical rhythm between major sections.
- Bun (Runtime & Package Manager)
- Neon (Postgres Database)
- Stack Auth (Authentication)
- Qdrant (Vector Search)
# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/debo.git
cd debo
# Install dependencies
bun installCopy the root environment template:
cp .env.example .env.local# Sync your database schema (scoped to the db package)
bun run db:push# Run the main application
bun dev
# Or run specific apps
bun run dev:landing
bun run dev:websiteDebo uses a Bun monorepo to separate concerns:
apps/landing-page: Public landing page deployed as a Cloudflare Worker.apps/website: Full-stack product deployed on Vercel with Next.js route handlers, UI, and LangGraph server code.packages/*: Shared logic and configuration used across apps.
When adding a new feature:
- Shared Logic: If the logic (e.g., a new DB table or AI utility) is used by multiple apps, add it to the corresponding package in
packages/. - UI Components: Add shared components to
packages/ui. - App Logic: Add app-specific routes, actions, or components to the relevant app in
apps/.
- React 19 & Next.js 16: Use functional components, Server Components by default, and Server Actions for data mutations.
- TypeScript: Strict type safety is required. Avoid `any`.
- Styling: Tailwind CSS v4. Stick to the design tokens defined in `tailwind.config.ts`.
- Orchestration: Agent logic should be added to
apps/website/src/server/langgraph. - Database: Use Drizzle ORM for all database operations.
- Create a branch: `git checkout -b feat/your-feature-name` or `fix/bug-name`.
- Make your changes and ensure they follow the design philosophy.
- Run linting: `bun run lint`.
- Open a Pull Request against the `main` branch.
- Provide a clear description and screenshots (for UI changes).
- Bug Reports: Provide steps to reproduce, expected vs. actual behavior, and environment details.
- Feature Requests: Explain the "Why" and "How" it fits into the Life Intelligence System.
By participating in this project, you agree to abide by our Code of Conduct.
By contributing, you agree that your contributions will be licensed under the MIT License.