name: garden-layout-planner
description: Garden design and layout planning for gardeners. Plan your garden with companion planting, spacing, and sun requirements. Use when designing a new garden, planning crop rotation, or optimizing space. Security: file exports restricted to safe directories. Perfect for home gardeners, small farmers, and anyone maximizing their growing space.
Garden Layout Planner
Design your garden with smart planning tools for companion planting, spacing, and sun requirements.
Quick Start
Add a garden bed to your layout
garden_layout.py add-bed "<bed_name>" --width <feet> --length <feet> --sun "full/partial/shade"
Add plants to a bed
garden_layout.py add-plant "<bed_name>" "<plant>" --row <row> --col <col>
Get companion planting suggestions
garden_layout.py companions "<plant>"
Get spacing requirements
garden_layout.py spacing "<plant>"
Show complete garden layout
garden_layout.py layout
Export layout to markdown
garden_layout.py export "<output_file>"
Usage Patterns
For new garden setup
garden_layout.py add-bed "Bed 1" --width 4 --length 8 --sun "full"
garden_layout.py add-bed "Bed 2" --width 3 --length 6 --sun "partial"
garden_layout.py companions "tomato"
garden_layout.py companions "cucumber"
garden_layout.py add-plant "Bed 1" "tomato" --row 1 --col 1
garden_layout.py add-plant "Bed 1" "basil" --row 1 --col 3
garden_layout.py add-plant "Bed 2" "beans" --row 1 --col 1
garden_layout.py add-plant "Bed 2" "corn" --row 2 --col 1
garden_layout.py layout
For companion planting optimization
garden_layout.py companions "carrots"
garden_layout.py companions "onions"
garden_layout.py incompatible "potatoes"
For small space maximization
garden_layout.py add-bed "Trellis" --width 1 --length 6 --sun "full"
garden_layout.py add-plant "Trellis" "cucumber" --row 1 --col 1
garden_layout.py add-plant "Trellis" "peas" --row 2 --col 1
garden_layout.py add-bed "Intensive Bed" --width 3 --length 4 --sun "full"
garden_layout.py add-plant "Intensive Bed" "lettuce" --row 1 --col 1
garden_layout.py add-plant "Intensive Bed" "radishes" --row 1 --col 2
For crop rotation planning
garden_layout.py add-season "2026"
garden_layout.py add-plant "Bed 1" "tomatoes" --row 1 --col 1
garden_layout.py add-plant "Bed 2" "beans" --row 1 --col 1
garden_layout.py add-season "2027"
garden_layout.py add-plant "Bed 1" "carrots" --row 1 --col 1
garden_layout.py add-plant "Bed 2" "corn" --row 1 --col 1
Companion Planting Guide
Best Combinations (Good Together)
| Plant | Good With | Why |
|---|
| Tomatoes | Basil, carrots, onions, marigolds | Basil enhances flavor, carrots repel pests |
| Cucumbers | Beans, corn, peas, radishes | Beans fix nitrogen, corn provides support |
| Lettuce | Carrots, radishes, onions | Radishes mark rows, carrots break soil |
| Peppers | Basil, onions, carrots | Basil repels aphids |
| Beans | Corn, potatoes, cucumbers | Nitrogen fixation benefits neighbors |
| Carrots | Tomatoes, onions, lettuce | Onions repel carrot fly |
| Corn | Beans, squash, cucumbers | Three Sisters method |
| Squash | Corn, beans, radishes | Beans repel squash beetles |
Incompatible Plants (Avoid Together)
| Plant | Avoid With | Why |
|---|
| Tomatoes | Potatoes, cucumbers, fennel | Same pests/diseases |
| Beans | Onions, garlic | Inhibit growth |
| Carrots | Dill, parsnips | Dill attracts carrot fly |
| Cucumbers | Potatoes, sage | Potatoes compete for space |
| Onions | Beans, peas | Inhibit bean growth |
Spacing Requirements
Small Plants (6-12 inches apart)
- Lettuce: 6-8 inches
- Spinach: 4-6 inches
- Radishes: 2-3 inches
- Onions: 4-6 inches
- Carrots: 2-3 inches
Medium Plants (12-24 inches apart)
- Peppers: 18-24 inches
- Eggplant: 18-24 inches
- Beans (bush): 12-18 inches
- Cabbage: 18-24 inches
Large Plants (24+ inches apart)
- Tomatoes: 24-36 inches
- Squash: 24-48 inches (or trellis)
- Corn: 12-18 inches (in blocks for pollination)
- Potatoes: 12-15 inches
Sun Requirements
Full Sun (6-8+ hours daily)
- Tomatoes, peppers, eggplant, squash, corn, beans, cucumbers
Partial Sun (4-6 hours daily)
- Lettuce, spinach, kale, peas, carrots, beets
Shade (<4 hours daily)
- Some leafy greens, herbs like mint, chives
Examples
Three Sisters Garden (Traditional)
garden_layout.py add-bed "Three Sisters" --width 8 --length 8 --sun "full"
garden_layout.py add-plant "Three Sisters" "corn" --row 4 --col 4
garden_layout.py add-plant "Three Sisters" "beans" --row 4 --col 2
garden_layout.py add-plant "Three Sisters" "beans" --row 4 --col 6
garden_layout.py add-plant "Three Sisters" "squash" --row 1 --col 1
garden_layout.py add-plant "Three Sisters" "squash" --row 1 --col 8
garden_layout.py add-plant "Three Sisters" "squash" --row 8 --col 1
garden_layout.py add-plant "Three Sisters" "squash" --row 8 --col 8
Tomato-Basil Garden
garden_layout.py add-bed "Tomato Patch" --width 4 --length 6 --sun "full"
garden_layout.py add-plant "Tomato Patch" "tomato" --row 1 --col 1
garden_layout.py add-plant "Tomato Patch" "basil" --row 1 --col 3
garden_layout.py add-plant "Tomato Patch" "carrots" --row 2 --col 1
garden_layout.py add-plant "Tomato Patch" "carrots" --row 2 --col 3
Mixed Bed for Small Spaces
garden_layout.py add-bed "Small Space" --width 3 --length 4 --sun "partial"
garden_layout.py add-plant "Small Space" "lettuce" --row 1 --col 1
garden_layout.py add-plant "Small Space" "radishes" --row 1 --col 2
garden_layout.py add-plant "Small Space" "lettuce" --row 1 --col 3
garden_layout.py add-plant "Small Space" "spinach" --row 2 --col 1
garden_layout.py add-plant "Small Space" "onions" --row 2 --col 2
garden_layout.py add-plant "Small Space" "spinach" --row 2 --col 3
Search Features
- Find compatible plants for companion planting
- Get spacing requirements for any plant
- Search layouts by plant name
- Filter by sun requirements
Security
Path Validation
The export function validates output paths to prevent malicious writes:
- ✅ Allowed:
~/.openclaw/workspace/, /tmp/, and home directory
- ❌ Blocked: System paths (
/etc/, /usr/, /var/, etc.)
- ❌ Blocked: Sensitive dotfiles (
~/.bashrc, ~/.ssh, etc.)
Data Storage
- Garden layouts stored in:
~/.openclaw/workspace/garden_layout_db.json
- Each bed tracks: dimensions, sun exposure, plants with positions
- Companion database built-in with 50+ plant relationships
- JSON format makes it easy to backup or migrate
Best Practices
- Plan before planting - Use layout planner to visualize before putting seeds in ground
- Use companion planting - Plant compatible species together
- Check spacing - Don't overcrowd, plants need room to grow
- Track sun exposure - Different beds have different sun requirements
- Plan for rotation - Track what you plant where each year
- Export for reference - Keep a backup of your garden plan
Related Skills
- plant-tracker - Track individual plants with care schedules and harvests
- seasonal-planting-guide - What to plant when in your growing zone
Use together for complete garden management!