A calm, CLI-first cognitive holding space for unfinished thoughts.
Not a task manager, notes app or journal.
Quick install (release binary):
curl -fsSL https://raw.githubusercontent.com/divijg19/peony/main/install.sh | bashTo also add an optional bloom shell function that opens Bloom (peony tui):
curl -fsSL https://raw.githubusercontent.com/divijg19/peony/main/install.sh | bash -s -- --alias --shell bashPeony is a local-first, humane CLI application designed to help you capture, tend, and gently resolve half-formed thoughtsβwithout forcing them into tasks, deadlines, or artificial structure.
Modern tools demand commitment too early:
- task managers ask βwhen will you do this?β
- notes apps become noisy dumping grounds
- journals require emotional energy on demand
Peony offers a middle ground:
a quiet place for thoughts that are not ready yet.
Peonies bloom slowly. They do not rush, yet they are unmistakably full.
Peony exists for thoughts that need time, space, and kindness.
A thought may:
- rest
- mature
- transform
- or dissolve entirely
Peony respects that process.
Peony never nags.
Thoughts resurface when they feel ready, not when a reminder fires.
Peony speaks softly.
Commands are verbs, not flags.
There are no streaks, no scores, no guilt loops.
Everything is stored locally. No accounts. No sync. No analytics. Your inner life is not a dataset.
- β Not a productivity dashboard
- β Not a goal tracker
- β Not an AI coach
- β Not collaborative or social
- β Not optimized for speed or scale
Peony is optimized for clarity and care.
The fundamental object in Peony.
A Cognitive Unit(CU) can represent:
- an unresolved decision
- a lingering worry
- an idea in early formation
- a memory fragment
- a question youβre not ready to answer
Each CU has:
- a lifecycle state
- a temporal context
- optional emotional metadata
- a gentle interaction history
- Captured β softly recorded, without classification pressure
- Resting β intentionally left untouched
- Tended β revisited when appropriate
- Evolved β transformed into a task, note, or plan
- Released β consciously let go
- Archived β preserved without demand
Nothing ever βfails.β
Peony is designed to be used from the terminal, thoughtfully and slowly.
peony add
> Whatβs on your mind?
> "Unsure whether to double down on Go or consolidate Python first."peony tend
π± 2 thoughts feel ready for reflection today.peony view
πΈ This thought has been resting for 14 days.
πΏ You last touched it late at night.Commands are designed to feel inviting, not mechanical.
add- capture a thought gentlytend- surface thoughts ready for reflectionview- read a thought in contextrest- intentionally deferevolve- convert into a task / note (external)release- let go without guiltarchive- long-term memorytui- open the full-screen terminal garden
Bloom is Peony's keyboard-first terminal garden-inspired interface.
peony tui
bloom # only if installed with --aliasBloom opens to a calm TUI with focused scopes for Ready, Resting, and All visible thoughts. Archived thoughts stay out of Bloom and remain viewable through the CLI. Bloom keeps a detail pane close by for content, state, readiness, timestamps, and event history. From there you can capture, tend, rest, evolve, archive, search, filter, reload, and permanently release thoughts without leaving the terminal.
Peony includes an optional, read-only WebUI frontend- a window into your inner landscape.
- Visualize thought lifecycles
- Observe seasons of thinking
- Reflect without interaction pressure
- No metrics
- No dashboards
- No urgency signals
- Slow transitions
- Soft color palette
The WebUI exists to help you see, not manage.
Peony
βββ Core Engine (Go)
β βββ Thought lifecycle
β βββ Temporal logic
β βββ Language system
β
βββ CLI Interface
β
βββ TUI
β βββ Bubble Tea + Lip Gloss
β
βββ Storage
β βββ SQLite (local-first)
β
βββ Read-only WebUI
βββ GoTH + HTMX
βββ Tailwind (minimal, soft)
- Go β clarity, longevity, low cognitive overhead
- SQLite β durable, portable local storage
- Bubble Tea β calm, state-driven terminal UX
- Lip Gloss β intentional visual hierarchy
- GoTH + HTMX β minimal, server-driven UI
- Tailwind CSS β restrained visual language
- No cloud dependency
- No accounts
- No telemetry
- Your data lives with you
Peony will still work the same way in ten years.
Peony is for people who:
- think deeply
- feel overwhelmed by premature structure
- value reflection over optimization
- prefer calm tools over clever ones
It is especially suited for:
- developers
- researchers
- writers
- designers
- long-horizon thinkers
Peony is CLI and TUI complete, and WebUI is yet to be worked upon.
The focus is on:
- core lifecycle correctness
- language tone
- UX restraint
Feature creep is intentionally resisted.
- v0.1 - Core CLI, lifecycle, local sqlite storage, entry function, add & view commands
- v0.2 - CLI pagination, view and pagination filters, tend command
- v0.3 - Database re-design for temporal context, tend notifications, tend visual and terminal editor implementation, config settings for tend time and editor choice, evolve
- v0.4 - Archive, Release, solidified tend notification consistency
- v0.5 - CLI polish, user feedback iteration
- v0.6 - TUI frontend initialization
- v0.7 - TUI Polish, CI and Docs
- v0.8 - TUI Finalization and Completion
- v0.9 - Read-only WebUI frontend (Eden integration)
- v1.0 - Overall polish, interactivity and user feedback iteration
- Beyond - Eden, Dashboard, Semantic AI integration, Heuristics & Fuzzing
AI integration, if ever added, will be:
- opt-in
- reflective only
- non-prescriptive
MIT
You are free to use, modify, and learn from Peonyβ
just as gently as it was designed.
πΈ Some thoughts donβt need solving. They need somewhere safe to wait.