Monastery — A calm, focused, self-hosted sanctuary for AI-assisted coding.
Tagline: "Build in silence. Deploy with purpose."
Visual Identity
- Color palette: Deep greens (#0A3D2A, #1E6B4E), warm neutrals (#F5F0E8, #D4C3A3), dark mode dominant with subtle accent lighting (soft gold/amber highlights).
- Typography: Clean sans-serif (Inter or system-ui) for UI, monospace (JetBrains Mono) for code.
- Iconography: Minimal, inspired by monastic symbols — simple arches, quills, lanterns, or abstract node/network motifs. Use Lucide or custom SVG icons.
- Overall aesthetic: Sleek, modern, calm, spacious. Think Linear + Arc + VS Code, but with a contemplative, premium homelab feel. No clutter, generous whitespace, subtle animations.
- Focus First: Reduce cognitive load so users stay in flow state.
- Progressive Disclosure: Novice-friendly defaults with power-user tools one click away.
- Homelab Native: Surface local network status, resource usage, and self-hosting tools prominently but non-intrusively.
- Consistency: Every screen follows the same layout language.
- Left: Monastery logo + project name (click to open project switcher)
- Center: Model selector (current endpoint + model, status indicator: green/yellow/red for LLM health)
- Right:
- Self-Host Wizard button (prominent)
- Git status
- User settings (themes, shortcuts, LLM endpoints)
- Resource monitor (CPU/GPU/RAM of harness + connected LLM)
- File explorer (virtual FS with sync indicators)
- Chat history / Sessions
- Agents & Tools library
- Homelab Integrations (Proxmox, Coolify, MQTT, etc.)
Three-column default layout (fully draggable/resizable):
-
Prompt / Chat Pane (left or bottom, toggleable)
- Large textarea with rich prompt input (attachments, @mentions for files/tools)
- Streaming response with markdown, code blocks, and inline "Apply" buttons
- Suggested follow-up prompts
-
Code Editor (center, Monaco-based)
- Full-featured with syntax highlighting, git gutter, multi-file tabs
- Inline AI actions (Explain, Refactor, Fix, Add tests, etc.)
- Diff view when AI proposes changes
-
Preview / Terminal / Output (right)
- Live preview iframe (for web apps)
- Terminal pane (for running generated code)
- Console/output logs
- Toggle between preview, terminal, and visual diff
Keyboard Shortcuts (VS Code inspired + custom):
Ctrl/Cmd + K→ Quick command paletteCtrl/Cmd + L→ Focus LLM promptCtrl/Cmd + Shift + D→ Deploy / Open Self-Host Wizard
- Clean welcome with "New Project" and "Open Recent"
- Quick-start templates optimized for homelab (Next.js + PocketBase, Rust Axum + SQLite, Python FastAPI, etc.)
- "Connect your LLM" prominent card with auto-discovery
- Stepper interface with clear progress
- Steps:
- Stack Detection
- Target Environment (Coolify, Proxmox, Bare Docker, VPS)
- Configuration (domain, ports, LLM connection details)
- Review generated files (docker-compose.yml, .env, scripts)
- One-click actions or copy-paste instructions
- Visual summary cards with resource/cost estimates
- Troubleshooting expander with AI chat
- LLM Endpoints manager (add, test connection, reorder priority)
- Git Forges — connect and manage GitHub, GitLab, and Forgejo accounts
- Appearance (themes, including "Monastery Dark", "Scriptorium Light")
- Homelab connections (Proxmox API, Coolify, etc.)
- Sandbox & Security options
A dedicated setup flow for connecting Git forges, designed for users unfamiliar with API tokens:
Connection List View:
- Cards for each connected forge showing forge type icon, username, instance URL, and last-synced timestamp
- "Connect a Forge" button with dropdown: GitHub, GitLab, Forgejo (self-hosted)
- Each card has: Test Connection, Sync Now, Disconnect actions
Guided Setup Flow (per forge type):
- Step 1 — Choose Forge: User selects GitHub, GitLab, or Forgejo
- Step 2 — Instance URL (Forgejo only): User enters their self-hosted Forgejo domain (e.g.,
https://git.mylan.local). Pre-filled examples for common setups. - Step 3 — Token Guide:
- Shows a direct link to the token generation page for that forge
- Lists the exact permissions needed (repo: read/write for GitHub, api+read_user for GitLab, etc.)
- Copy-paste field for the token
- Step 4 — Verify: Tests the connection, fetches username, confirms success
- Step 5 — Done: Card appears in connection list
In-App Help:
- Each step has an expandable "How do I…?" section with screenshots
- Link to official docs for token creation
- For Forgejo: note that the instance must be reachable from the Monastery container (same Docker network or LAN)
- Branch name with icon (branch, dirty dot indicator)
- Ahead/behind commit count
- Click opens quick-actions: Push, Pull, Create Repo, Switch Branch
- Color coding: clean (green), uncommitted changes (amber), no remote (muted)
- Overview metrics: Files changed, tokens used this session, deployment status
- AI Insights panel (suggested improvements, security scan summary, etc.)
- Streaming Responses: Smooth typewriter effect with "Stop" button
- AI Suggestions: Ghost text in editor, floating action buttons
- Feedback Loops: Thumbs up/down on responses → improves future context
- Mobile/Tablet: Responsive but primarily desktop-optimized (homelab use)
- Accessibility: High contrast, keyboard navigation, screen reader friendly
- Animations: Subtle — fade-ins, smooth pane resizing, loading lanterns
- Use Tailwind or a lightweight CSS framework
- State management: Signals + server functions (Rust-native)
- Offline resilience: Local storage + sync when backend reconnects
- Theme system with CSS variables for easy customization
- A non-technical homelab user can go from zero to first deployed app in <15 minutes
- Power users feel the interface disappears (pure flow)
- Visually distinct and memorable while remaining professional
- Matches or exceeds bolt.diy polish while feeling calmer and more intentional
This document gives frontier models (and your future self) a clear, cohesive vision for Monastery's interface.
Would you like me to:
- Add wireframe descriptions or ASCII mockups?
- Create a separate
BRANDING.mdwith logo ideas? - Update any previous docs to reference "Monastery"?
- Generate a sample Tailwind/Leptos component structure?
Just say the word and we’ll keep building the design docs.