Reading the repo
Reading the repo
Saved setup from 6 h ago
Will it work on my device?
Then run bash setup.sh. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
Needs Git: xcode-select --install
git clone https://github.com/thaNabstEr/farmhand.git cd farmhand
Node.js LTS (no version pinned)
# needs nvm: brew install nvm (or https://github.com/nvm-sh/nvm) nvm install --lts
npm ci
npm run dev
v18.18.0 or higher (Node v20+ recommended)npm, pnpm, yarn, or bun# Clone the repository
git clone https://github.com/thaNabstEr/farmhand.git
# Navigate into the project directory
cd farmhand
# Install dependencies
npm install
Copy the example environment file:
cp .env.example .env.local
Open .env.local and add your Supabase credentials:
# Client-side Public Supabase Credentials (Browser Safe)
NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key-here
# Optional: Server-only configuration for audit suites
# SUPABASE_SERVICE_ROLE_KEY=your-service-role-key-here
[!NOTE] Even if Supabase credentials are not initially provided, FarmHand's built-in local repositories (
LocalFormRepositoryandLocalSubmissionRepository) will allow you to explore the Form Builder, Templates, and local form running offline in memory and IndexedDB.
FarmHand includes sequential SQL migrations located in supabase/migrations/:
| Migration File | Milestone / Phase | Scope |
| :--- | :--- | :--- |
| 20260813000000_milestone13_database_foundation.sql | Milestone 13 | Profiles, Farms, Fields, RLS & triggers |
| 20260813000001_milestone16_persistent_form_templates.sql | Milestone 16 | Persistent Form Templates schema |
| 20260813000002_phase2_form_submissions.sql | Phase 2 | Form Submissions table & RLS |
| 20260813000003_phase3_historical_data_protection.sql | Phase 3 | Immutable Form Schema Snapshot preservation |
| 20260813000004_phase4_idempotent_sync.sql | Phase 4 | Client Submission UUID & Idempotent sync |
| 20260817000005_phase5_submission_management.sql | Phase 5 | Submission management, search, and delete |
| 20260817000006_phase6_farmers_registry.sql | Phase 6 | Farmers Registry table & farm relationships |
| 20260903000007_phase8_projects.sql | Phase 8 | Projects, Campaigns, Project-Form junctions |
# Start local Supabase container (requires Docker)
npx supabase start
# Apply all migrations
npx supabase db reset
supabase/migrations/ in numerical order from 000000 to 000007.npm run dev
Open http://localhost:3000 in your browser.
/signup or log in at /login.No reports for macOS yet.
Opens a chat with this manual already filled in, for macOS. It uses your own account; gitmanual sends nothing.