Skip to main content
Glama
README.md
# @useatom/cli

CLI + MCP server for [Atom](https://useatom.dev) — GitHub pull request
notifications in Slack, threaded per PR.

```bash
npm install -g @useatom/cli
atom init
```

Setting up with a coding agent? Point it at
[useatom.dev/llms-install.md](https://useatom.dev/llms-install.md).

## Commands

| Command | What it does |
|---------|-------------|
| `atom init` | Interactive setup: sign in → workspace → connect GitHub + Slack → map a repo. Resumable. |
| `atom login` | GitHub sign-in via browser. `--with-token` (env `ATOM_TOKEN`/stdin) for CI, `--manual` for SSH. |
| `atom logout` / `atom whoami` | Clear / show the session. |
| `atom status` | Workspace overview: connections, plan, mappings. |
| `atom connect github\|slack` | Run one connection step (opens browser, waits for completion). |
| `atom map [repo] [channel]` | Map a repo's PRs to a channel. Interactive without args. |
| `atom unmap [repo]` | Remove a mapping (`--yes` to skip confirm). |
| `atom repos` / `atom channels` | List repos (with mappings) / channels the bot can post to. |
| `atom reminders [list]` | List PR reminder configs. |
| `atom reminders set --channel #x` | Create or update reminders (`--time`, `--tz`, `--days`, `--repos`; repos default to the channel's mappings). |
| `atom reminders delete --channel #x` | Remove a channel's reminders. |
| `atom standup status\|enable\|disable` | Manage the standup (`enable --channel #x --nudge 09:30 --post 11:00 --tz Zone --days mon,fri`). |
| `atom standup add-user\|remove-user <login>` | Enroll or remove participants (opt-in only). |
| `atom invite` / `atom join <code>` | Invite teammates / join a workspace. |
| `atom mcp` | Run the MCP server on stdio. |

Every command supports `--json` for scripting; most accept
`-w, --workspace <id>`.

## MCP

```bash
claude mcp add atom -- atom mcp
# or with no global install:
claude mcp add atom -- npx -y @useatom/cli mcp
```

14 tools: `atom_status`, `list_repos`, `list_channels`, `list_mappings`,
`map_repo`, `unmap_repo`, `get_invite_link`, `list_reminders`, `set_reminder`,
`delete_reminder`, `get_standup`, `set_standup`, `add_standup_participant`,
`remove_standup_participant`. Requires `atom login` first — the server reads
the same `~/.useatom/config.json`.

## Environment

| Variable | Purpose |
|----------|---------|
| `ATOM_API_URL` | Override the API base URL (local dev: `http://localhost:8500`). |
| `ATOM_TOKEN` | Session token override — used by `login --with-token` and headless runs. |
| `ATOM_CONFIG_DIR` | Config directory override (tests/CI). Default `~/.useatom`. |

## Development

```bash
npm install
npm run build       # tsup → dist/
npm test            # vitest: config unit tests + MCP protocol test (needs a build)
npm run typecheck
```

Maintenance

ActivityMaintained
ResponsivenessNo issues