A Flutter-based IDE with agentic tool system for local and cloud LLM integration, supporting file operations, git commands, shell execution, and task planning.
CubicLM provides 12 tools with explicit schemas and descriptions, but quality is inconsistent. Naming follows verb_noun convention well (read_file, write_file, git_commit). Descriptions are present but often generic, many lack context on WHEN to use the tool or what happens on failure. Schemas are properly typed with required fields, but parameter descriptions are minimal (averaging ~40 chars vs. baseline 72). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk categories. Error handling is absent, no guidance on recovery, retryability, or actionable error messages. Output schemas are not documented. The todo_* tools lack pagination despite accepting arrays. Overall: functional but below production baseline.
Replace exact text in a file. The old_text must match exactly (including whitespace and indentation).
Stage all changes and create a git commit with the given message.
Show git diff for the workspace. Unstaged changes by default; set staged=true for staged changes; path limits to one file.
Show recent commit history (one line per commit) for the workspace.
Show git working-tree status (branch + short file list) for the workspace.
List files and directories at a path. Returns names with / for directories.
Read the content of a file. Returns the full text content.
Execute a shell command in the workspace directory. Returns stdout, stderr, and exit code. Use for: building, testing, installing packages, git operations.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk categories. LLMs cannot infer safety properties from risk labels alone.
Parameter descriptions are minimal (avg ~40 chars vs. baseline 72). E.g., 'path' in read_file lacks context on absolute vs. relative, symlink handling, or size limits.
No output schemas documented. LLMs cannot plan downstream calls or extract structured data. E.g., search_code returns 'matching lines' but format is unspecified.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
Search for a text pattern across files in the workspace. Returns matching lines with file paths and line numbers.
Read the current task plan.
Set the task plan (replaces the whole list). Break work into small steps, mark exactly one in_progress at a time, flip to completed as you finish. The user sees this list live.
Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Creates parent directories automatically.
No error handling guidance. Tools like run_command (timeout_seconds max 300) and write_file (disk full, permission denied) lack recovery hints or error categorization.
todo_write accepts array of todos but no pagination or batch limits documented. Large task lists could exceed context windows.