forge check drives the diagnostics you see as you type, and every Forge operation is available without leaving the IDE.
Studio is under active development. Features and UI are subject to change as
the language and toolchain mature. Consult the release notes for your
installed version for the definitive list of supported capabilities.
Features
Editing and navigation
Syntax highlighting
Full syntax highlighting for
.ak source files, kairo.toml manifests,
and forge.lock.Navigation
Go-to-definition, find-all-references, and symbol search across the entire
package (or workspace).
Search
Full-text and symbol-aware search scoped to source, tests, or the whole
workspace.
Formatting
Automatic code formatting and non-semantic hygiene fixes on save or on
demand.
Diagnostics and completions
Studio keeps its diagnostic view continuously aligned with Forge semantics. The errors and warnings you see in the editor are the same diagnosticsforge check produces — there is no separate “Studio linter” with different rules.
- Live diagnostics — errors, warnings, and notes appear inline as you edit, sourced from the same analysis pipeline as Forge.
- Completion — context-aware suggestions for identifiers, module members, keywords, and import paths.
- Signature help — function parameter hints displayed as you type call expressions.
- Hover info — type information, documentation, and declaration details on hover.
Refactoring
Studio supports safe, preview-first refactoring operations that update all affected references across the package or workspace before making any change:Rename
Rename any symbol — function, type, module, variable — and Studio
propagates the change to every reference, including import paths and
cross-file usages.
Move
Move a declaration to a different module or file. Studio updates all
import paths and references automatically.
Scaffolding and templates
Studio provides template and scaffolding workflows to help you create new packages, modules, and common code patterns without writing boilerplate by hand:- Create a new application or library package from a template, with
kairo.tomlpre-populated. - Add a new module file with the correct declaration stub and file name convention.
- Generate test stubs for existing modules.
Forge workflow integration
You can trigger every Forge command from within Studio without switching to a terminal:
Studio also surfaces Forge diagnostics inline — if
forge build produces an error in a source file, Studio highlights the relevant line and shows the FRG, SYN, or BCK diagnostic code alongside the message.
Studio does not bypass
forge.lock or any other package resolution rules
when invoking Forge. Every build triggered from within Studio is governed by
the same deterministic pipeline as a manual forge build on the command line.Debugging
Studio includes a debugging UX for stepping through Kairo application execution:- Set breakpoints in source files.
- Inspect local variables, call stacks, and execution state at breakpoints.
- Step over, step into, and step out of function calls.
- Evaluate expressions in the context of a paused execution.
Project view
Studio’s project view distinguishes between different categories of files so you always know what you own and what is generated:Rooting Studio at your project
Studio must be rooted at the right file to provide full package-aware tooling:- Single-package project — open the directory containing
kairo.toml. Studio will discover and index the package. - Multi-package workspace — open the directory containing
workspace.toml. Studio will discover all member packages and show them in a unified project view, with cross-package navigation and refactoring working across the whole workspace.
Extensions
Studio supports extensions that add new capabilities to the IDE — additional language support, custom views, external tool integrations, and more. Extensions may augment Studio’s behaviour, but they operate within firm boundaries:- Extensions cannot redefine language semantics, type-checking rules, or build behaviour.
- Extensions cannot change how Forge resolves dependencies or produces artifacts.
- Extensions cannot alter Pulse runtime contract handling.
- Extensions must respect Studio’s policy of no silent source mutations.
Next steps
Forge
Learn the full Forge command suite that Studio orchestrates.
Overview
Understand the package structure and project layout Studio is built around.
