KaneCode is a small, personal IDE project for experimenting with new ideas for developing C# software and using local LLMs.
KaneCode is still in development and has many bugs and missing features. But it is capable of developing c# programs, and currently almost all KaneCode development happens in KaneCode
- AvalonEdit editor with syntax highlighting and line numbers
- Roslyn-powered completions, signature help, quick info (hover tooltips), and diagnostics
- Inline rename UI for renaming symbols across files
- Refactoring (Extract Method, Rename, Generate Missing Members, etc.)
- Go to Definition / Go to Implementation / Find References navigation
- Markdown preview panel for markdown files
- Spellchecking in the AI prompt input field
- Solution and project loading (
.sln,.slnx,.csproj) - High-fidelity MSBuild/Roslyn workspace loading
- New project from built-in or custom templates (powered by
Microsoft.TemplateEngine) - NuGet package manager window — browse, search, install, and uninstall packages
- Recent projects tracking for quick re-opening
- Integrated build with output in a dedicated panel
- Run the built application with a stop button
- Error list panel with clickable diagnostics
- Managed .NET debugging with automatic NetCoreDbg setup
- Source and conditional breakpoints, pause/continue, stepping, and run to cursor
- Call stacks, threads, expandable locals, watches, expression evaluation, and variable editing
- Exception and function breakpoints, attach/detach, and restart
- F5 starts debugging; Ctrl+F5 runs without debugging
See the debugger guide for setup, shortcuts, launch profiles, and current limitations.
KaneCode's AI agent supports OpenAI-compatible APIs, Anthropic-compatible Messages APIs (including llama.cpp), and Google Gemini, and uses a variety of tools to complete tasks.
| Category | Tools |
|---|---|
| File I/O | read_file, write_file, edit_file, delete_file, rename_path, create_directory, delete_directory |
| Search | list_files, search_files |
| Build & test | build, run, run_test, get_diagnostics |
| Git | git_status, git_diff, git_log, git_commit, git_stage, git_unstage, git_discard, git_init, git_branches, git_create_branch, git_delete_branch, git_checkout, git_fetch, git_pull, git_push, git_conflicts, git_resolve_conflict |
| NuGet | nuget_search, nuget_info, nuget_install, nuget_uninstall, nuget_list_installed |
| Project | load_project, new_project |
| Presentation | presentation_new, presentation_add_slide |
| Debug | request_tool — agents submit requests for missing tools (saved as .txt in the KaneCode ai-tool-requests folder; no immediate effect, only informs future versions) |
| Utility | run_dotnet |
- Agent mode (default) — full tool-call loop for autonomous code work
- Chat mode — plain conversation without tool access
- Teacher mode — tools for navigating and presenting the codebase
- Application mode — can load and create projects via tools
- Custom mode — user-configurable tool selection
- Thinking block rendering (for models that output reasoning tokens)
- Tool call UI with expandable headers showing filename and argument details
- Streaming content preview with configurable token batching
- Conversation save/load with conversation store
- Context window builder — add files, folders, diagnostics, build output, and Git status as context
- Model selection and per-parameter configuration (temperature, max tokens, etc.)
- Multiple AI providers including OpenAI-compatible endpoints,
/v1/messagesendpoints, and Google Gemini - Malformed tool call recovery and debugging panel for tool failures
- Raw mode to disable response formatting
- Full Git UI panels: Changes, Log, Diff
- Status badges showing branch name and pending changes
- Stage / Unstage / Discard from the Changes panel
- Commit without pre-staging
- Branch creation, deletion, and checkout
- Push / Pull / Fetch
- Merge conflict detection and resolution (accept ours, theirs, or both)
- Git init with automatic
.gitignorecreation
- Dedicated dockable Presentation panel, available from the View menu; floats independently of the editor
- Agents compose preset layouts with
presentation_newandpresentation_add_slide: title, cards, flow, compare, code and media - Real-time Skia playback with staggered entrances, play/pause, seek, replay and reduced motion
- Clickable explanations and slide branches, captured code excerpts with highlighted search matches, project images and inline SVG
- Selectable text and keyboard-accessible interactions in Details; opening source is an explicit user action
- Export the current frame as a 1080p PNG
See presentation authoring for tool examples and limits.
- Fully themed with AvalonDock (dockable tool windows)
- Three built-in themes: Dark, Light, Blue
- Dockable panels: Project Explorer, Error List, Build Output, Git panels, AI Chat, AI Debug, Find References, Markdown Preview
- Panels are recoverable from the View menu
- .NET 8 SDK (or later)