Thank you for your interest in contributing! Here's how to get started.
- Node.js 18+
- A PostgreSQL 14-17 server for testing
- (Optional) Anthropic API key for AI features
# Fork and clone
git clone https://github.com/YOUR_USERNAME/dba-coworker.git
cd dba-coworker
# Backend (Terminal 1)
cd backend
npm install
node --watch server.js # Auto-restarts on file changes
# Frontend (Terminal 2)
cd frontend
npm install
npm run dev # Hot reload on :3000, proxies /api to :4000backend/server.js — Express API (all endpoints)
frontend/src/App.jsx — React application (all components)
Both files are intentionally kept as single files for simplicity. As the project grows, we may modularize.
- Open an issue with steps to reproduce
- Include your PostgreSQL version, Node.js version, and OS
- Paste any error messages from the browser console or backend terminal
- Open an issue with
[Feature Request]prefix - Describe the use case and expected behavior
- Reference similar features in pgAdmin/SSMS/dbForge if applicable
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Test with a real PostgreSQL server
- Verify frontend builds:
cd frontend && npm run build - Verify backend syntax:
cd backend && node -c server.js - Submit PR with description of changes
- Keep it simple — single-file architecture for now
- No external UI libraries (no Tailwind, no Material UI)
- Inline styles in React components
- SQL queries use parameterized inputs where possible
- All new endpoints need basic error handling with try/catch
- ER Diagram visualization (Canvas/SVG based)
- Data import from CSV/JSON/Excel
- pgAgent job manager integration
- Scheduled health check cron system
- Multi-language support (i18n)
- Unit tests for backend API endpoints
- Accessibility improvements (keyboard navigation, ARIA)
Be respectful, constructive, and collaborative. We're all here to build great tools for the PostgreSQL community.