Kimaki is designed for team collaboration, allowing multiple users to work with AI coding agents in a shared Discord environment.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.
Permission System
Who Can Use Kimaki
Only users with specific Discord permissions can interact with the bot. This ensures that only trusted team members can trigger AI sessions that modify your codebase. Allowed permissions:- Server Owner - Full access
- Administrator - Full access
- Manage Server - Full access
- “Kimaki” role - Create a role with this name and assign to trusted users
The permission check happens for every message. Users without permission won’t see error messages - their messages are simply ignored.
Setting Up the Kimaki Role
The best practice for team access is to create a custom role:Create the Kimaki role
In Discord Server Settings → Roles, create a new role named “Kimaki” (case-insensitive)
Blocking Access with “no-kimaki” Role
The “no-kimaki” role (case-insensitive) blocks 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. How it works:- Create a role named “no-kimaki” in your Discord server
- Assign it to users who should be blocked
- Even server owners with this role cannot trigger sessions
- To use the bot again, the role must be manually removed
Prevent accidental triggers
Prevent accidental triggers
Server owners who share Discord servers might accidentally trigger sessions in the wrong channel. The no-kimaki role requires them to consciously remove it before interacting.
Temporary access control
Temporary access control
Temporarily disable access for specific users without changing their other Discord permissions.
Break-glass scenario
Break-glass scenario
Removing the role is a deliberate action that creates an audit trail in Discord’s server logs.
Multiple Discord Servers
A single Kimaki instance can serve multiple Discord servers. This is useful for teams working across different organizations or projects.Method 1: Use /add-project Command
The
/add-project command creates channels in whichever server you run it from.
Method 2: Re-run CLI with —add-channels
The setup wizard lets you pick one server at a time.
You can even link the same project to channels in multiple servers - both will point to the same directory on your machine.
Session Management
Resume and Fork Sessions
Kimaki provides powerful session management features for team collaboration: Resume sessions: Continue where you left off using/resume <session>. The command has autocomplete to help you find previous sessions.
Fork sessions:
Branch from any message in the conversation using /fork. This creates a new thread starting from that specific point, allowing you to explore different approaches without affecting the main session.
Share sessions:
Generate public URLs to share your session using /share. This creates a read-only link that anyone can view, even if they don’t have access to your Discord server.
Message Queue
Use/queue <message> to queue a follow-up message while the AI is still responding. The queued message sends automatically when the current response finishes. If no response is in progress, it sends immediately.
This is useful for chaining tasks without waiting:
Clear all queued messages with
/clear-queue.
Tool Permissions
When the AI agent tries to run a tool that requires approval (like executing shell commands or accessing files outside the project), Kimaki shows a permission prompt directly in the Discord thread with three buttons:- Accept - approve this one request
- Accept Always - auto-approve similar requests for the rest of the session
- Deny - block the request
Configuring Team-Wide Permissions
You can customize permissions in your project’sopencode.json:
"allow"- run automatically without prompting"ask"- show approval buttons in Discord"deny"- block the operation
Git Worktrees for Isolated Work
Use/new-worktree <name> to create a git worktree and start a session. This creates an isolated branch and directory, perfect for:
- Testing experimental changes without affecting the main branch
- Working on multiple features in parallel
- Allowing different team members to work on different branches simultaneously
/merge-worktree to merge the worktree branch into the default branch.