No Description

AGENTS.md 2.5KB

Repository Guidelines

Project Structure & Module Organization

  • ecoloop/: Django project settings, URLs, WSGI/ASGI.
  • api/: Public API (profiles, matching, leaderboard) and router.
  • recycle_core/: Domain models and APIs (organizations, customers, materials, pricing, pickups, weighing, invoices, payouts, bidding).
  • frontend/, admin_frontend/, cms/, settings/: UI/admin apps and site pages.
  • templates/, static/, staticfiles/, media/: assets and uploads.
  • Entrypoints: manage.py, docker-compose.yml, Dockerfile.

Build, Test, and Development Commands

  • Local (Python):
    • python manage.py migrate — apply DB migrations.
    • python manage.py runserver — start dev server at http://127.0.0.1:8000.
    • python manage.py seed_ecoloop — seed demo org, users, materials, pickup, weigh ticket, invoice, and a sample listing/bid.
    • python manage.py ecoloop_auto_close_award — auto-close and award expired listings.
  • Docker (recommended):
    • docker-compose up --build — start web (port 8024) and Postgres.
  • Tests:
    • python manage.py test — run Django/DRF tests.

Coding Style & Naming Conventions

  • Python 3.11, Django 4.x, DRF.
  • 4-space indentation, PEP 8; prefer type hints (from __future__ import annotations).
  • Django/DRF structure: models → serializers → viewsets → api/urls.py router.
  • Migrations: one logical change per migration; descriptive names.
  • API routes: kebab-case resources (e.g., scrap-listings, weigh-tickets).

Testing Guidelines

  • Use Django TestCase/APITestCase patterns; name files tests.py or tests/test_*.py.
  • Cover model integrity, permissions, and key endpoints (create/list/detail/actions).
  • Seed-independent: avoid relying on seed_ecoloop inside tests.
  • Run python manage.py test locally and in CI (if configured).

Commit & Pull Request Guidelines

  • Commits: concise, imperative subject; scope where helpful (e.g., core: add ScrapListing bids).
  • Include rationale and migration notes in the body when relevant.
  • PRs: clear description, screenshots (if UI), steps to reproduce/verify, and linked issues.
  • Ensure: migrations included, tests updated, local run (runserver/docker-compose) verified.

Security & Configuration Tips

  • Configure .env: SECRET_KEY, DEBUG, DB_*, ALLOWED_HOSTS, JWT settings.
  • Never commit secrets; production DEBUG=0 and database backed by managed Postgres.
  • File uploads stored under MEDIA_ROOT; restrict who can upload and access.