@izqut/izcode
v0.1.8
Published
AI coding assistant CLI with OpenAI-compatible tool calling
Maintainers
Readme
izcode
izcode is a TypeScript CLI coding agent for OpenAI-compatible models. It supports tool calling, local project sessions, @path mentions, smart file discovery, targeted region editing, safety modes, undo, and Plan Mode.
Install
npm install
npm run build
npm linkAfter linking:
izcodeOn startup, izcode now renders a styled IZCODE terminal banner and status panel (mode/model/permission/trace/session).
Long-session context management:
izcodenow auto-compacts long conversation history into a checkpoint summary when context grows too large.- It keeps recent user turns in full and compresses older turns, reducing context overflow risk during long task execution.
- Compaction events are visible in trace logs.
Configuration
On first run, izcode creates:
- A local web setup page opens automatically in your browser so you can fill settings there.
- If browser setup is unavailable, it falls back to terminal prompts.
~/.izcode/settings.jsonapiKeybaseURLmodelpermissionMode(safeorautonomous)
Per project, izcode creates:
./.izcode/sessions/*.json(chat sessions)./.izcode/current_session.json(current session pointer)./.izcode/undo/(write backups for/undo)
Commands
/helpshow command list/modeswitch betweenagentandplanmode explicitly/planenter or exit plan mode/initscan project and create/updateIZCODE.md/tracetoggle or set trace (on|off|minimal|normal|verbose)/resumeload previous session/clearclear current session context/permissionchoosesafeorautonomous/undorevert last file write/newstart a new session/exitsave and quit
Input UX:
- Slash commands have real-time suggestions while typing.
- Type
/to list commands; type/pto narrow to/permission. @references also have real-time suggestions; type@ito list matching files/folders.- Input prompt shows inline mode/help hints for smoother flow.
- Use
Up/Downto select,Tabto complete, andEnterto submit. - In
@suggestions,Enteralso completes the selected path (does not auto-send). - Press
Escto hide current@suggestion list. - Use
Shift+Tabto quickly toggle Plan Mode. - Live trace is on by default (
normal) so you can see model/tool/file-operation progress in real time. - While waiting for model response, loading animation is shown. If the model is reasoning-capable, it shows
🧠 thinking.... - For explicit "run/execute" requests, the agent now prefers real tool execution (especially shell) over manual-only instructions.
- If a first model pass returns no tool calls on an execution request,
izcodeautomatically retries once with required tool-calling. - For long-running commands (for example local dev/http servers),
izcodestarts them in background and returns terminal control quickly.
Plan Mode
Plan Mode is planning-first workflow:
- Enter via
/planorShift+Tab. - The agent can ask interactive questions using:
- single choice
- multi choice
- free-text input
- In plan mode, mutating actions are blocked (
writeFile,replace_in_file,replace_in_region,run_shell_command). - The agent returns a complete plan.
- Then you confirm:
Yes=> exit plan mode and execute approved planNo=> exit plan mode and wait for your next command
- While waiting on model responses, press
Escto stop the current in-flight task.
Context References
Use @path in prompt text, for example:
@src/index.ts@src/
@ entries are treated as path mentions only (Codex-style): they do not inject full file content into prompt.
If an @ token is incomplete (for example @src/uti), izcode opens an interactive file/folder picker to complete it.
For precise large-file changes, the agent is expected to use:
find_in_fileto locate target line rangesread_file_regionto read only needed sectionsreplace_in_regionfor minimal scoped edits
IZCODE.md Rules
izcode supports project rule files via IZCODE.md:
- Run
/initto generate or update a project-levelIZCODE.md. /initnow generates AGENTS-style repository guidance sections:Project Structure & Module OrganizationBuild, Test, and Development CommandsCoding Style & Naming ConventionsTesting GuidelinesCommit & Pull Request Guidelines
/inituses current LLM config to analyze project snapshot and produce concise, actionable bullets, with automatic local fallback heuristics when LLM analysis fails.- Snapshot metadata (project type, primary languages, detected stack, scan count) is embedded for traceability.
- During
/init, a live loading indicator is shown while scanning/analyzing. - Existing file is merged/updated (auto-generated repository-guidelines block is refreshed, user rules are preserved).
- At runtime, rules are loaded automatically:
- project root
IZCODE.mdis applied - nested
IZCODE.mdfiles (for mentioned paths) override root rules
- project root
- Loaded rule sources are shown in trace output and injected into system prompt.
Smart File Discovery
The agent can discover likely files by intent using find_relevant_files.
Examples:
agent> fix the login bug
agent> add logging to database queries
agent> update the API endpoint for users