Skip to content

15 Contributing

Vicky Patel edited this page Sep 14, 2026 · 1 revision

15. Contributor Guide & Onboarding

Complete guide for first-time and experienced open-source contributors joining PACT OS.


🌱 Welcome Contributors!

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.


⚡ The Micro-Contribution Standard

Every issue in our beginner catalog adheres to strict principles:

  1. Single-File Scope: Every beginner issue is strictly bounded to 1 file (or a documentation pairing).
  2. 5–30 Minute Completion: Can be completed in one sitting with basic TypeScript / React or Markdown knowledge.
  3. Zero Production Risk: Zero database schema changes, zero authentication changes, and zero risk to security boundaries.
  4. 100% Offline Local Verification: Validated locally with npm test without needing cloud credentials.

📌 Canonical Beginner Issues Range (#52–#71)

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

🛠️ Step-by-Step Contribution Workflow

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]
Loading
  1. Pick an Issue: Select an unassigned issue from #52–#71 labeled good first issue.
  2. Claim the Issue: Comment on the GitHub issue to express your intent to work on it.
  3. Branch Creation: Create a descriptive feature branch: git checkout -b fix/issue-61-modal-padding
  4. Local Verification: Execute quality checks: npm test
  5. Conventional Commits: Format commit messages cleanly: ui(tasks): improve mobile bottom sheet padding in task form modal
  6. Submit PR: Open a PR referencing your issue (Fixes #61).

🚫 Protected Files (DO NOT MODIFY)

  • supabase/migrations/* (All 26 SQL migration files are frozen)
  • src/lib/money.ts core integer arithmetic logic
  • Row Level Security (RLS) policies

Clone this wiki locally