{"_id":"@atocha/cli","_rev":"2-3a871e016f5b95a7a1b20fc7fedb3d2a","name":"@atocha/cli","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@atocha/cli","version":"0.1.0","_id":"@atocha/cli@0.1.0","maintainers":[{"name":"fadymak","email":"fmakram1@gmail.com"}],"homepage":"https://github.com/fadymak/atocha#readme","bugs":{"url":"https://github.com/fadymak/atocha/issues"},"bin":{"atocha":"dist/index.js"},"dist":{"shasum":"d20ed0ec4963afe0bb8a0aa3066f5aa0a28080ce","tarball":"https://registry.npmjs.org/@atocha/cli/-/cli-0.1.0.tgz","fileCount":3,"integrity":"sha512-3VoUkrwRYePIFtuToPet5SFrUxcH4thsAUAqk73NJWu+wB2K2vCyavDpTzihjfKEKvTHG4YjLN6zAKagDzB++A==","signatures":[{"sig":"MEQCIHUFaks1n6sdCMAeJLcIVz2Y7TNT4VZ69EUIHZXRANbvAiBONJwpm6peqYEwVg5TLHkWhMksrZSANOJcUdXDE4H2tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39077},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"exports":"./dist/index.js","gitHead":"d64a0eebc9332b12e83f27ff3e8d90ffcb6b0ee2","scripts":{"dev":"ATOCHA_CONTROL_URL=http://localhost:8788 node --import tsx src/index.ts","build":"tsdown","start":"node --import tsx src/index.ts","prepack":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"fadymak","email":"fmakram1@gmail.com"},"repository":{"url":"git+https://github.com/fadymak/atocha.git","type":"git","directory":"apps/cli"},"_npmVersion":"11.5.1","description":"Terminal UI for atocha.dev webhook channels","directories":{},"_nodeVersion":"24.7.0","dependencies":{"ink":"^7.1.0","react":"^19.2.7","ink-text-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.0","tsdown":"0.22.3","typescript":"7.0.1-rc","@types/node":"^26.1.0","@types/react":"^19.2.17","@atocha/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1783183089636_0.8831272610807952","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@atocha/cli","version":"0.1.1","description":"Terminal UI for atocha.dev webhook channels","type":"module","repository":{"type":"git","url":"git+https://github.com/fadymak/atocha.git","directory":"apps/cli"},"bin":{"atocha":"dist/index.js"},"main":"./dist/index.js","exports":"./dist/index.js","engines":{"node":">=22"},"publishConfig":{"access":"public"},"scripts":{"start":"node --import tsx src/index.ts","dev":"ATOCHA_CONTROL_URL=http://localhost:8788 node --import tsx src/index.ts","build":"tsdown","prepack":"tsdown","typecheck":"tsc --noEmit"},"dependencies":{"ink":"^7.1.0","ink-text-input":"^6.0.0","react":"^19.2.7"},"devDependencies":{"@atocha/shared":"workspace:*","@types/node":"^26.1.0","@types/react":"^19.2.17","tsdown":"0.22.3","tsx":"^4.23.0","typescript":"7.0.1-rc"},"gitHead":"71ce7f66619804974dd5ddc330e94fd7e4ccda8b","_id":"@atocha/cli@0.1.1","bugs":{"url":"https://github.com/fadymak/atocha/issues"},"homepage":"https://github.com/fadymak/atocha#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-NayqDa+EADThQesfIAgIBWqCSY3n4ITlmIMdxUJavNauXe+Z/rMDUgPkqx4KnktcSZs3deeJ/JUuM5vohd428g==","shasum":"d30841c4e7f6404afda1683fce9ae9bb830fa8db","tarball":"https://registry.npmjs.org/@atocha/cli/-/cli-0.1.1.tgz","fileCount":3,"unpackedSize":39303,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIApOjeGWdJfy+SXSK3CAPwKzcwh8Qh/w703cu5zo4lTWAiBR8nTfnF4eAmc+rCNPguVoBzQviuv00YRhyTzB0cuZQg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49289c9e-3b17-4abd-ae0e-3d76f4431880"}},"directories":{},"maintainers":[{"name":"fadymak","email":"fmakram1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.1_1783238903611_0.0945155599896883"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-04T16:38:09.515Z","modified":"2026-07-05T08:08:23.831Z","0.1.0":"2026-07-04T16:38:09.749Z","0.1.1":"2026-07-05T08:08:23.728Z"},"bugs":{"url":"https://github.com/fadymak/atocha/issues"},"homepage":"https://github.com/fadymak/atocha#readme","repository":{"type":"git","url":"git+https://github.com/fadymak/atocha.git","directory":"apps/cli"},"description":"Terminal UI for atocha.dev webhook channels","maintainers":[{"name":"fadymak","email":"fmakram1@gmail.com"}],"readme":"# @atocha/cli\n\nTerminal UI client for [atocha.dev](https://atocha.dev), a webhook ingestion and inspection service. It lets you create disposable webhook channels (each gets a unique `https://<slug>.atocha.dev` URL), watch incoming webhooks arrive live, and inspect their headers/body — all from the terminal, no browser required.\n\n## Usage\n\nThe CLI has no subcommands. Running `atocha` opens a full-screen TUI; once inside, all actions are keybindings (see [Keybindings](#keybindings) below).\n\n### Run from npm\n\n```sh\nnpx @atocha/cli\npnpm dlx @atocha/cli\nbunx @atocha/cli\n\n# or install globally\nnpm i -g @atocha/cli\natocha\n```\n\n### From this monorepo\n\n```sh\npnpm cli        # run against the default control plane (https://api.atocha.dev)\npnpm dev:cli    # run against a local control plane (http://localhost:8788)\n```\n\nBoth run `src/index.ts` directly (via `tsx`), no build step required. See the root [README](../../README.md) for local dev setup of the control/data plane workers.\n\n### Build a standalone binary\n\n```sh\npnpm --filter @atocha/cli build\n```\n\nProduces `dist/index.js` (the `atocha` bin entry, node shebang included).\n\n## Config flags\n\n```\nUsage: atocha [options]\n\nOptions:\n  --api <url>          Control plane URL (default: ATOCHA_CONTROL_URL or https://api.atocha.dev)\n  --token-file <path>  Local credential file (default: $XDG_CONFIG_HOME/atocha/credentials.json)\n  -h, --help           Show this help\n```\n\n| Flag                  | Env var              | Default                                                                                         | Description                                |\n| --------------------- | -------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------ |\n| `--api <url>`         | `ATOCHA_CONTROL_URL` | `https://api.atocha.dev`                                                                        | Control-plane base URL the CLI talks to.   |\n| `--token-file <path>` | `ATOCHA_TOKEN_FILE`  | `$XDG_CONFIG_HOME/atocha/credentials.json`, falling back to `~/.config/atocha/credentials.json` | Path to the local stored auth credentials. |\n| `-h`, `--help`        | —                    | —                                                                                               | Print usage and exit.                      |\n\nOn first launch the CLI signs up anonymously (`POST /auth/signup` against\n`--api`) and caches the returned token at `--token-file` (mode `0600`); later\nlaunches reuse that token until it expires, then it re-signs up automatically.\n\n## Keybindings\n\n| Key                               | Action                                                                                              |\n| --------------------------------- | --------------------------------------------------------------------------------------------------- |\n| `Tab`                             | Switch focus between the channel list and the event list                                            |\n| `↑`/`↓` (or `k`/`j`)              | Move selection                                                                                      |\n| `PageUp`/`PageDown`, `Home`/`End` | Page or jump through the focused list, or scroll the event detail view                              |\n| `Enter`                           | Connect to the selected channel's stream and focus events, or open the selected event's detail view |\n| `n`                               | Create a new channel (prompts for an optional name)                                                 |\n| `d`                               | Delete the selected channel (`y` to confirm, `n`/`Esc` to cancel)                                   |\n| `c`                               | Clear all events for the selected channel, keeping the channel (`y` to confirm)                     |\n| `r`                               | Refresh the channel list                                                                            |\n| `Esc`                             | Close the event detail view, or cancel a create/delete/clear prompt                                 |\n| `q`                               | Quit                                                                                                |\n","readmeFilename":"README.md"}