|
| 1 | +--- |
| 2 | +name: repo-navigation |
| 3 | +description: Repository layout and where to find code |
| 4 | +--- |
| 5 | + |
| 6 | +# Skill: Repository Navigation |
| 7 | + |
| 8 | +## Top-level Layout |
| 9 | + |
| 10 | +``` |
| 11 | +. |
| 12 | +├── app/ # Main Django application |
| 13 | +├── deployment/ # Infrastructure and deployment configs |
| 14 | +├── doc/ # Project documentation |
| 15 | +├── .github/instructions/ # File-scoped AI coding guidance |
| 16 | +├── .agents/skills/ # AI agent skill files (this directory) |
| 17 | +├── agents.md # Canonical AI agent policy |
| 18 | +├── docker-compose.yml # Docker Compose for local/dev environment |
| 19 | +├── DEPLOYMENT.md # Production deployment walkthrough |
| 20 | +├── CONTRIBUTING.md # Contributor guidelines |
| 21 | +└── README.rst # Project overview |
| 22 | +``` |
| 23 | + |
| 24 | +## Application Root: `app/` |
| 25 | + |
| 26 | +``` |
| 27 | +app/ |
| 28 | +├── eventyay/ # Core Django application package |
| 29 | +├── tests/ # Test suite |
| 30 | +├── pyproject.toml # Project metadata and dependencies |
| 31 | +└── manage.py # Django management entry point |
| 32 | +``` |
| 33 | + |
| 34 | +## Core Application: `app/eventyay/` |
| 35 | + |
| 36 | +| Directory | Purpose | |
| 37 | +|---|---| |
| 38 | +| `api/` | REST API endpoints (Django REST Framework) | |
| 39 | +| `base/` | Shared models (`base/models/`), utilities, middleware, and forms (`base/forms/`) | |
| 40 | +| `control/` | Organiser/back-office views, forms, and URLs | |
| 41 | +| `presale/` | Attendee-facing (ticket purchase) views and forms | |
| 42 | +| `common/` | Cross-cutting helpers shared across modules | |
| 43 | +| `config/` | Application configuration and settings | |
| 44 | +| `plugins/` | Plugin infrastructure | |
| 45 | +| `static/` | Static assets (CSS, JS, images) | |
| 46 | +| `jinja-templates/` | Jinja HTML templates | |
| 47 | +| `locale/` | Translation files | |
| 48 | +| `mail/` | Email rendering and sending | |
| 49 | +| `celery.py` / `celery_app.py` | Celery task configuration | |
| 50 | + |
| 51 | +> **Note:** Models, forms, and templates are distributed inside sub-apps |
| 52 | +> (e.g. `base/models/`, `control/forms/`, `presale/templates/`), not in |
| 53 | +> standalone top-level directories. |
| 54 | +
|
| 55 | +## Deployment: `deployment/` |
| 56 | + |
| 57 | +``` |
| 58 | +deployment/ |
| 59 | +├── docker-compose.yml # Production Compose file |
| 60 | +├── env.sample # Sample environment variables |
| 61 | +├── env.dev.sample # Sample dev environment variables |
| 62 | +└── nginx/ # Nginx configuration |
| 63 | +``` |
| 64 | + |
| 65 | +## Documentation: `doc/` |
| 66 | + |
| 67 | +Contains extended project documentation written in reStructuredText or Markdown. |
| 68 | + |
| 69 | +## Key Lookup Shortcuts |
| 70 | + |
| 71 | +- **Add a model** → `app/eventyay/<sub-app>/models.py` or `app/eventyay/base/models/` |
| 72 | +- **Add an API endpoint** → `app/eventyay/api/` |
| 73 | +- **Add a form** → `app/eventyay/<sub-app>/forms.py` or `app/eventyay/<sub-app>/forms/` |
| 74 | +- **Add a migration** → run `python manage.py makemigrations` from `app/` |
| 75 | +- **Add a test** → `app/tests/` |
0 commit comments