{"id":40103633,"url":"https://github.com/divijg19/peony","last_synced_at":"2026-06-03T16:00:44.069Z","repository":{"id":311376753,"uuid":"1043547462","full_name":"divijg19/Peony","owner":"divijg19","description":"CLI-first Cognitive holding space for unfinished thoughts","archived":false,"fork":false,"pushed_at":"2026-05-31T17:08:25.000Z","size":45524,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-31T19:09:06.802Z","etag":null,"topics":["bubbletea","cli","go","htmx","lipgloss"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/divijg19.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-24T05:07:45.000Z","updated_at":"2026-05-31T17:08:29.000Z","dependencies_parsed_at":"2025-08-24T12:22:36.121Z","dependency_job_id":"009cb78b-3a8f-472c-a8cc-fe98a1690f7d","html_url":"https://github.com/divijg19/Peony","commit_stats":null,"previous_names":["divijg19/peony"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/divijg19/Peony","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divijg19%2FPeony","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divijg19%2FPeony/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divijg19%2FPeony/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divijg19%2FPeony/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/divijg19","download_url":"https://codeload.github.com/divijg19/Peony/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divijg19%2FPeony/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33872298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bubbletea","cli","go","htmx","lipgloss"],"created_at":"2026-01-19T11:08:27.244Z","updated_at":"2026-06-03T16:00:44.063Z","avatar_url":"https://github.com/divijg19.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌸 `Peony`\n\n**A calm, CLI-first cognitive holding space for unfinished thoughts.**\n\n\u003e *Not a task manager, notes app or journal.*\n\nQuick install (release binary):\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/divijg19/peony/main/install.sh | bash\n```\n\nTo also add an optional `bloom` shell function that opens Bloom (`peony tui`):\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/divijg19/peony/main/install.sh | bash -s -- --alias --shell bash\n```\n\n---\n\n## What is `Peony`?\n\n`Peony` 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.\n\nModern tools demand commitment too early:\n\n* task managers ask *“when will you do this?”*\n* notes apps become noisy dumping grounds\n* journals require emotional energy on demand\n\n**`Peony` offers a middle ground**:\na quiet place for thoughts that are *not ready yet*.\n\n---\n\n## Why `Peony`?\n\nPeonies bloom slowly.\nThey do not rush, yet they are unmistakably full.\n\n`Peony` exists for thoughts that need **time, space, and kindness**.\n\n\n## Core Philosophy\n\n### Thoughts are seeds, not obligations\n\nA thought may:\n\n* rest\n* mature\n* transform\n* or dissolve entirely\n\n`Peony` respects that process.\n\n### Time-aware, not time-driven\n\n`Peony` never nags.\nThoughts resurface **when they feel ready**, not when a reminder fires.\n\n### Language matters\n\n`Peony` speaks softly.\nCommands are verbs, not flags.\nThere are no streaks, no scores, no guilt loops.\n\n### Private by default\n\nEverything is stored locally.\nNo accounts. No sync. No analytics.\nYour inner life is not a dataset.\n\n---\n\n## What `Peony` Is *Not*\n\n* ❌ Not a productivity dashboard\n* ❌ Not a goal tracker\n* ❌ Not an AI coach\n* ❌ Not collaborative or social\n* ❌ Not optimized for speed or scale\n\n`Peony` is optimized for **clarity and care**.\n\n---\n\n## Core Concepts\n\n### Cognitive Units (CUs)\n\nThe fundamental object in `Peony`.\n\nA Cognitive Unit(CU) can represent:\n\n* an unresolved decision\n* a lingering worry\n* an idea in early formation\n* a memory fragment\n* a question you’re not ready to answer\n\nEach CU has:\n\n* a lifecycle state\n* a temporal context\n* optional emotional metadata\n* a gentle interaction history\n\n---\n\n## Lifecycle of a Thought\n\n1. **Captured** – softly recorded, without classification pressure\n2. **Resting** – intentionally left untouched\n3. **Tended** – revisited when appropriate\n4. **Evolved** – transformed into a task, note, or plan\n5. **Released** – consciously let go\n6. **Archived** – preserved without demand\n\nNothing ever “fails.”\n\n---\n\n## CLI-First Experience\n\n`Peony` is designed to be **used from the terminal**, thoughtfully and slowly.\n\n### Example interactions\n\n```bash\npeony add\n\u003e What’s on your mind?\n\u003e \"Unsure whether to double down on Go or consolidate Python first.\"\n```\n\n```bash\npeony tend\n🌱 2 thoughts feel ready for reflection today.\n```\n\n```bash\npeony view\n🌸 This thought has been resting for 14 days.\n🌿 You last touched it late at night.\n```\n\nCommands are designed to feel **inviting**, not mechanical.\n\n---\n\n## CLI Commands\n\n* `add` - capture a thought gently\n* `tend` - surface thoughts ready for reflection\n* `view` - read a thought in context\n* `rest` - intentionally defer\n* `evolve` - convert into a task / note (external)\n* `release` - let go without guilt\n* `archive` - long-term memory\n* `tui` - open the full-screen terminal garden\n\n## TUI: Bloom\n\n`Bloom` is Peony's keyboard-first terminal garden-inspired interface.\n\n```bash\npeony tui\nbloom  # only if installed with --alias\n```\n\nBloom 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.\n\n---\n\n## WebUI: A Quiet Window\n\n`Peony` includes an **optional, read-only WebUI frontend**- a window into your inner landscape.\n\n### Purpose\n\n* Visualize thought lifecycles\n* Observe seasons of thinking\n* Reflect without interaction pressure\n\n### Design principles\n\n* No metrics\n* No dashboards\n* No urgency signals\n* Slow transitions\n* Soft color palette\n\nThe WebUI exists to **help you see**, not manage.\n\n---\n\n## Architecture Overview\n\n```\nPeony\n├── Core Engine (Go)\n│   ├── Thought lifecycle\n│   ├── Temporal logic\n│   └── Language system\n│\n├── CLI Interface\n│\n├── TUI\n│   └── Bubble Tea + Lip Gloss\n│\n├── Storage\n│   └── SQLite (local-first)\n│\n└── Read-only WebUI\n    ├── GoTH + HTMX\n    └── Tailwind (minimal, soft)\n```\n\n---\n\n## Tech Stack\n\n### Core\n\n* **Go** — clarity, longevity, low cognitive overhead\n* **SQLite** — durable, portable local storage\n\n### TUI\n\n* **Bubble Tea** — calm, state-driven terminal UX\n* **Lip Gloss** — intentional visual hierarchy\n\n### WebUI\n\n* **GoTH + HTMX** — minimal, server-driven UI\n* **Tailwind CSS** — restrained visual language\n\n---\n\n## Local-First by Design\n\n* No cloud dependency\n* No accounts\n* No telemetry\n* Your data lives with you\n\n`Peony` will still work the same way in ten years.\n\n---\n\n## Intended Users\n\n`Peony` is for people who:\n\n* think deeply\n* feel overwhelmed by premature structure\n* value reflection over optimization\n* prefer calm tools over clever ones\n\nIt is especially suited for:\n\n* developers\n* researchers\n* writers\n* designers\n* long-horizon thinkers\n\n---\n\n## Project Status\n\n`Peony` is **CLI and TUI complete, and WebUI is yet to be worked upon**.\nThe focus is on:\n\n* core lifecycle correctness\n* language tone\n* UX restraint\n\nFeature creep is intentionally resisted.\n\n---\n\n## Roadmap\n\n* [x] v0.1 - Core CLI, lifecycle, local sqlite storage, entry function, add \u0026 view commands\n* [x] v0.2 - CLI pagination, view and pagination filters, tend command\n* [x] 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\n* [x] v0.4 - Archive, Release, solidified tend notification consistency\n* [x] v0.5 - CLI polish, user feedback iteration\n* [x] v0.6 - TUI frontend initialization\n* [x] v0.7 - TUI Polish, CI and Docs\n* [x] v0.8 - TUI Finalization and Completion\n* [ ] v0.9 - Read-only WebUI frontend (Eden integration)\n* [ ] v1.0 - Overall polish, interactivity and user feedback iteration\n* [ ] Beyond - Eden, Dashboard, Semantic AI integration, Heuristics \u0026 Fuzzing\n\nAI integration, if ever added, will be:\n\n* opt-in\n* reflective only\n* non-prescriptive\n\n---\n\n## License\n\nMIT\nYou are free to use, modify, and learn from `Peony`—\njust as gently as it was designed.\n\n---\n\n🌸\n*Some thoughts don’t need solving.\nThey need somewhere safe to wait.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivijg19%2Fpeony","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdivijg19%2Fpeony","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivijg19%2Fpeony/lists"}