Follow these guidelines to get the most out of Kimaki and avoid common pitfalls.Documentation 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.
Server Organization
Create a Dedicated Discord Server
Create a dedicated Discord server for your coding agents. This keeps your coding sessions separate from other servers and gives you full control over permissions. Add all your bots to that server. One server, multiple machines. Each channel is clearly labeled with its project directory.Team Access Control
Use the “Kimaki” Role for Team Access
Create a role named “Kimaki” (case-insensitive) and assign it to users who should be able to trigger sessions. Only users with these Discord permissions can interact with the bot:- Server Owner - Full access
- Administrator - Full access
- Manage Server - Full access
- “Kimaki” role - Create a role with this name and assign to trusted users
Block Access with “no-kimaki” Role
Create a role named “no-kimaki” (case-insensitive) to block specific users from using the bot, even if they have other permissions like Server Owner or Administrator. This implements the “four-eyes principle” - it adds friction to prevent accidental usage. Even if you’re a server owner, you must remove this role to interact with the bot. Use cases:When to use no-kimaki role
When to use no-kimaki role
- Prevent accidental bot triggers by owners who share servers
- Temporarily disable access for specific users
- Break-glass scenario: removing the role is a deliberate action
Multi-Machine Setup
One Bot Per Machine
Each Discord bot you create is tied to one machine. This is by design. When you runkimaki on a computer, it spawns OpenCode servers for projects on that machine. The bot can only access directories on the machine where it’s running.
To control multiple machines:
Each channel shows which bot (machine) it’s connected to. You can have channels from different machines in the same server, controlled by different bots.
Running Multiple Instances on Same Machine
By default, Kimaki stores its data in~/.kimaki. To run multiple bot instances on the same machine (e.g., for different teams or projects), use a separate --data-dir and optionally set KIMAKI_LOCK_PORT explicitly:
- Database - Bot credentials, channel mappings, session history
- Projects directory - Where
/create-new-projectcreates new folders - Lock port - Derived from the data directory path by default; override with
KIMAKI_LOCK_PORTwhen you need a specific port
Working with Long Prompts
Send Long Prompts as File Attachments
Send long prompts as file attachments. Discord has character limits for messages. Tap the plus icon and use “Send message as file” for longer prompts. Kimaki reads file attachments as your message.File attachments are also useful for sending code examples, error logs, or any context the AI needs to see.
Project Configuration
Configure Permissions in opencode.json
By default, most tools run without asking. The main exception isexternal_directory - any tool that touches paths outside the project directory will prompt for approval.
You can customize permissions in your project’s opencode.json:
"allow" (run automatically), "ask" (show buttons in Discord), or "deny" (block).
Set the AI Model
Set the AI model in your project’sopencode.json:
provider/model-name
Examples:
anthropic/claude-sonnet-4-20250514- Claude Sonnet 4anthropic/claude-opus-4-20250514- Claude Opus 4openai/gpt-4o- GPT-4ogoogle/gemini-2.5-pro- Gemini 2.5 Pro
/model- Select a different AI model/agent- Select a different agent (if you have multiple agents configured in your project)
Memory Management
Use MEMORY.md for Persistent Context
Kimaki supports persistent memory across sessions via aMEMORY.md file in your project root. No flags needed — if the file exists, the AI reads it at session start.