discrawl/docs/install.md
2026-05-05 10:07:56 +01:00

67 lines
1.8 KiB
Markdown

# Install
Discrawl is a single Go binary. Install via Homebrew or build from source.
## Homebrew
```bash
brew install steipete/tap/discrawl
discrawl --version
```
The tap auto-installs from `steipete/tap`.
## From source
Requires Go `1.26+`.
```bash
git clone https://github.com/openclaw/discrawl.git
cd discrawl
go build -o bin/discrawl ./cmd/discrawl
./bin/discrawl --version
```
If you do not put `discrawl` on `PATH`, replace `discrawl` with `./bin/discrawl` in any example below.
## Quick start (with bot token)
```bash
export DISCORD_BOT_TOKEN="your-bot-token"
discrawl init
discrawl doctor
discrawl sync --full
discrawl sync
discrawl search "panic: nil pointer"
discrawl tail
```
`init` discovers accessible guilds and writes `~/.discrawl/config.toml`. If exactly one guild is available, it becomes the default automatically.
`doctor` verifies the config loads, the token resolves, the bot can reach the Gateway, and the local DB and FTS index are wired up.
## Quick start (Git-only reader)
No Discord credentials required. You read a private Git snapshot another machine published.
```bash
discrawl subscribe https://github.com/example/discord-archive.git
discrawl search "launch checklist"
discrawl messages --channel general --hours 24
```
`subscribe` writes a token-free config (`discord.token_source = "none"`) and imports the snapshot. Read commands auto-refresh when the local snapshot is older than `15m`.
## Default runtime paths
- config: `~/.discrawl/config.toml`
- database: `~/.discrawl/discrawl.db`
- cache: `~/.discrawl/cache/`
- logs: `~/.discrawl/logs/`
## Next steps
- [Bot setup](bot-setup.html) - intents, permissions, token sources
- [Configuration](configuration.html) - the full TOML shape and override rules
- [`sync`](commands/sync.html) - the main archive command