kai
Python Mediumdcellison/kai
28 stars
8 forks
60 open issues
Active Apr 2026
Beginner-Friendly Issues 60
Issues tagged for new contributors
Update slash command help text and menu for multi-backend support
#273 · Apr 7, 2026
enhancement good first issue
Module system: checkpoint/resume for user interaction
#234 · Apr 4, 2026
enhancement
Module system: /module command and status display
#233 · Apr 4, 2026
enhancement
Module system: registry-based dispatch and invoke API
#232 · Apr 4, 2026
enhancement
Module system: extract issue triage module
#231 · Apr 4, 2026
enhancement
Module system: extract PR review module
#230 · Apr 4, 2026
enhancement
Module system: journal and event logging
#229 · Apr 4, 2026
enhancement
Module system: core interface and registry
#228 · Apr 4, 2026
enhancement
Remove deprecated single-user env vars (hard removal)
#227 · Apr 4, 2026
enhancement
Minor code quality improvements from review of #214–#221
#223 · Apr 4, 2026
bug enhancement good first issue
Self-service GitHub repo subscriptions and webhook registration
#220 · Apr 3, 2026
enhancement
Module system: standard framework for autonomous capabilities
#208 · Mar 28, 2026
enhancement
User-to-repo mapping and GitHub notification routing
#203 · Mar 27, 2026
enhancement
Per-user allowed workspaces via Telegram commands
#202 · Mar 27, 2026
enhancement
Per-user settings via /settings command
#201 · Mar 27, 2026
enhancement
Remove example YAML files (users.yaml.example, workspaces.example.yaml)
#200 · Mar 27, 2026
documentation enhancement
Deprecate single-user env vars in favor of users.yaml + Telegram
#199 · Mar 27, 2026
enhancement
Per-user allowed workspaces in users.yaml with Telegram management
#198 · Mar 27, 2026
enhancement
Per-user settings via Telegram (/settings command)
#197 · Mar 27, 2026
enhancement
Multi-user configuration: eliminate single-user env var defaults
#196 · Mar 27, 2026
enhancement
Manage per-workspace config via Telegram commands
#195 · Mar 27, 2026
enhancement
Apply self-sudo skip to triage and review subprocess spawning
#194 · Mar 27, 2026
bug good first issue
Replace ALLOWED_USER_IDS with users.yaml in config wizard
#193 · Mar 27, 2026
enhancement
Skip sudo wrapper when os_user matches the bot process user
#191 · Mar 26, 2026
bug good first issue
Avoid leaking exception details to Telegram in triage error notifications
#186 · Mar 26, 2026
bug enhancement good first issue
Add GITHUB_NOTIFY_CHAT_ID to make config prompts
#183 · Mar 26, 2026
enhancement good first issue
Services proxy: add per-service allow_path_suffix flag to prevent SSRF
#171 · Mar 26, 2026
bug enhancement
Eviction force_kill leaves orphaned stderr drain task
#170 · Mar 26, 2026
bug good first issue
install: _cmd_apply leaves service stopped on partial failure
#166 · Mar 25, 2026
bug good first issue
install: install.conf retains secrets after successful apply
#165 · Mar 25, 2026
enhancement good first issue
triage: related-issue search can include the current issue
#164 · Mar 25, 2026
bug good first issue
triage: naive brace-matching JSON extraction can grab wrong content
#163 · Mar 25, 2026
bug good first issue
triage: _send_error_notification can silently fail
#162 · Mar 25, 2026
bug good first issue
webhook: health monitor does not distinguish transient from persistent errors
#161 · Mar 25, 2026
bug enhancement
webhook: _handle_github missing top-level exception handler
#160 · Mar 25, 2026
bug good first issue
History files not separated per-user on disk
#157 · Mar 24, 2026
bug
Cooldown dicts in webhook.py grow without bound
#156 · Mar 24, 2026
bug
No init_db cleanup on partial failure
#155 · Mar 24, 2026
bug
Lock eviction can fail silently, orphaning subprocesses
#154 · Mar 24, 2026
bug
Pool eviction TOCTOU race condition
#153 · Mar 24, 2026
bug
No cleanup policy for uploaded files
#151 · Mar 24, 2026
enhancement
Send save prompt to inner Claude before session shutdown
#148 · Mar 24, 2026
enhancement
Rename workspace/ directory to home/ to resolve naming ambiguity
#146 · Mar 24, 2026
enhancement
enhancement good first issue
Unbounded response body in services proxy
#135 · Mar 23, 2026
bug
Glob injection via attacker-controlled branch names in spec lookup
#134 · Mar 23, 2026
bug
force_kill doesn't await cleanup, orphans stderr task and zombie process
#133 · Mar 23, 2026
bug
proc.kill() on sudo subprocess orphans claude child process
#132 · Mar 23, 2026
bug good first issue
parse_env_file quote stripping corrupts mixed-quote values
#131 · Mar 23, 2026
bug good first issue
CLAUDE_MODEL env var not validated against VALID_MODELS at startup
#130 · Mar 23, 2026
bug good first issue
schedule_data string not validated as JSON before persisting
#129 · Mar 23, 2026
bug
_drain_stderr observes stale self._proc due to ordering in _kill()
#124 · Mar 23, 2026
bug good first issue
TOTP verification blocks asyncio event loop with synchronous subprocess calls
#123 · Mar 23, 2026
bug enhancement
bug
The change_workspace() function mutates state before killing subprocess
#121 · Mar 23, 2026
bug
Test suite contaminates production history files
#118 · Mar 23, 2026
bug documentation
Add consistent multi-user authorization to jobs API endpoints
#113 · Mar 22, 2026
bug enhancement
Deactivate one-shot Claude jobs after firing
#112 · Mar 22, 2026
bug good first issue
Split long cron job responses to respect Telegram message limit
#111 · Mar 22, 2026
bug good first issue
Harden triage prompt against injection via randomized boundaries
#110 · Mar 22, 2026
bug enhancement