Last Updated: August 2026
- Python 3.11+ (required)
- Node.js 22+ (required, Next.js 16.2.2)
- Git (for cloning and version control)
make setup # one-shot: venv + deps + .env
make backend # full backend on :8001
make frontend # frontend dev server on :3001
make dev # both together (tmux or two terminals)Backend (Python/FastAPI):
cd backend
python3.11 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd ..
PYTHONPATH=$PWD:$PWD/backend ./backend/venv/bin/python -m uvicorn main_api_app:app --reload --port 8001Frontend (Next.js):
cd frontend-nextjs
npm install --legacy-peer-deps
npm run dev -- -p 3001Once both services are running:
| Service | URL | Description |
|---|---|---|
| Frontend | http://localhost:3001 | Main application UI |
| Backend API | http://localhost:8001 | API server (v8.0.0, 197 routers) |
| API Docs | http://localhost:8001/docs | Interactive API documentation (Swagger UI) |
| Health Check | http://localhost:8001/health/live | Backend liveness probe |
Key settings for development:
DATABASE_URL=sqlite:///./atom_dev.db— SQLite (default, zero setup)SECRET_KEY=<openssl rand -base64 48>— required for persistent JWTsBYPASS_RATE_LIMIT=1— lift rate limits for dev (set bymake backend)- LLM providers are optional — server boots without any (LLM features disabled until configured via Settings > AI or
.env)
Auto-created with:
NEXT_PUBLIC_API_URL=http://localhost:8001
NEXT_PUBLIC_APP_NAME=ATOM PlatformProblem: "Module not found" errors
# You're probably inside backend/ — run from repo root
cd /path/to/atom
PYTHONPATH=$PWD:$PWD/backend ./backend/venv/bin/python -m uvicorn main_api_app:app --port 8001Problem: Port 8001 already in use
# Find and kill the process
lsof -i :8001 # macOS/Linux
kill -9 <PID>
# Or use a different port: --port 8002Problem: Could not import module "main"
- There is no
backend/main.py. Usemain_api_app:app(full app) orminimal_app:app(smoke).
Problem: Database errors
rm backend/atom_dev.db # delete dev DB
# Restart server — bootstrap recreates everythingProblem: npm install fails with peer-dep conflicts
cd frontend-nextjs
npm install --legacy-peer-depsProblem: Frontend can't reach backend
- Verify backend:
curl http://localhost:8001/health/live - Check
frontend-nextjs/.env.local:NEXT_PUBLIC_API_URL=http://localhost:8001 - Restart the frontend dev server after editing
.env.local
Problem: Virtual environment activation fails
cd backend
rm -rf venv
python3.11 -m venv venv
source venv/bin/activate
pip install -r requirements.txt-
Backend changes: Edit Python files in
backend/- FastAPI auto-reloads on file changes (
--reloadflag) - Check terminal for errors
- FastAPI auto-reloads on file changes (
-
Frontend changes: Edit files in
frontend-nextjs/- Next.js hot-reloads automatically
- Check browser console for errors
Backend:
make test # unit tests
# or
cd backend && pytest tests/ -q --tb=shortE2E UI:
make test-e2e # E2E journey suite
# or
cd backend/tests/e2e_ui && ./scripts/start-e2e-env.sh && pytest -v -n 4Frontend:
cd frontend-nextjs && npm testBackend (mypy):
cd backend && mypy --config-file mypy.ini core/ api/Frontend (TypeScript):
cd frontend-nextjs && npx tsc --noEmitATOM Platform
├── backend/ # Python 3.11 + FastAPI API server
│ ├── main_api_app.py # Main entry point (v8.0.0, 197 routers)
│ ├── minimal_app.py # Smoke subset (~125 routes)
│ ├── core/ # Core business logic
│ ├── api/ # Route handlers
│ ├── tools/ # Agent tools
│ ├── integrations/ # 44+ integrations
│ ├── llm/ # LLM providers, BYOK, gateway
│ ├── tests/ # 1250+ test files
│ └── requirements.txt # Python dependencies
│
└── frontend-nextjs/ # Next.js 16.2.2 (Pages Router)
├── pages/ # Next.js pages (Pages Router)
├── components/ # React 18.3 components
├── hooks/ # Custom hooks
├── lib/ # Utilities
└── package.json # Node.js dependencies
- Configure API Keys: Update
backend/.envwith your actual API keys - Explore API: Visit http://localhost:8001/docs
- Test Features: Try creating workflows, integrations, etc.
- Read the docs: Documentation Index
- Check the API Documentation when running
- Review error messages in terminal output
- Read
CLAUDE.mdin the repo root for the engineering reference - File issues at https://github.com/rush86999/atom/issues
Last Updated: August 2026