Welcome! This guide will help you contribute to Atla - Philippine AI Travel Planning app.
# Clone the repository
git clone <repo-url>
cd ph-travel-app
# Setup backend
cd backend
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Mac/Linux
pip install -r requirements.txt
# Setup frontend
cd ../frontend/atla
npm install# Make sure you're on main and it's up to date
git checkout main
git pull origin main
# Create your feature branch
git checkout -b feat/your-feature-name- Write your code following our style guidelines
- Run tests locally
- Ensure type checking passes
git add .
git commit -m "feat(scope): description of changes"git push -u origin feat/your-feature-nameThen open a Pull Request on GitHub. See Pull Requests for details.
- Check existing issues - Look for something to work on
- Create an issue - If you found a bug or have a feature idea
- Claim an issue - Comment on it so others know you're working on it
- Keep branches short-lived - Merge within days, not weeks
- Pull main frequently - Stay up to date to avoid conflicts
- Commit often - Small, focused commits are easier to review
- Test locally - Run type checks and builds before pushing
Before creating a PR:
- Code follows project conventions (see AGENTS.md)
- Build passes (
npm run buildin frontend) - Type check passes (
npm run typecheckin frontend) - Self-review completed
- No secrets or credentials in code
- Documentation updated (if needed)
Conflicts happen when the same file is modified in both branches.
-
Fetch latest main:
git checkout main git pull origin main
-
Switch to your branch:
git checkout your-feature-branch
-
Merge main into your branch:
git merge main
-
Resolve conflicts:
- Open conflicted files in your editor
- Look for conflict markers:
<<<<<<< HEAD (current branch code) ======= (incoming code from main) >>>>>>> main - Edit to keep the correct code
- Remove conflict markers
-
Mark as resolved:
git add <resolved-files> git commit -m "merge: resolve conflicts with main"
-
Push resolved branch:
git push origin your-feature-branch
- Pull main frequently while working on long-running branches
- Keep branches short-lived (merge within days, not weeks)
- Communicate with team about what files you're touching
ph-travel-app/
├── backend/ # FastAPI + Python
│ ├── app/ # Application code
│ ├── alembic/ # Database migrations
│ └── docs/ # Backend documentation
├── frontend/ # React + TypeScript
│ └── atla/ # Frontend application
│ ├── src/
│ │ ├── components/
│ │ ├── routes/
│ │ └── lib/
├── docs/ # Project documentation
└── .github/ # GitHub templates and workflows
- Branching Guide - Git workflow and branch naming
- Commit Conventions - How to write good commit messages
- Pull Request Guide - PR process and requirements
- Architecture Guide - Code patterns and architecture
- AGENTS.md - AI agent guidelines and code style
# Backend
cd backend && uvicorn app.main:app --reload # Start dev server
pytest # Run tests
alembic upgrade head # Run migrations
# Frontend
cd frontend/atla && npm run dev # Start dev server
npm run build # Production build
npm run typecheck # Type checking- Stuck on something? Create an issue with the "help wanted" label
- Found a bug? Create an issue with the "bug" label
- Have a question? Open a discussion on GitHub
- Want to chat? Check if we have a Discord/Slack (add link if applicable)
Be respectful, constructive, and inclusive. We're all here to build something great together!
Ready to contribute? Pick an issue and dive in! 🚀