Commit Graph

18 Commits

Author SHA1 Message Date
kler d8915a5bbe Choose Claude Code's folder per AI, so each can use another account (#664)
Each Claude Code AI can have its own folder (CLAUDE_CONFIG_DIR) in Settings → AI or with craft-anything-cli ai folder, so each can use a different account; the sign-in check, runs and sessions use that folder.
2026-11-04 02:58:40 +07:00
Ryan Missel 87174476d9 Add Copilot CLI support and shared agent investigations (#455)
GitHub Copilot CLI can be a coding agent over ACP, with its models chosen through the shared agent model catalogue; options that could bypass the app's tool restrictions are refused, and agents share investigation findings safely.
2026-11-04 00:29:11 +07:00
Matthias Bodsch 1d66a6ba4b Choose OpenCode models and thinking depth locally or over SSH (#413)
OpenCode can be chosen as a coding agent locally or over SSH, with the chat models its installation offers and the thinking depths each supports.
2026-11-03 19:53:16 +07:00
BFlat e1d1974468 Keep a prompt's pictures when Up brings it back (#570)
Supersedes #216. A prompt brought back with Up keeps the pictures it was sent with. feed.json moves to version 3: a User item with pictures is saved as {text, pictures}, one without stays a plain string, so older files read as before. Picture paths are absolute, so they don't come back after the project is moved.

Co-authored-by: muraa-p <muraa-p@users.noreply.github.com>
2026-11-03 15:41:21 +07:00
frankyef 549ae5e29a Give runtime_captures_compare object schemas so Claude Code keeps every MCP tool (#490)
runtime_captures_compare's left and right parameters are declared as a string or an object instead of a boolean schema, which made Claude Code drop every tool from the MCP server; on the command line a JSON object passed to them stays an object.
2026-11-03 15:09:00 +07:00
NetterSilver a094ed23a9 Fail builds when required Windows resource embedding fails (#427)
The app build scripts stop the build when required Windows resources fail to embed (cargo::error instead of the ignored cargo:error). Fixes #264.
2026-11-02 23:40:59 +07:00
zeller-lorenz ea8f4b82b8 Claude's effort goes up to xhigh and max, chosen in Settings → AI and the CLI (R2.9) (#395)
Claude's effort goes up to xhigh and max. A model without a level gets the nearest one below it. The level is chosen in Settings → AI or with craft-anything-cli ai effort, and over SSH it reaches the other computer. R2.9.
2026-11-02 23:08:12 +07:00
NetterSilver 9896e18c28 Stop advising report --format in the CLI help (#419)
The CLI help no longer suggests report --format; it points to report --html. Fixes #254.
2026-11-02 22:28:24 +07:00
BFlat a9121b3cf3 The CLI's capabilities list keeps Clean room's refusal of target tools (#323)
`craft-anything-cli capabilities` lists each tool with `available`, `needs_target` and `reason`. To show target tools as usable before anything is open, it marked every target tool available and dropped its reason. That also covered tools Clean room refuses, so in Clean room `native_function_pseudocode` read as available with no reason, though the engine refuses it.

Only the "nothing is open yet" refusal is waived now. A target tool the mode refuses keeps `available: false` and its Clean room reason, with `needs_target: true` as before. In Deep mode nothing changes.

**Verified:** a new CLI test runs `capabilities` in Clean room (the tool is unavailable with a reason) and with `--deep` (available, no reason). `cargo test -p craft-anything-cli` and clippy pass.

Fixes #249
2026-11-02 14:59:34 +07:00
BFlat e4d43abe14 Choose the model an AI uses in Settings → AI (#145)
Settings → AI shows each AI's model with Change…, listing the API's own models or Claude's models for Claude Code; craft-anything-cli ai model <name> [model] lists or sets it. Fixes #123 and #127.
2026-11-02 03:06:40 +07:00
BFlat 8ea06bb6fb Add an AI by its address in Settings → AI (#137)
Settings → AI gets an Add an AI by its address form; AiHub::add_server asks the server for its models before adding it and picks one that can chat when none is named; ai add --kind openai_compatible --base-url without --model does the same. Fixes #54, #98 and #128.
2026-11-02 02:32:11 +07:00
BFlat 1a199ec531 Choose an agent app's program in Settings → AI (#117)
Each local agent app in Settings → AI shows which program runs it, with Choose… and Find it automatically; craft-anything-cli ai program <name> [path] does the same. The not-installed errors point there instead of a setting that didn't exist.
2026-11-02 00:32:39 +07:00
Tommy Leonhardsen 63aaaeeb08 Every engine listing finds a Ghidra installed in a versioned folder or set through its folder setting (#55)
engines_list, doctor, capabilities and Requires::Engine share Settings::engine_path, which honours the Ghidra folder setting, and locate() finds an engine unpacked into a versioned sub-folder.
2026-11-01 18:40:51 +07:00
Brandon Thomas 4756633f89 Show what a build is on now, and open up into its activity as it arrives (#10)
The status row names the command or file under way instead of only counting
actions. "More detail" opens the latest lines: stages, every command and file
with how it ended, what the builder said, and what programs printed outside the
conversation. Everything is kept in build-activity.log, with secrets hidden, and
the rebuild_activity_show tool and the CLI read the same.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 21:12:56 -04:00
Brandon Thomas e244159c17 Call a coding agent's cost an estimate, not the bill (#9)
Claude Code's figure is its own guess at API prices, which a subscription
isn't charged. The project page now says "AI cost (estimate)" with a note
saying so, and the title bar says "(estimate)". What an API key was charged
is kept apart in usage.json; older files count as estimates.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 21:04:01 -04:00
Brandon Thomas 292d5af06e Stop deadlocks as they form and watch every lock for one that never lets go (#5)
* Stop deadlocks as they form and watch every lock for one that never lets go

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Give the stuck-lock banner's test a program of its own

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 20:28:16 -04:00
Brandon Thomas 6a120011a1 Explain failed agent runs, keep a log to open, and stop offering git servers as computers (#3)
* Explain failed agent runs, keep a log to open, and stop offering git servers as computers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix a lock-up: the build's agent setup took the session lock twice in one statement

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 20:27:44 -04:00
Brandon Thomas f64ae3bf3c Craft Anything
A native, pure-Rust app that shows anyone how a piece of software works, with
evidence-backed answers, then helps them rebuild it. It ships a desktop app, a
CLI and an MCP server, all driven by one engine.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:52:14 -04:00