Add a README for end users
Everything a user needs to know has lived only in source comments and commit messages until now: that a profile is an isolated Claude Desktop plus its own paired Claude Code setup, that the normal install is left untouched, that Accessibility is what draws the window tags, and that an unnotarized download needs Open Anyway rather than the Control-click most people reach for. Deliberately end-user only. Building from source gets one short section pointing at .env.example, not a developer guide, and there are no screenshots yet — the app icon is still a placeholder, so anything shown now would need replacing immediately. Also bumps the version to 0.0.9. Nothing has been published yet, so the numbering stays below 1.0.0 until a release has been tested for real.
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
# shannoncoat
|
||||
|
||||
*which coat will Claude wear today?*
|
||||
|
||||
Run multiple isolated Claude profiles on macOS — each one its own Claude Desktop
|
||||
**and** its own paired Claude Code setup — and tell their windows apart at a
|
||||
glance.
|
||||
|
||||
Your normal Claude install is left completely alone. It stays exactly as it is
|
||||
and keeps working normally; shannoncoat only adds profiles alongside it.
|
||||
|
||||
A menu-bar item allows quick switching and profile management.
|
||||
|
||||
## Requirements
|
||||
|
||||
- macOS 13 or later
|
||||
- Claude Desktop
|
||||
|
||||
## Install
|
||||
|
||||
1. Download `shannoncoat.app.zip` from the
|
||||
[latest release](https://github.com/bdeshi/shannoncoat/releases/latest).
|
||||
2. Unzip it and move **shannoncoat.app** to `/Applications` or `~/Applications`.
|
||||
3. Open it. macOS will block the first launch, because the app isn't notarized.
|
||||
Go to **System Settings → Privacy & Security**, find the blocked item, and
|
||||
click **Open Anyway**.
|
||||
4. When prompted, grant **Accessibility**. The window tags are drawn from
|
||||
Accessibility data and won't appear without it.
|
||||
|
||||
## First run
|
||||
|
||||
With nothing running, shannoncoat offers a list of your profiles and starts
|
||||
whichever you tick. You can start several at once.
|
||||
|
||||
## Everyday use
|
||||
|
||||
The menu bar shows a coloured dot per running profile — dot and name when only
|
||||
one is up, dots alone when there are more (hover for the names).
|
||||
|
||||
Open the menu and:
|
||||
|
||||
- **Click a profile** to switch to it. Every other running profile is quit
|
||||
first, so you end up with just that one.
|
||||
- **Shift-click a profile** to open it *alongside* whatever is already running.
|
||||
- **Click a running profile** to bring its window to the front.
|
||||
|
||||
A `⇆` marks the profile you last switched to. **Close Profile** quits one
|
||||
profile; **Quit Claude** quits all of them and leaves shannoncoat running.
|
||||
**Manage Profiles…** opens the main window.
|
||||
|
||||
Quitting Claude by hand, from the Dock, or via Force Quit is picked up within
|
||||
about a second — the menu bar always reflects what is actually running.
|
||||
|
||||
## Window tags
|
||||
|
||||
Each managed Claude window carries a small tag in that profile's colour, so two
|
||||
otherwise identical windows are easy to tell apart.
|
||||
|
||||
Drag a tag anywhere on its window; each profile remembers where you put its own.
|
||||
If you'd rather have something smaller, **Settings → Window tag → Colored dot**
|
||||
replaces the name chip with a plain dot.
|
||||
|
||||
## Profiles
|
||||
|
||||
**default** is your real, untouched Claude install. shannoncoat can start and
|
||||
stop it but never manages it, so it gets no tag and can't be deleted.
|
||||
|
||||
To add a custom isolated profile, open **Manage Profiles… → +** and enter a
|
||||
name. The directories are optional — leave them blank and the profile gets
|
||||
`~/.shannoncoat/data/<name>/app` and `~/.shannoncoat/data/<name>/code`. Point
|
||||
them anywhere you like if you'd rather keep a profile's data with a project.
|
||||
|
||||
Selecting a profile shows both paths, ready to copy.
|
||||
|
||||
Each profile is a small JSON file at `~/.shannoncoat/<name>.json`, named after
|
||||
the profile. Two profiles may not share a directory — that would silently merge
|
||||
their Claude sessions, so shannoncoat refuses to start and tells you which files
|
||||
collide.
|
||||
|
||||
Deleting a profile removes only that pointer file. **Its Claude data stays on
|
||||
disk**, so you can recreate the profile later and pick up where you left off. If
|
||||
it's running, it's quit first.
|
||||
|
||||
## Settings
|
||||
|
||||
- **Launch at Login** — start shannoncoat automatically.
|
||||
- **Window tag** — name chip or coloured dot.
|
||||
- **Automatically check for updates** — once a day at most.
|
||||
|
||||
## Updates
|
||||
|
||||
shannoncoat compares its version against the one published on GitHub. The
|
||||
automatic check posts a quiet notification; **Check for Updates…** in Settings
|
||||
reports either way.
|
||||
|
||||
It never replaces itself. When a new version exists, download it from the
|
||||
releases page and swap the app in yourself.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**The window tags don't appear.** Almost always Accessibility. Check
|
||||
**System Settings → Privacy & Security → Accessibility**.
|
||||
|
||||
If shannoncoat is listed *and already ticked* but the tags still don't show,
|
||||
select it, remove it with **−**, then add it back. This happens after replacing
|
||||
the app with a build that has a different code signature; the old entry stays
|
||||
visible but no longer applies, and toggling it off and on won't fix it.
|
||||
|
||||
**Claude Desktop can't be found.** shannoncoat looks in `/Applications` and
|
||||
`~/Applications`. If yours is somewhere else, you'll be asked to locate it the
|
||||
first time you start a profile.
|
||||
|
||||
**A profile won't quit.** Claude was asked to quit and declined — usually its
|
||||
own "unsaved work" or "still generating" dialog. shannoncoat deliberately waits
|
||||
rather than killing Claude underneath it. Answer the dialog.
|
||||
|
||||
## Build from source
|
||||
|
||||
Requires the Xcode Command Line Tools.
|
||||
|
||||
```bash
|
||||
./build.sh
|
||||
```
|
||||
|
||||
The app is written to `.build/shannoncoat.app`; copy it to `/Applications` or
|
||||
`~/Applications`.
|
||||
|
||||
One thing worth setting up: an unsigned local build gets a new code identity
|
||||
every time, which silently invalidates its Accessibility grant on each rebuild.
|
||||
`.env.example` walks through creating a self-signed certificate once so the
|
||||
permission survives.
|
||||
Reference in New Issue
Block a user