An open API service indexing awesome lists of open source software.

https://github.com/divijg19/peony

CLI-first Cognitive holding space for unfinished thoughts
https://github.com/divijg19/peony

bubbletea cli go htmx lipgloss

Last synced: about 1 month ago
JSON representation

CLI-first Cognitive holding space for unfinished thoughts

Awesome Lists containing this project

README

          

# 🌸 `Peony`

**A calm, CLI-first cognitive holding space for unfinished thoughts.**

> *Not a task manager, notes app or journal.*

Quick install (release binary):

```bash
curl -fsSL https://raw.githubusercontent.com/divijg19/peony/main/install.sh | bash
```

To also add an optional `bloom` shell function that opens Bloom (`peony tui`):

```bash
curl -fsSL https://raw.githubusercontent.com/divijg19/peony/main/install.sh | bash -s -- --alias --shell bash
```

---

## What is `Peony`?

`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.

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*.

---

## Why `Peony`?

Peonies bloom slowly.
They do not rush, yet they are unmistakably full.

`Peony` exists for thoughts that need **time, space, and kindness**.

## Core Philosophy

### Thoughts are seeds, not obligations

A thought may:

* rest
* mature
* transform
* or dissolve entirely

`Peony` respects that process.

### Time-aware, not time-driven

`Peony` never nags.
Thoughts resurface **when they feel ready**, not when a reminder fires.

### Language matters

`Peony` speaks softly.
Commands are verbs, not flags.
There are no streaks, no scores, no guilt loops.

### Private by default

Everything is stored locally.
No accounts. No sync. No analytics.
Your inner life is not a dataset.

---

## What `Peony` Is *Not*

* ❌ 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**.

---

## Core Concepts

### Cognitive Units (CUs)

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

---

## Lifecycle of a Thought

1. **Captured** – softly recorded, without classification pressure
2. **Resting** – intentionally left untouched
3. **Tended** – revisited when appropriate
4. **Evolved** – transformed into a task, note, or plan
5. **Released** – consciously let go
6. **Archived** – preserved without demand

Nothing ever β€œfails.”

---

## CLI-First Experience

`Peony` is designed to be **used from the terminal**, thoughtfully and slowly.

### Example interactions

```bash
peony add
> What’s on your mind?
> "Unsure whether to double down on Go or consolidate Python first."
```

```bash
peony tend
🌱 2 thoughts feel ready for reflection today.
```

```bash
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.

---

## CLI Commands

* `add` - capture a thought gently
* `tend` - surface thoughts ready for reflection
* `view` - read a thought in context
* `rest` - intentionally defer
* `evolve` - convert into a task / note (external)
* `release` - let go without guilt
* `archive` - long-term memory
* `tui` - open the full-screen terminal garden

## TUI: Bloom

`Bloom` is Peony's keyboard-first terminal garden-inspired interface.

```bash
peony tui
bloom # only if installed with --alias
```

Bloom 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.

---

## WebUI: A Quiet Window

`Peony` includes an **optional, read-only WebUI frontend**- a window into your inner landscape.

### Purpose

* Visualize thought lifecycles
* Observe seasons of thinking
* Reflect without interaction pressure

### Design principles

* No metrics
* No dashboards
* No urgency signals
* Slow transitions
* Soft color palette

The WebUI exists to **help you see**, not manage.

---

## Architecture Overview

```
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)
```

---

## Tech Stack

### Core

* **Go** β€” clarity, longevity, low cognitive overhead
* **SQLite** β€” durable, portable local storage

### TUI

* **Bubble Tea** β€” calm, state-driven terminal UX
* **Lip Gloss** β€” intentional visual hierarchy

### WebUI

* **GoTH + HTMX** β€” minimal, server-driven UI
* **Tailwind CSS** β€” restrained visual language

---

## Local-First by Design

* No cloud dependency
* No accounts
* No telemetry
* Your data lives with you

`Peony` will still work the same way in ten years.

---

## Intended Users

`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

---

## Project Status

`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.

---

## Roadmap

* [x] v0.1 - Core CLI, lifecycle, local sqlite storage, entry function, add & view commands
* [x] v0.2 - CLI pagination, view and pagination filters, tend command
* [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
* [x] v0.4 - Archive, Release, solidified tend notification consistency
* [x] v0.5 - CLI polish, user feedback iteration
* [x] v0.6 - TUI frontend initialization
* [x] v0.7 - TUI Polish, CI and Docs
* [x] 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

---

## License

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.*