What's Changed
- Phase 0: the plugin boundary, and a terminal that proves it by @meszmate in #2
- A conversation happens where its project is by @meszmate in #3
- A checkout named after what it is, and pickers that say what they answer to by @meszmate in #4
- A turn belongs to a conversation, not to the program by @meszmate in #5
- feat(ui): composer wraps long prompts; sidebar favourites get a red heart by @meszmate in #6
- A turn says what it is doing, including when somebody else is doing it by @meszmate in #7
- feat(agent): a driver's loop has somewhere to say what it is doing, and a person to ask by @meszmate in #8
- feat(chat): the composer is the field, and a conversation keeps its own answers by @meszmate in #9
- A panel is a surface, not a program by @meszmate in #10
- Ask the terminal for the keys it can actually send by @meszmate in #11
- ASCP v0: the protocol, and a node that can prove who it is by @meszmate in #12
- feat(chat): a card says what happened, and a mode's keys are its own by @meszmate in #13
- ASCP: see and steer the agents on your other computers by @meszmate in #14
- Make Subscribe do something, and publish the protocol by @meszmate in #15
- Add a computer the way you pair a device by @meszmate in #17
- feat(chat): a question can have a picture in it, and an abandoned turn is drained by @meszmate in #16
- The plan, the week, a question, more terminals, and a panel that stops flashing by @meszmate in #18
- feat(model,chat): every knob on one panel, and a turn you have not seen by @meszmate in #19
- feat(sidebar): a worktree lives inside its project by @meszmate in #21
- fix(proto): a canonical encoding cannot depend on who else is compiling by @meszmate in #20
- feat: a panel that has the keyboard, and a project that stays by @meszmate in #22
- fix(questions): a field that shows what you are typing, and keeps it by @meszmate in #23
- A default binding is a key every terminal sends by @meszmate in #24
- A list you move in, a plan that is one row, and a card attached to what it did by @meszmate in #25
- feat: a website that shows the workspace, and a plan row that names its account by @meszmate in #26
- feat: a website that shows the workspace working, and a plan row that names its account by @meszmate in #27
- fix: closing the last conversation empties the workspace by @meszmate in #28
- The cursor is on a character by @meszmate in #29
- fix: work is not lost when the workspace stops by @meszmate in #30
- feat(site): hero focused on the terminal, plugins page, live star count by @meszmate in #31
- feat: a question that is the last thing, and an orchestrator that is a plugin by @meszmate in #32
- A branch named by what you asked for by @meszmate in #33
- fix(images): a clipboard that only names a picture by @meszmate in #34
- A stack of commands, and the answer is the last one's by @meszmate in #35
- Say what a conversation is still doing when it looks finished by @meszmate in #36
- fix(ci): a plugin being ready is not the workspace being ready by @meszmate in #37
- fix(claude-cli): an agent that speaks when nobody asked by @meszmate in #38
- Stop a workspace running two agents for one conversation by @meszmate in #39
- Give the sidebar back the columns the star was holding by @meszmate in #42
- Say something when you need to know, and nothing when you do not by @meszmate in #41
- A turn is something you can watch by @meszmate in #40
- A request nobody answers is a turn that never ends by @meszmate in #43
- chore: a flag nothing reads and three methods nobody calls by @meszmate in #44
- A terminal is a place you are, not a copy of somebody else's screen by @meszmate in #45
- A project you removed is not a place to start a conversation by @meszmate in #46
- feat(reader): yp copies the conversation's directory, and ⌥Y is allowed to stay by @meszmate in #47
- feat(website): an faq you can filter, legal pages, and full crawler metadata by @meszmate in #48
- An archive is something you can empty by @meszmate in #50
- A plugin can build on a plugin (ADR 0059) by @meszmate in #49
- A mark that comes off when the work stops, not when the agent mentions it by @meszmate in #51
- feat(palette): the colour a star already is by @meszmate in #52
- The plugin catalogue: pictures, numbers, pages, and @neosh on npm by @meszmate in #54
- fix(claude-cli): the number a turn reports is a fraction, and the gauge is drawn in percent by @meszmate in #53
- fix(agent): a call that never came back is closed out, not left spinning by @meszmate in #55
- chore: two methods nothing calls, and the one that is only ever a test's by @meszmate in #56
- fix(provider): the plan gauge reads the login macOS keeps in the keychain by @meszmate in #57
- fix(context): the meter stays on the strip, and moves when the context does by @meszmate in #59
- Docs site, swarm on by default, and the repository face by @meszmate in #58
- release: make the workspace publishable, and write down how by @meszmate in #60
- feat(dist): npm i -g neosh, brew install, and an install.sh that does not build by @meszmate in #61
- fix(release): attach the assets before publishing to npm by @meszmate in #62
- v0.2.0: update itself, and a mouse wheel that scrolls by @meszmate in #63
Full Changelog: https://github.com/neoswarm/neosh/commits/v0.2.0