Development Setup
Congratulations! You're ready to start developing with Edward's Second Brain. Here's how to get your development environment set up.
Prerequisites
Before you begin, ensure you have the following installed:
- Node.js 20+: Download here
- pnpm:
npm install -g pnpm - Git: For version control
Quick Start
-
Clone the repository:
git clone https://github.com/edcalderon/my-second-brain.git
cd my-second-brain -
Install dependencies:
pnpm install -
Set up environment variables:
cp apps/dashboard/.env.example apps/dashboard/.env.local
# Edit .env.local with your API keys -
Start development servers:
# Terminal 1: Dashboard
npm run dev
# Terminal 2: Documentation
npm run dev:docs
Environment Configuration
Required API Keys
You'll need to obtain API keys for the following services:
Supermemory API
- Visit Supermemory to get your API key
- Add to
.env.local:NEXT_PUBLIC_SUPERMEMORY_API_KEY=your-key
Firebase
- Create a Firebase project at Firebase Console
- Enable Authentication and Firestore
- Add Firebase config variables to
.env.local
Development Workflow
Making Changes
-
Create a feature branch:
git checkout -b feature/your-feature-name -
Make your changes and test locally
-
Version your changes:
npm run version:patch # For bug fixes
npm run version:minor # For new features
npm run version:major # For breaking changes -
Push and create PR:
git push origin feature/your-feature-name
Testing
# Run all tests
pnpm --filter @ed/dashboard test
# Build all apps
npm run build
# Validate versions
npm run version:validate
Project Structure
edward/
├── apps/
│ ├── dashboard/ # Main web application
│ └── docs/ # Documentation site
├── packages/
│ └── versioning/ # Version management CLI
├── scripts/ # Deployment scripts
└── config/ # Configuration files
Key Scripts
| Command | Description |
|---|---|
npm run dev | Start dashboard development server |
npm run dev:docs | Start documentation development server |
npm run build | Build all applications |
npm run version:patch | Create patch release |
npm run version:validate | Check version consistency |
Contributing
- Follow conventional commit format
- Write tests for new features
- Update documentation as needed
- Ensure all CI checks pass
Getting Help
- Documentation: You're reading it! Check other sections for detailed guides
- Issues: Report bugs on GitHub Issues
- Discussions: Ask questions on GitHub Discussions
What's Next?
- Explore the System Architecture to understand how everything works
- Check out the API Reference for integration details
- Learn about Deployment processes
Happy coding! 🚀