keepkiwi install

pane pet habits your city

keep kiwi alive.
keep yourself alive.

a small pet that lives in the side panel of your terminal. it gets hungry for the dish you said you'd cook, restless until you walk, dim until you read your 2 hours. it knows the weather outside your window and what your watch saw, so it asks for the walk when the fog lifts and counts the steps you already took.

click the weather chips in the pane. kiwi reacts.

claude · ~/GitHub/tenor
add the credit memo export
Reading memo/export.ts
⎿ 3 edits · 1 test added
Done. The export writes a PDF and a JSON sidecar.
kiwi says walk. is it foggy
58°F, fog lifting by 3pm. Dolores is 12 min on foot. I'll hold the build.
>
KIWI · — HAPPY
pet habits outside
— · kiwi58°F · fog · SF
hi
thinking · keep kiwi alive. keep yourself alive.
outside
read
0:42 / 2:00 walk
not yet cook
shakshuka ✓ move
24 min track
4 / 5
life ♥♥♥♡streak 7dage 23d
pet log

ten moods. one job.

it always has something on its mind, even as an egg. the line changes every ten minutes and shows in the pane under the sprite.

( )
egg
day one. three good days and it hatches.
thinking · keep kiwi alive. keep yourself alive.
◕‿◕
chick
just hatched. seven days to young.
thinking · i'm small. the walk counts double for me.
◕‿◕
happy
3 of 5 today or better
thinking · a streak is just days that agreed with each other.
◔_◔
restless
walk not done, sky is clear
thinking · i can't fly. so we walk.
-_-
dim
reading short after 6pm
thinking · pages before pixels. just a few.
◕﹏◕
hungry
menu night, nothing cooked
thinking · the pan is right there.
◉︵◉
upset
the morning after a day you fell behind
thinking · yesterday happened. today hasn't.
x_x
sick
two bad days in a row
thinking · one more and i'm back in the shell.
˘‿˘
asleep
11pm to 6am. it never dies in its sleep.
thinking · dreaming of the park
◕‿◕
grown
day 21. a tuft. opinions.
thinking · grown now. still can't fly. still walking.

it grows

three good days in a row hatch the egg. then age does the rest. three bad days in a row and you're holding an egg again.

eggday 1
crackingday 3
chickhatched
youngday 7
grownday 21

a month with kiwi

every day scores 0 to 5. the pane keeps the log; this is what thirty days look like. example data.

days · score out of 5streak 0 · hatched day 3 · upset 2×
today · °F by hourwalk window 14:40

the first dry hour at 48°F or more before 7pm. that's when it asks.

it lives where you already look

three places, all inside Claude Code. no app, no tab, no phone.

> add the credit memo export
● Reading memo/export.ts
⎿ 3 edits · 1 test added
● Done. The export writes a PDF and a JSON sidecar.
kiwi fog's lifting. 12 min to Dolores. walk nowafter this turnsnooze 1h
③ the band
① the pane
— · kiwi
58°F · fog · SF
thinking · the fog is a mood, not a reason.
read ▰▰▱▱▱▱ 0:42 / 2:00
walk ▱▱▱▱▱▱ window 14:40
cook ▰▰▰▰▰▰ shakshuka ✓
habits ▰▰▰▰▱▱ 2 / 3 · left: water
[ start reading ] [ walked ] [ moved 30 ]
② the status linekiwi ◕‿◕  read ▰▰▱▱ 0:42  walk ✗  cook ✓  habits 2/3  streak 7d  58°F fog
① the panedocked beside the transcript. sprite, meters, buttons, log. close it when you want the room.
② the status lineone line under the prompt when the pane is closed. the face changes first, so you catch it in the corner of your eye.
③ the bandone ask at a time, with real buttons. never while claude is working. snooze and hide on every one.

skins and weather gear

click one. the hero changes. the classic is free; the rest come with kiwi+, and the gear shows up by itself when the weather calls for it.

classicfree
snowkiwi+
duskkiwi+
goldkiwi+
scarfunder 50°F
shadesclear + 70°F
rain hatrain

how it stays alive

five meters. each one drains on its own clock. you refill them by doing the real thing, and you log it to kiwi the same way you talk to claude.

▰▰▱▱

read 2 hours

a reading timer in the pane. kiwi dims as the day goes on without pages. hit 2:00 and it glows.

log: "read 40 min of Dalio"
⇢ ⇢

take it for a walk

kiwi checks the sky. foggy at 9, clearing at 3? it asks at 3. rain all day? it asks for the gym instead.

log: "walked to Dolores" (or let your phone's steps do it)
◔◑◕

cook the dish

you give it a weekly menu. it gets hungry for shakshuka on wednesday, not "food". cooking something else counts half.

log: "cooked the shakshuka"
↑↓

exercise

30 minutes of anything that raises your heart rate. kiwi does little jumps in the pane for the rest of the day.

log: "ran 5k" / Apple Health sync
☐☑

daily habit list

your 5 daily checkboxes, kept in the pane. 4 of 5 keeps the streak. miss two days and kiwi gets sick.

log: tick them in the pane, or "did all five"
( )
egg
day one. three good days and it hatches
◕‿◕
happy
3 of 5 today. it grows: chick, young, grown
◔_◔
restless
walk overdue, sky is clear
-_-
dim
no reading by 6pm
◉︵◉
upset
the morning after a day you fell behind
x_x
sick
two days under 3 of 5. three and it's an egg again

it knows what's outside

weather and nearby events drive the asks. not "go outside", but "it's 64 and sunny at 3, and there's a thing at the park".

today · SF · 58°F now, 64°F at 15:00, fog clears 14:40
walk at 3?
sat 11:00 · Alemany farmers market · 1.8 mi
get the tomatoes for the shakshuka
thu 18:30 · run club · Marina Green · 2.4 mi
this counts as exercise and a walk
wed · menu · shakshuka
kiwi is hungry at 18:00

sources on day one: Open-Meteo for weather, your own calendar, and the "what's on" feeds we already parse for SF (funcheap, downtownsf). more cities when people ask.

install

it's a Claude Code mod. three lines in your terminal, then /kiwi inside Claude Code. first run shows the egg and asks three quick questions with click-to-pick presets.

terminal
claude plugin marketplace add bsssm/keepkiwi claude plugin install kiwi@keepkiwi claude # then, inside: /kiwi

needs Claude Code 2.1.287 or later. edits to the mod folder reload with /reload-plugins. uninstall with claude plugin uninstall kiwi@keepkiwi.

your watch · apple watch now, whoop next
a Shortcut on your iPhone writes one small file to iCloud twice a day: steps, sleep hours, workout minutes, resting heart rate. kiwi reads it. 6,000 steps marks the walk done; workout minutes fill the move meter; sleep shows in the pane.

the 2-minute Shortcut recipe is in the guide. whoop comes through its api in kiwi+.

pricing

the pet is yours either way. pick how you want to get it.

$9

build it yourself

one payment. you get the full prompt: every working api call, the lifecycle rules, the pane layout, the sprite technique, the setup flow, the watch and weather inputs, the tests, and the eight mistakes that cost us hours. paste it into Claude Code and make your own creature.

one time · the prompt is yours forever
get the prompt
$5/mo

kiwi+

plugged into us. weekly updates and upgrades: skins and weather gear, your city's events feed, whoop sync, sync between machines, a phone companion for walks. cancel any time, the pet stays.

monthly · opens with the first update
tell me when it opens
free

the mod

the install above. everything on this page: the egg, the moods, the meters, the weather, the watch file, the pane. source on GitHub, MIT.

always · nothing leaves your machine
install

faq

what counts as a good day?

3 of 5 meters full: your reading hours, the walk, the menu dish, your exercise minutes, your habits (all but one ticked). three good days in a row hatch the egg. one bad day makes it upset the next morning. two in a row and it's sick, three and it's an egg again.

does it nag?

no. it asks once when the moment comes: the sky clears, a checkpoint passes, a now-and-then item is overdue. there's a snooze and a hide on every ask. it stays quiet while claude is working.

what leaves my machine?

one weather call an hour to open-meteo with your coordinates rounded. nothing else. the watch file is on your own icloud. there is no account.

does it cost tokens?

no. kiwi runs on timers and a tiny state file. it only asks claude for words when you talk to it, and that goes through your normal session.

what if i close the terminal?

the clock keeps running. kiwi remembers across sessions. it does not die while you sleep, only when you skip days.

can it be mean?

it can be honest. "you said 2 hours. it's 0:42 and it's 9pm." you pick the tone: soft, dry, or coach.

why a bird?

a kiwi can't fly. it has to walk. same as you.

contact

one person, one inbox. questions, a bug, your pet's screenshot.

email
hi@keepkiwi.com

or open an issue on github.com/bsssm/keepkiwi.