-
Notifications
You must be signed in to change notification settings - Fork 9
15 Contributing
Vicky Patel edited this page Sep 14, 2026
·
1 revision
Complete guide for first-time and experienced open-source contributors joining PACT OS.
PACT OS is an open-source project welcoming developers of all experience levels. We maintain a dedicated Curated 20 Beginner Issue Catalog (#52–#71) designed specifically for first-time contributors.
Every issue in our beginner catalog adheres to strict principles:
- Single-File Scope: Every beginner issue is strictly bounded to 1 file (or a documentation pairing).
- 5–30 Minute Completion: Can be completed in one sitting with basic TypeScript / React or Markdown knowledge.
- Zero Production Risk: Zero database schema changes, zero authentication changes, and zero risk to security boundaries.
-
100% Offline Local Verification: Validated locally with
npm testwithout needing cloud credentials.
| GitHub Issue | Type | Subsystem | Target File |
|---|---|---|---|
| #52 | Docs |
Developer Guide | docs/DEVELOPMENT.md |
| #53 | Docs |
Troubleshooting | docs/TROUBLESHOOTING.md |
| #54 | Docs |
Proof Integrations | docs/INTEGRATIONS.md |
| #55 | Docs |
Contributor Onboarding | docs/CONTRIBUTING-BEGINNERS.md |
| #56 | Docs |
Git Workflow Guide | docs/GIT_WORKFLOW.md |
| #57 | Copy |
Goals Subsystem | src/features/goals/components/goals-view.tsx |
| #58 | Copy |
Cadence Widget | src/features/dashboard/components/daily-cadence-widget.tsx |
| #59 | UI |
Finance Ledger | src/features/finance/components/transaction-list.tsx |
| #60 | UI |
Habit Cards | src/features/habits/components/streak-summary-card.tsx |
| #61 | UI |
Task Form Modal | src/features/tasks/components/task-form-modal.tsx |
| #62 | UI |
Analytics Skeleton | src/features/analytics/components/analytics-skeleton.tsx |
| #63 | A11y |
Shortcuts Modal | src/components/ui/keyboard-shortcuts-modal.tsx |
| #64 | A11y |
Notification Popover | src/components/ui/notification-popover.tsx |
| #65 | A11y |
User Profile Menu | src/components/ui/user-profile-dropdown.tsx |
| #66 | A11y |
Active Focus Card | src/features/dashboard/components/active-focus-card.tsx |
| #67 | JSDoc |
Money Math Engine | src/lib/money.ts |
| #68 | JSDoc |
Timezone Engine | src/lib/time.ts |
| #69 | Test |
Habit Streaks Test | tests/habits-routines.test.ts |
| #70 | Test |
Weekly Review Test | tests/weekly-review.test.ts |
| #71 | Test |
Notifications Test | tests/notifications.test.ts |
graph TD
Find[1. Find Issue #52-#71] --> Claim[2. Comment to Claim]
Claim --> Fork[3. Fork & Create Branch]
Fork --> Code[4. Implement Change]
Code --> Test[5. Local Test: npm test]
Test --> PR[6. Submit Pull Request]
PR --> Merge[7. Review & Merge]
-
Pick an Issue: Select an unassigned issue from
#52–#71labeledgood first issue. - Claim the Issue: Comment on the GitHub issue to express your intent to work on it.
-
Branch Creation: Create a descriptive feature branch:
git checkout -b fix/issue-61-modal-padding -
Local Verification: Execute quality checks:
npm test -
Conventional Commits: Format commit messages cleanly:
ui(tasks): improve mobile bottom sheet padding in task form modal -
Submit PR: Open a PR referencing your issue (
Fixes #61).
-
supabase/migrations/*(All 26 SQL migration files are frozen) -
src/lib/money.tscore integer arithmetic logic - Row Level Security (RLS) policies
| 🏛️ Project Hub | 🛠️ Developer Docs | 💬 Community & Support |
|---|---|---|
| GitHub Repository | System Architecture | GitHub Discussions |
| Beginner Issue Catalog | Design System | Open Issues |
| Production Deployment | API Reference | Pull Requests |
| Project Roadmap | Testing & QA Matrix | Maintainer Governance |
- Codebase Tour
- Domain Model
- Database Architecture
- Security Model
- Financial System
- Consequence System
- External Integrations
- Discipline Intelligence
- Data Portability & Sync