From 524c8ca011fbc594d5246742b9e5c3c78d3f1c26 Mon Sep 17 00:00:00 2001 From: Jiun Bae Date: Fri, 25 Sep 2026 21:28:38 +0900 Subject: [PATCH] docs(launch): keep public-post drafts in the repo by mode Add docs/launch/ with intro and changes drafts (Show HN, Reddit, X, LinkedIn, GeekNews, next release notes) and the rules for choosing a mode per channel, matching the demo's --mode. Nothing here is posted automatically. CONTRIBUTING and the changes scene point maintainers to refresh the drafts with each release. Co-Authored-By: Claude Opus 5.5 --- CONTRIBUTING.md | 3 +- docs/demo/scenes/changes.tape | 2 +- docs/launch/README.md | 27 +++++++++++ docs/launch/changes.md | 27 +++++++++++ docs/launch/intro.md | 84 +++++++++++++++++++++++++++++++++++ 5 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 docs/launch/README.md create mode 100644 docs/launch/changes.md create mode 100644 docs/launch/intro.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2321858..93b861b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,6 +32,7 @@ swift build -c release -Xswiftc -strict-concurrency=complete -Xswiftc -warnings- Keep changes scoped, add tests for behavior changes, update README/design documentation when the CLI contract changes, and do not commit generated build output or credentials. Maintainers handle -version tags and releases after all required checks pass. +version tags and releases after all required checks pass. For each release they also refresh the +public-post drafts in [docs/launch/](docs/launch/) and the demo scenes in [docs/demo/](docs/demo/). By participating, you agree to follow [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). diff --git a/docs/demo/scenes/changes.tape b/docs/demo/scenes/changes.tape index 1ff9561..74d4e29 100644 --- a/docs/demo/scenes/changes.tape +++ b/docs/demo/scenes/changes.tape @@ -1,5 +1,5 @@ # changes: what is new since the last release (release notes, update posts). -# Rewrite these scenes for each release from CHANGELOG.md's [Unreleased] section. +# Rewrite these scenes for each release from CHANGELOG.md, alongside docs/launch/changes.md. Hide Type `scene "New: a provider name runs its active account"` diff --git a/docs/launch/README.md b/docs/launch/README.md new file mode 100644 index 0000000..9ea8a38 --- /dev/null +++ b/docs/launch/README.md @@ -0,0 +1,27 @@ +# Launch copy + +Drafts of public posts about aas (launch posts, release notes, social). Everything here is a +**draft**: the maintainer posts from their own accounts; nothing in this folder is posted +automatically. + +Each draft is written in one of two modes, matching the demo video's `--mode`: + +| Mode | File | Reader | Include | Leave out | +|---|---|---|---|---| +| intro | [intro.md](intro.md) | Has never seen aas | The problem, 2–3 core scenes, one install line | Version numbers, internal fixes, asx history (one line at most) | +| changes | [changes.md](changes.md) | Already uses or follows aas | User-visible changes only, how to update | The full product pitch (link instead) | + +| Channel | Default mode | Demo (`docs/demo/render.sh`) | +|---|---|---| +| README, org site card | intro | `--channel readme` (GIF) | +| Show HN, Reddit, GeekNews | intro | link only | +| X, LinkedIn | intro at launch, then changes | `--channel social`, or `square` for square feeds | +| GitHub release notes | changes | `--channel readme` if useful | + +Rules: + +- Only describe what the current build does. No "bypass limits" or "unlimited" framing. +- `changes.md` is rewritten for each release from the matching `CHANGELOG.md` section, together + with `docs/demo/scenes/changes.tape`. Fix the version number and release link before posting. +- Before posting, re-read the channel's rules (Show HN guidelines, subreddit self-promotion + rules) and re-render the demo for that mode and channel. diff --git a/docs/launch/changes.md b/docs/launch/changes.md new file mode 100644 index 0000000..de8e1d4 --- /dev/null +++ b/docs/launch/changes.md @@ -0,0 +1,27 @@ +# Launch copy: changes + +> **Draft. Not posted.** What changed since the last release, for people who already use or follow aas. +> Source: [CHANGELOG.md](../../CHANGELOG.md) `[Unreleased]` as of 2026-09-25 (expected v0.1.14). +> Demo: `docs/demo/render.sh --mode changes --channel `. + +## GitHub release notes + +> ### Added +> - `aas exec codex` (and the bare `aas codex`) now runs that provider's active account, so a provider name works wherever an account name does. An account that happens to be named after a provider still wins. +> +> ### Fixed +> - `claude` and `codex` keep following `aas switch` in shells started from an agent session (for example a tmux server). Previously they could stay on the old account for the rest of that session. +> +> Update: `brew upgrade aas` + +## X (attach `--mode changes --channel social`) + +> aas v0.1.14: `aas exec codex` now runs whichever Codex account is active, and `claude`/`codex` keep following `aas switch` inside tmux and agent-spawned shells. +> +> brew upgrade aas + +## LinkedIn (attach `--mode changes --channel square`) + +> aas v0.1.14 is out. A provider name now runs its active account (`aas exec codex`), and a fix keeps `claude` and `codex` following `aas switch` in long-lived shells such as tmux. +> +> Update with `brew upgrade aas`. Full notes: https://github.com/Open330/aas/releases diff --git a/docs/launch/intro.md b/docs/launch/intro.md new file mode 100644 index 0000000..dbcf15a --- /dev/null +++ b/docs/launch/intro.md @@ -0,0 +1,84 @@ +# Launch copy: intro + +> **Draft. Not posted.** First-time introduction of aas, for readers who have never seen it. +> Demo: `docs/demo/render.sh --mode intro --channel `. +> See [README](README.md) for the rules these drafts follow. + +## Show HN + +**Title** + +> Show HN: aas – use several Claude Code and Codex accounts side by side + +**Body** + +> I use a personal and a work account for Claude Code and Codex, and logging out and back in to move between them got old. aas is a single static binary (Rust) that keeps each account in its own profile and lets you: +> +> - run one session under another account (`aas exec work`) while your default login stays as it was +> - switch the default in one command (`aas switch codex team`) +> - see every account's remaining usage in one table (`aas usage`, fetched in parallel and cached) +> +> Credentials live in per-account 0600 files or the OS keychain; nothing is sent anywhere except the providers' own endpoints. It supports Claude Code, Codex, Grok/xAI, Z.AI, Kimi/Moonshot, Cursor and Pi, and runs on macOS, Linux and Windows. +> +> Install: `brew install open330/tap/aas` (or a curl/PowerShell installer that verifies the release attestation). +> +> It's MIT-licensed. I'd love feedback on the exec/switch model and on providers you'd want next. +> +> https://github.com/Open330/aas + +**Prepared reply: provider terms** + +> aas only manages accounts you already have and sign in to yourself; it doesn't share, pool or resell access. Whether a given plan allows more than one account is up to each provider's terms, so please check those for your own setup. + +## Reddit (r/ClaudeAI, r/ChatGPTCoding) + +**Title** + +> I made a small CLI to use multiple Claude Code / Codex accounts without logging out + +**Body** + +> If you keep separate personal and work accounts, aas lets you run a session on one account while your default login stays on the other, switch the default in one command, and see all accounts' remaining usage in one table. Single Rust binary, credentials stay in local 0600 files or your keychain. +> +> `brew install open330/tap/aas` · https://github.com/Open330/aas +> +> Happy to answer questions. Feedback on what's confusing is especially welcome. + +(Re-read each subreddit's self-promotion rules right before posting.) + +## X (attach `--channel social`) + +> Use several Claude Code and Codex accounts side by side. +> +> aas runs one session on another account without touching your default login, switches in one command, and shows every account's remaining usage at a glance. +> +> brew install open330/tap/aas +> github.com/Open330/aas + +## LinkedIn (attach `--channel square`) + +> I built aas, a small open-source CLI for people who use more than one coding-agent account (Claude Code, Codex and others). +> +> Instead of logging out and back in, you can run a single session on another account while your default stays put, switch the default in one command, and check every account's remaining usage in one table. +> +> It's a single Rust binary, MIT-licensed, and installs with `brew install open330/tap/aas`. +> https://github.com/Open330/aas + +## GeekNews (Korean) + +**Title** + +> aas - 여러 Claude Code·Codex 계정을 로그아웃 없이 나란히 쓰는 CLI + +**Body** + +> 개인 계정과 회사 계정을 오갈 때마다 로그아웃하고 다시 로그인하는 게 번거로워서 만든 도구입니다. Rust로 만든 단일 바이너리입니다. +> +> - `aas exec work`: 다른 계정으로 세션 하나만 실행하고, 기본 로그인은 그대로 둡니다. +> - `aas switch codex team`: 기본 계정을 명령 한 줄로 바꿉니다. +> - `aas usage`: 모든 계정의 남은 사용량을 표 하나로 보여 줍니다(병렬 조회, 캐시). +> +> 자격 증명은 계정별 0600 파일이나 OS 키체인에만 저장합니다. Claude Code, Codex, Grok/xAI, Z.AI, Kimi/Moonshot, Cursor, Pi를 지원하고 macOS, Linux, Windows에서 동작합니다. +> +> 설치: `brew install open330/tap/aas` +> https://github.com/Open330/aas