Kimaki can be triggered programmatically from CI pipelines, cron jobs, or any automation. TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/remorses/kimaki/llms.txt
Use this file to discover all available pages before exploring further.
send command creates a Discord thread, and the running bot on your machine picks it up.
Getting Started
Environment Variables
For CI automation, you need to set the Discord bot token as an environment variable:| Variable | Required | Description |
|---|---|---|
KIMAKI_BOT_TOKEN | Yes (in CI) | Discord bot token |
CLI Send Command
Thesend command is the main way to start sessions programmatically:
Use either
--channel/--project (create new thread) or --thread/--session (send to existing thread), not both.GitHub Actions Integration
Example: Investigate New Issues
This workflow starts a Kimaki session whenever a new issue is opened:Add bot token to secrets
Add
KIMAKI_BOT_TOKEN to your repository secrets (Settings → Secrets → Actions)Get your channel ID
Replace
1234567890123456789 with your Discord channel ID (right-click channel → Copy Channel ID)How It Works
Notification-Only Mode
Use--notify-only for notifications that don’t need immediate AI response (e.g., subscription events). Reply to the thread later to start a session with the notification as context.
More GitHub Actions Examples
On Pull Request
On Failed Tests
On Deployment
Scheduled Tasks
Add--send-at to any kimaki send command to schedule it for later. Supports one-time ISO dates (must be UTC ending with Z) and recurring cron expressions (runs in your local timezone):
send flags (--notify-only, --worktree, --agent, --model, --user) work with --send-at. The only exception is --wait, which is incompatible since the task runs in the future.
Manage scheduled tasks:
Continuing Existing Sessions
You can continue an existing thread or session from CI:Adding Projects from CI
Create Discord channels for a project directory without starting a session. Useful for automation and scripting.Options
| Option | Description |
|---|---|
[directory] | Project directory path (defaults to current directory) |
-g, --guild <guildId> | Discord guild/server ID (auto-detects if bot is in only one server) |
-a, --app-id <appId> | Bot application ID (reads from database if available) |
File Upload from CI
Upload files to a Discord thread from CI:- Uploading test results or coverage reports
- Sending screenshots of UI changes
- Providing log files for debugging
Best Practices for CI Integration
Use descriptive thread names
Use descriptive thread names
Set meaningful
--name values so you can easily find sessions in Discord.Include context in prompts
Include context in prompts
Reference issue numbers, PR links, commit SHAs, and other relevant context in your prompts.
Use worktrees for isolated changes
Use worktrees for isolated changes
Add
--worktree <name> to create an isolated git worktree for experimental changes.Monitor bot availability
Monitor bot availability
Ensure your Kimaki bot is running and accessible from CI. Consider using process managers like systemd or PM2.
Handle failures gracefully
Handle failures gracefully
CI workflows should continue even if the Kimaki command fails. Use
|| true or set continue-on-error: true in GitHub Actions.