Guidelines for contributing to RapidPM.
# List high-priority issues
gh issue list --label "priority-0,priority-1" --state open
# Or browse on GitHub
https://github.com/velastra-uk/rapid-pm/issues
# Branch from master
git checkout master
git pull origin master
git checkout -b feature/issue-123-description
Branch naming:
feature/issue-XXX-description - New featuresfix/issue-XXX-description - Bug fixesdocs/description - Documentation onlyFollow these principles:
# Backend
ruff check . # Linting
mypy app/ # Type checking
pytest tests/ -v # Tests
# Frontend
cd rpm-ui
npm run lint # ESLint
ng test --watch=false # Tests
ng build # Verify build
git add -A
git commit -m "feat(#123): add user preferences
- Add preferences column to User model
- Create API endpoint for preferences
- Add frontend settings page
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
Commit message format:
type(#issue): short description
- Bullet points for details
- Reference issue number
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Types:
feat - New featurefix - Bug fixdocs - Documentationrefactor - Code refactoringtest - Adding testschore - Maintenance tasksgit push origin feature/issue-123-description
gh pr create --title "feat(#123): Add user preferences" --body "..."
pyproject.toml)def create_user(email: str, company_id: int) -> User:
"""Create a new user account.
Args:
email: User's email address.
company_id: Company to associate with.
Returns:
Created User object.
Raises:
ValidationError: If email is invalid.
"""
pass
styles.css sparinglytests/unit/, tests/integration/def test_create_user_success():
"""Test successful user creation."""
user = create_user("test@example.com", 1)
assert user.email == "test@example.com"
it('should display login button', () => {
expect(component.showLoginButton).toBeTrue();
});
type(#issue): Short description
## Summary
[Brief description of changes]
## Changes
- Change 1
- Change 2
## Testing
- [ ] Unit tests pass
- [ ] E2E tests pass (if applicable)
- [ ] Manual testing completed
## Screenshots
[If UI changes]
| Type | Location |
|---|---|
| Wiki | This wiki |
| API docs | Code docstrings |
| User guides | docs/ folder |
| UI guide | docs/PRISM-STYLE-GUIDE.md |