A local-first raised-bed planning system that runs entirely in the browser. Explains placement decisions, not just layouts.
Most garden planners answer "where should I plant this?" with weak reasoning transparency.
Garden OS focuses on explainable decisions:
- sun fit
- support fit
- shade tolerance
- access fit
- seasonal fit
- structural bonus
- adjacency effects
The system also highlights the limiting factor so users can make high-leverage changes quickly.
- Active v5 Beds What-If trials with zero persistent writes before Apply
- Cross-bed A/B experiments with immutable baselines, dated observations, and read-only Planner summaries
- Explainable scoring panel in Inspect tab
- Limiting-factor detection for each selected crop/cell
- Adjacency analysis (companion/conflict/water mismatch)
- Workspace export/import with
.gos.json - Export-only reasoned summaries for temporal context, multi-bed comparison, companion findings, and active-cell explanation
- Canonical data contract in
gos-schema.json - Zero-backend, offline-capable architecture
- Clone the repo.
- Open
index.htmlin a modern browser. - Launch the active v5 surfaces:
garden-painting.htmlfor Beds andgarden-planner-v5.htmlfor the seasonal Planner.
The current root surfaces can run without install, build, or runtime services. That is a shipping mode, not a permanent architecture rule.
- Select a crop in the palette.
- Paint cells in the bed.
- Open Inspect tab on a planted cell.
- Read the
Why this score?breakdown. - Move the crop based on limiting-factor diagnostics.
- Export workspace to
.gos.jsonfor backup or sharing.
garden-os/
├── index.html # Canonical Home redirect
├── index-v5.html # Current product Home implementation
├── garden-painting.html # Active v5 Beds editor and experiments
├── garden-planner-v5.html # Active v5 seasonal planner
├── gos-experiments.js # Cross-bed experiment contract/store
├── garden-cage-build-guide.html # Cage construction guide
├── garden-cage-ops-guide.html # Operations and maintenance guide
├── scoring-map.html # Scoring architecture reference
├── scoring-visualizer.html # Scoring debugger
├── system-topology.html # Ecosystem topology map
├── brand-guide.html # Brand token and component reference
├── specs/ # Data schemas and reference JSON
├── docs/ # Design docs, audits, roadmaps
├── AGENTS.md # Agent instructions (issue tracker deprecated; see docs/UI_ISSUES_TABLE.html)
├── CLAUDE.md # Architecture constraints
└── README.md # This file
- Host: GitHub Pages
- Live URL: https://davehomeassist.github.io/garden-os/
- Build step: None for current root surfaces; build tooling is allowed for app-quality surfaces when the product needs it.
- HTML5, CSS3, JavaScript, and vendored React for active v5 surfaces
- localStorage for persistence
- JSON Schema for contract validation
- Offline-capable (no network required except Google Fonts)
- Run the full predeploy verifier:
cd story-mode && npm ci npx playwright install chromium cd .. node scripts/verify-all.mjs
- Run the live postdeploy smoke:
node scripts/verify-all.mjs --live-only --live-url https://davehomeassist.github.io/garden-os/story-mode/
- Planner reloads cleanly with existing saved workspaces.
- Planner recovers to a safe empty workspace if localStorage JSON is malformed.
- Planner tool state stays in sync across click, keyboard, reload, and bed switching.
- Planner mobile shell shows the board before side panels and sidebar toggles still work.
- Season Engine v4 (
garden-league-simulator-v4.html, archived) neutral clicks inspect/select without mutating the grid. - Season Engine v4
Etoggles eraser andEscapereturns to neutral inspect behavior. - Menus and dialogs open with focus on an action, trap Tab where expected, and close on
Escape. - Phase reasoning smoke verifies score payload parity, temporal context, multi-bed experiment summaries, companion findings, and deterministic reasoned export output.
- Planner accessibility hardening (ARIA, keyboard clarity)
- Scoring visualization polish and diagnostics depth
- Workspace lifecycle improvements
- Additional decision-support modules
- Live: https://davehomeassist.github.io/garden-os/
- Source: https://github.com/DaveHomeAssist/garden-os
This project follows the shared naming conventions in 30-shared-resources/shared-standards/NAMING_CONVENTIONS.md.
MIT (project-level convention).