A self-hostable garden planner: a landscaping-style 2D editor where you drag garden objects (beds, grow bags, containers, trees, paths) onto a real-scale field, click into a bed to place freeform plops of plants (garlic in one corner, basil in another, beans along a side), and zoom out to still see what's planted where. Go backend + embedded React frontend, one static binary, multi-user with owner/editor/viewer sharing, OIDC-first auth (Authentik). Agent-drivable via majordomo/executus ("fill one corner with garlic…").
Architecture, domain model, and all conventions: DESIGN.md.
🎉 v1 complete — all phases shipped
Every issue is merged. The full loop works end-to-end: register/OIDC → create a garden → drag beds/containers → build a plant catalog → focus into a bed and place plops with semantic zoom → share gardens as viewer/editor → polish (imperial, clear-bed, keyboard nudging) → drive it all from an agent.
Closing — stale-open tracking epic. The body already declares it: v1 complete, every phase shipped and merged (#1–#19, PRs #21–#38). The parking-lot items are explicitly post-v1 and tracked separately. The "test on a phone at the end of Phase 3" note is now well covered by the v4 mobile-first overhaul (#96). Nothing here is outstanding.
Closing — stale-open tracking epic. The body already declares it: v1 complete, every phase shipped and merged (#1–#19, PRs #21–#38). The parking-lot items are explicitly post-v1 and tracked separately. The "test on a phone at the end of Phase 3" note is now well covered by the v4 mobile-first overhaul (#96). Nothing here is outstanding.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What pansy is
A self-hostable garden planner: a landscaping-style 2D editor where you drag garden objects (beds, grow bags, containers, trees, paths) onto a real-scale field, click into a bed to place freeform plops of plants (garlic in one corner, basil in another, beans along a side), and zoom out to still see what's planted where. Go backend + embedded React frontend, one static binary, multi-user with owner/editor/viewer sharing, OIDC-first auth (Authentik). Agent-drivable via majordomo/executus ("fill one corner with garlic…").
Architecture, domain model, and all conventions: DESIGN.md.
🎉 v1 complete — all phases shipped
Every issue is merged. The full loop works end-to-end: register/OIDC → create a garden → drag beds/containers → build a plant catalog → focus into a bed and place plops with semantic zoom → share gardens as viewer/editor → polish (imperial, clear-bed, keyboard nudging) → drive it all from an agent.
Phases
Phase 0 — Scaffold ✅ (PR #21)
Phase 1 — Auth ✅
Phase 2 — Gardens ✅
Phase 3 — Field editor ✅ (riskiest phase — test on a phone at the end of it)
Phase 4 — Plant catalog ✅
Phase 5 — Plops ✅ (the core vision lands here)
Phase 6 — Sharing ✅
Phase 7 — Polish ✅
Phase 8 — Agent seam ✅
Dependency graph
Post-v1 parking lot (deliberately out of scope — see DESIGN.md § Deliberate v1 limits)
Polygon beds/boundaries · season/year scenario layer (planted_at/removed_at already support it) · background/satellite image tracing · grid-snapping toggle · SVG icon set · undo/redo · real-time sync · Authentik group→role mapping · companion-planting-aware fills · mort-style HTTP agent surface (
internal/agentis import-ready; wire when an external harness needs HTTP).Closing — stale-open tracking epic. The body already declares it: v1 complete, every phase shipped and merged (#1–#19, PRs #21–#38). The parking-lot items are explicitly post-v1 and tracked separately. The "test on a phone at the end of Phase 3" note is now well covered by the v4 mobile-first overhaul (#96). Nothing here is outstanding.