This directory contains configuration files for GitHub Copilot and specialized AI agents.
copilot-instructions.md- Main instructions for GitHub Copilot with repository overview, conventions, and guidelines
celery-tasks.md- Guidelines for developing and maintaining Celery background tasksdjango-development.md- Django application development patterns and best practicestesting.md- Testing framework, patterns, and conventionsdocumentation.md- Documentation standards and writing guidelines
These files provide:
- Context for AI Assistants - Help GitHub Copilot and other AI tools understand the codebase structure and conventions
- Onboarding Documentation - Guide new developers on project patterns and practices
- Consistency - Ensure consistent coding style and patterns across the codebase
- Best Practices - Document proven patterns for common tasks
GitHub Copilot automatically reads .github/copilot-instructions.md to understand project conventions.
Agent-specific instruction files in .github/agents/ provide detailed guidance for:
- Celery task development with job tracking
- Django models, views, admin interface, and management commands
- Writing comprehensive tests with proper mocking and assertions
- Creating and maintaining project documentation
impresso-user-admin is a Django application that manages user-related information for the Impresso project. Key features:
- Background Processing: Celery with Redis for asynchronous tasks
- User Management: Django authentication with custom user plans and permissions
- Email Notifications: Multi-format emails (text + HTML) for user actions
- Python 3.12+ with type hints
- Django web framework
- Celery task queue with Redis
- MySQL database
- Docker for containerization
- pipenv for dependency management
- mypy for type checking
impresso/tasks/- Celery task definitions with decoratorsimpresso/utils/tasks/- Helper functions used by tasks- Job progress tracking via database and Redis
- User-based permissions
- User groups for different plans (Basic, Researcher, Educational)
- UserBitmap for fine-grained access control
- Profile with user-specific settings
# Start services
docker compose up -d
# Run Django server
ENV=dev pipenv run ./manage.py runserver
# Run Celery worker (separate terminal)
ENV=dev pipenv run celery -A impresso worker -l info
# Run tests
ENV=dev pipenv run ./manage.py test
# Type checking
pipenv run mypy --config-file ./.mypy.ini impressoWhen modifying these instruction files:
- Keep examples practical and based on actual code in the repository
- Update instructions when significant patterns or conventions change
- Ensure consistency across all agent instruction files
- Test that instructions are clear and actionable
- Repository: https://github.com/impresso/impresso-user-admin
- Impresso Project: https://impresso-project.ch
- License: GNU Affero General Public License v3.0