Set up the development environment for the To-Do List WebApp project
This skill guides you through setting up the complete development environment for the To-Do List WebApp project.
First, verify that all required tools are installed:
node --version
npm --version
docker --version
git --version
If starting fresh:
git clone <repository-url>
cd To-DoList_WebApp
Install all dependencies for the monorepo (root, backend, and frontend):
npm run install:all
This command will:
Create backend/.env from the example:
cp backend/.env.example backend/.env
Edit backend/.env and configure:
MONGODB_URI - MongoDB connection string (default: mongodb://mongodb:27017/todolist)JWT_SECRET - Secret key for JWT tokens (generate a secure random string)PORT - Backend port (default: 5000)FRONTEND_URL - Frontend URL for CORS (default: http://localhost:5173)Create frontend/.env from the example:
cp frontend/.env.example frontend/.env
Edit frontend/.env and configure:
VITE_API_URL - Backend API URL (default: http://localhost:5000/api)Start all services using Docker Compose:
npm run dev
This will start:
Run the verification script to check that all services are running:
node .agent/skills/dev-setup/scripts/verify-setup.js
Or manually verify:
docker psIf you prefer not to use Docker, you can run services separately:
# Terminal 1 - Start MongoDB (requires local MongoDB installation)
mongod
# Terminal 2 - Start Backend
npm run dev:backend
# Terminal 3 - Start Frontend
npm run dev:frontend
If ports 5000 or 5173 are already in use:
.env filedocker-compose logsdocker-compose up --buildnpm cache clean --forcenode_modules and lock files: npm run clean:modulesnpm run install:alldocker psdocker-compose logs mongodbbackend/.envnpm run restartAfter setup is complete:
run-tests skill to verify everything workslint-fix skill to ensure code qualityadd-api-endpoint or add-react-component skills# View all running containers
docker ps
# View logs from all services
npm run logs
# View logs from specific service
npm run logs:backend
npm run logs:frontend
# Stop all services
npm run stop
# Restart all services
npm run restart
# Clean everything (including volumes)
npm run clean
Create a test todo item to verify the full stack is working:
docker exec -it <mongodb-container-id> mongosh