Thank you for your interest in contributing to Sejong Pulse. This document describes the workflow and standards for proposing changes. For a broader overview of the project, see the README; for architecture, see ARCHITECTURE.md.
Please engage respectfully and professionally in all project spaces. Report unacceptable behavior to the maintainers.
Follow the Quick start to run the backend and frontend locally. In summary:
# Backend
cd backend
pip install -r requirements.txt
cp .env.example .env
python -m uvicorn main:app --reload --port 8000
# Frontend
cd frontend
npm install
npm run dev- Create a feature branch from the default branch; do not commit directly to it.
- Keep each change focused on a single concern.
- Write clear, imperative commit messages that explain the rationale, not only the change.
- Reference related issues where applicable.
- Backend (Python). Follow the conventions in the existing code. Keep functions focused and avoid introducing unrelated changes.
- Frontend (TypeScript / Next.js). Match the patterns in
frontend/src. Note that the project pins a recent Next.js release; consult the guidance in frontend/README.md before changing framework-level behavior. - Do not commit secrets. Use the provided
.env.examplefiles as references.
Run the backend test suite before opening a pull request:
cd backend
pytestAdd or update tests when you change behavior. Confirm that the frontend builds
(npm run build) when you modify the client.
- Ensure your branch is up to date with the default branch.
- Confirm that tests pass and the application builds.
- Provide a concise description of the change, its motivation, and any verification you performed.
- Be responsive to review feedback.
Do not open public issues for security vulnerabilities. Follow the private disclosure process in SECURITY.md.