Please read the README to understand the project scope and align with MVP goals. For large changes, open an issue first to discuss the approach.
Use short, kebab-case prefixes for feature branches:
feat/for new featuresfix/for bug fixeschore/for maintenance tasksdocs/for documentation updatesrefactor/for code refactoring
Example branch names: feat/epa-document-parser, fix/neo4j-connection, docs/api-endpoints
Follow Conventional Commits format:
- Types: feat, fix, chore, docs, refactor, test, build, ci
- Use imperative mood for the subject line
- Optional scope in parentheses
- Body for rationale when needed
- Reference issues with #
Example: feat(parser): add EPA document parsing logic
One logical change per PR. Include:
- Clear description of the change
- Rationale for the change
- Tests or verification notes (even if manual)
- Documentation updates if needed
- Confirmation no secrets were added
- Confirmation passes local checks (placeholder)
- Require at least one approval
- Squash-merge by default
- PR title should be a Conventional Commit styled summary
This project follows a standard Code of Conduct to be added later.
Contributions are made under the repository's eventual license. Until then, contributions are accepted under the placeholder terms in LICENSE.
Do not file security vulnerabilities in public issues. Use the private channel or email (placeholder) for security reports.
- Never commit actual secrets - Passwords, API keys, and sensitive values should never be committed to version control
- Use environment files properly - Follow the established pattern for
.env.example,.env.local, and.env.production - Local development - Use
.env.localfor your local environment (automatically git-ignored) - Production templates - Keep
.env.productionas a commented template only
When working on secret handling or environment configuration:
- Use
docs/secrets-*prefix for documentation updates - Use
chore/env-*prefix for environment file changes - Use
security/*prefix for security-related improvements
- Verify no secrets are included in the changes
- Check that
.env.localremains git-ignored - Ensure
.env.productioncontains only commented keys - Update documentation if environment configuration changes
- Test that the changes don't break local development setup
For detailed guidance on secret management, see the Secrets Management Runbook.