✧・゚: *✧ your journal is just files ✧*:・゚✧

☽✦

Tsuki

つ き ・ 月

a little purple journal where every entry is a file you can open ☽

about ABOUT.TXT
elysia@pink: ~/.tsuki · zsh

elysia@pink:~/.tsuki $ cat about.txt

a little purple journal for macOS.
entries live as plain JSON files in ~/.tsuki/entries/.
no database, no cloud, no one reading over your shoulder.

elysia@pink:~/.tsuki $ vim entries/550E8400.json

tsuki watches the folder while it runs. external edits
sync in gently, without clobbering what you're typing.
vim, jq, git & time machine all get a turn.

elysia@pink:~/.tsuki $

your journal is yours: readable in twenty years, greppable tonight.

what it does FEATURES.TXT
☽rich entriestitle, tags, moods, source links & linked entries.
✦folders & tagsdrag entries into folders, filter by tag from the sidebar.
⌕full-text searchinstant, with a highlighted snippet of where it matched.
✧pinningpinned entries stay at the top of the list.
∞entry linksconnect entries into little constellations.
⋆stats & streakscurrent & longest streak, 30-day dots, mood distribution.
☾file watchingedit in vim while tsuki is open, it notices & syncs.
♡night sky30 stars twinkling behind your words, redrawn 20 times a second.
✎local jsonone file per entry, on your own disk. no database.
✩open sourceMIT, on github. take it, learn from it.

swift + swiftui, zero dependencies: the whole app is eleven swift files.

an entry, on disk ENTRY.JSON
{
  "content": "## Today\n\nwrote a little,\n walked a little...",
  "createdAt": "2026-07-15T01:12:09Z",
  "folder": "Daily",
  "mood": "😌",
  "pinned": false,
  "tags": ["daily", "soft"],
  "title": "a quiet tuesday"
}

pretty-printed, sorted keys, atomic writes. grep it, jq it, git it.

templates SCAFFOLDING.TXT
☽blankstart from nothing
☀daily entrytoday · how i feel · highlights · reflections
✎reading noteswhat i read · key ideas · my thoughts
☁thoughtsthe idea · why it matters · connections

a few headings to start from, or blank if you'd rather.

kept gently STATS.LOG
9CURRENT STREAK
21LONGEST
0GUILT TRIPS
⌘Ntemplate ⇧⌘Nquick entry ⌘⌫delete

streaks, moods & 30 days of dots. a missed day is just an empty dot.

entries SCREENSHOT_01
Tsuki entries list with folders and tags in the sidebar

folders, tags & search all live in the sidebar.

editor SCREENSHOT_02
Tsuki entry editor with title, tags and mood

title, tags, moods, then just write.

get tsuki INSTALL.SH

or build it yourself: clone the repo & hit ⌘R (needs macOS 14+ and Xcode 15+)

夜が来るたびに、また夢を見る

← back to main page ♡