Bring your codebase into the conversation.
Or any codebase, really.
Sniptail is an omnichannel bot that accepts slash commands or chat commands, runs coding agent jobs against approved repos, and posts back reports or merge requests. Slack, Discord, and Telegram are supported channels. It is designed for teams that want a lightweight, self-hosted automation loop for repo analysis and changes.
You can also mention the bot directly in a channel to kick off work without remembering a slash command. This is the simplest "wow" moment: mention the bot, ask a quick question, and it will casually check the configured repositories and answer in natural language right where it was mentioned.
This quickstart assumes:
- bot and worker run on the same machine
- one shared
.envfile is used for both - Codex CLI is installed, configured, and authenticated on your machine (
codexworks in your shell) - you want to test with this repository:
git@github.com:Justkog/sniptail.git
Sniptail local Codex and Copilot runs always execute system codex / copilot binaries from PATH (no bundled fallback).
curl -fsSL https://raw.githubusercontent.com/Justkog/sniptail/main/install.sh | bash
cp ~/.sniptail/current/.env.example ~/.sniptail/current/.envEdit ~/.sniptail/current/.env and set at least:
DISCORD_BOT_TOKEN
Need help creating a basic Discord bot/token? See docs/discord-bot-setup.md.
Edit ~/.sniptail/current/sniptail.bot.toml and set:
[channels.discord]
enabled = true
app_id = "YOUR_DISCORD_APPLICATION_ID"sniptail repos add sniptail --ssh-url git@github.com:Justkog/sniptail.git
sniptail repos listRun:
sniptail local --migrate-if-neededThis quickstart uses the single-process local runtime. For split bot/worker deployments, see docs/setup-and-operations.md.
In a Discord server where the bot is installed, run:
/sniptail-ask
Then, in the Discord modal that opens:
- write your request in the
questioninput, for example:
I'm about to confidently mis-explain /sniptail-ask. Walk me through only that flow from command to final message, no side quests.
- submit the modal
Expected result:
- Sniptail queues a job when you submit it.
- Worker clones/prepares
git@github.com:Justkog/sniptail.git. - Agent runs and produces a Markdown report.
- Bot posts the report and completion message back in the same Discord channel/thread.
For deeper setup and operations documentation, see docs/setup-and-operations.md, docs/chat-commands.md, docs/telegram-bot-setup.md, docs/project-roadmap.md, and docs/sniptail-cloud-faq.md.
If you use an external agent that understands SKILL.md-style workflows, the canonical operator-install skill for Sniptail lives at .github/skills/sniptail-operator-install/SKILL.md.
Fetch the full skill bundle directly from GitHub without cloning the repository:
mkdir -p ~/.agent-skills/sniptail-operator-install
mkdir -p ~/.agent-skills/sniptail-operator-install/references
SKILL_ROOT_URL="https://raw.githubusercontent.com/Justkog/sniptail/main/.github/skills/sniptail-operator-install"
DEST="${HOME}/.agent-skills/sniptail-operator-install"
curl -fsSL "${SKILL_ROOT_URL}/SKILL.md" -o "${DEST}/SKILL.md"
for rel in \
"references/sniptail-preflight-reference.md" \
"references/sniptail-repo-providers-reference.md" \
"references/sniptail-repo-catalog-reference.md" \
"references/sniptail-install-local-reference.md" \
"references/sniptail-slack-operator-reference.md" \
"references/sniptail-discord-operator-reference.md" \
"references/sniptail-split-deployment-reference.md"
do
curl -fsSL "${SKILL_ROOT_URL}/${rel}" -o "${DEST}/${rel}"
doneThat bundle tells the agent to install Sniptail through the supported standalone installer, prefer sniptail local --migrate-if-needed for first-time setups, guide Slack or Discord bot creation, and link repositories with the sniptail CLI.
If your agent only supports single-file skills, fetch SKILL.md at minimum, but the intended operator workflow depends on the bundled references living alongside it. For reproducible behavior, replace main in the raw GitHub URL with a release tag.
Sniptail is meant to grow along three axes: where requests come from, which coding agent executes them, and which Git service receives the results. Today, its omnichannel layer is implemented for Slack, Discord, and Telegram, alongside Codex/GitHub_Copilot and GitHub/GitLab integrations. The goal is to make each layer pluggable so other platforms can be added without rewriting the whole stack.
Sniptail is source-available, self-hostable, and free to use and modify.
We are actively working on Sniptail Cloud, a hosted and managed offering for teams that want to use Sniptail without running bots, queues, or workers themselves.
Sniptail Cloud is not available yet. If you're interested in early access or updates, you can join the waitlist here: [link]
Roadmap detail tables are in docs/project-roadmap.md.
- A user triggers a slash command or mentions the bot in Slack or Discord, or sends a Telegram command/message to the bot.
- The bot queues a job via the configured transport (
redisor in-processinproc) and records metadata in the configured job registry. - A worker pulls the job, prepares repo worktrees, and runs the configured coding agent (Codex or Copilot).
- Results are posted back to Slack, Discord, or Telegram as a report and (for IMPLEMENT jobs) a GitLab MR or GitHub PR.
AI coding assistants like Copilot and Codex are excellent for deep, hands-on technical work. They live in the editor, helping engineers write, refactor, and reason about code.
Sniptail doesn't replace them - it runs them on your behalf.
Instead of being tied to one developer's IDE, Sniptail turns those same agents into a team-facing automation layer:
- Ask questions about how a feature works - directly from Slack, Discord, or Telegram
- Explore product capabilities without digging through the repo
- Help onboard new team members who aren't technical
- Generate reports, plans, or lightweight PRs
- Do it all without installing or configuring anything locally
Copilot and Codex empower individual engineers to go deep. Sniptail empowers the whole team to understand and safely interact with the codebase - using those same agents under the hood.
Sniptail is licensed under the Elastic License v2.
You are free to:
- Use Sniptail for personal or internal business purposes
- Self-host Sniptail
- Modify the source code
- Distribute unmodified or modified copies
You may not:
- Offer Sniptail as a hosted or managed service to third parties
- Provide Sniptail as part of a commercial SaaS offering without permission
If you are interested in a hosted or managed version, see docs/sniptail-cloud-faq.md.
