Commit Graph

843 Commits

Author SHA1 Message Date
CA AutoAgent a1b4313f8b fix: address PR review feedback 2026-06-13 14:43:36 +00:00
CA AutoAgent b47c8d94b9 fix: address PR review feedback 2026-06-13 14:19:26 +00:00
CA AutoAgent b8c091a812 fix: change the contributor to CLI-Anything team
Address PR review feedback and maintainer instructions.
2026-06-13 10:18:31 +00:00
yuhao 2348fe586c chore: sync OpenRefine root skill 2026-06-11 11:38:00 +00:00
yuhao ec6814bdfe Merge remote-tracking branch 'origin/main' into feat/openrefine-cli-harness-merge 2026-06-11 11:35:21 +00:00
yuhao 34559d2e15 feat: add OpenRefine CLI harness 2026-06-11 11:31:17 +00:00
Ayasaz 48f0449e18 feat: add cli-anything-jumpserver v0.1.0 harness (#346)
* feat: add cli-anything-jumpserver v0.1.0 harness

- JUMP server bastion host CLI for AI agents and humans
- Covers: assets, users, permissions, accounts, sessions, audit, system
- Uses JumpServer REST API with Token authentication
- 59 unit tests passing (mock backend)
- Includes SKILL.md, registry.json entry, and SOP docs
- Proper agent-harness directory structure following project conventions

* Fix JumpServer harness validation blockers

---------

Co-authored-by: yuhao <itsyuhao@icloud.com>
2026-06-11 19:26:36 +08:00
Yuhao 88fe584cfb feat: add EEZ Studio CLI harness (#334)
* feat: add EEZ Studio CLI harness

* Fix EEZ Studio REPL and backend tests
2026-06-11 19:23:30 +08:00
zyzly0705 ce3712a523 [Live2D] Add editing, linting, batch ops, and workflow commands (v0.3.0) (#313)
* [Live2D] Add LIVE2D.md

* [Live2D] Add setup.py

* [Live2D] Add CHANGELOG.md

* [Live2D] Add cli_anything/live2d/__init__.py

* [Live2D] Add cli_anything/live2d/__main__.py

* [Live2D] Add cli_anything/live2d/live2d_cli.py

* [Live2D] Add cli_anything/live2d/skills/SKILL.md

* [Live2D] Add cli_anything/live2d/core/__init__.py

* [Live2D] Add cli_anything/live2d/core/parser.py

* [Live2D] Add cli_anything/live2d/core/validator.py

* [Live2D] Add cli_anything/live2d/core/scanner.py

* [Live2D] Add cli_anything/live2d/core/motion_parser.py

* [Live2D] Add cli_anything/live2d/core/expression_parser.py

* [Live2D] Add cli_anything/live2d/core/texture_info.py

* [Live2D] Add cli_anything/live2d/core/physics_parser.py

* [Live2D] Add cli_anything/live2d/core/moc3_parser.py

* [Live2D] Add cli_anything/live2d/core/comparer.py

* [Live2D] Add cli_anything/live2d/core/dependency.py

* [Live2D] Add cli_anything/live2d/core/packager.py

* [Live2D] Add cli_anything/live2d/core/template.py

* [Live2D] Add cli_anything/live2d/core/yoyo_pipeline.py

* [Live2D] Add cli_anything/live2d/core/backup.py

* [Live2D] Add cli_anything/live2d/core/linter.py

* [Live2D] Add cli_anything/live2d/core/differ.py

* [Live2D] Add cli_anything/live2d/core/snapshot.py

* [Live2D] Add cli_anything/live2d/tests/__init__.py

* [Live2D] Add cli_anything/live2d/tests/test_core.py

* [Live2D] Add tests/__init__.py

* [Live2D] Add tests/test_validator.py

* [Live2D] Add tests/test_yoyo_pipeline.py

* [Live2D] Add tests/test_new_features.py

* [Live2D] Fix: preserve motion extra fields (Sound etc.), moc3 check strict-only

* [Live2D] Fix: preserve motion extra fields (Sound etc.), moc3 check strict-only

* [Live2D] Fix: preserve motion extra fields (Sound etc.), moc3 check strict-only

* [Live2D] Fix test: non-strict validate passes with placeholder moc3

* [Live2D] Fix: yoyo case-insensitive idle, flatten collision detection, pack missing optional deps

* [Live2D] Fix: yoyo case-insensitive idle, flatten collision detection, pack missing optional deps

* [Live2D] Fix: runtime-check JSON exit code, physics Vertices key

* [Live2D] Fix: runtime-check JSON exit code, physics Vertices key

* feat(live2d): add repo integration - gitignore, registry, root skill

- Add !/live2d/ allowlist in .gitignore (Steps 4/5/6)
- Add cli-anything-live2d entry to registry.json
- Add skills/cli-anything-live2d/SKILL.md for root skill discovery

* fix: address Codex review - flatten JSON output, pack Sound files, texture error handling

1. flatten: run actual flatten before emitting JSON output (--json is output mode, not dry-run)
2. pack: include motion Sound files in package zip
3. texture_info: catch Pillow UnidentifiedImageError for corrupt textures, fall back to header parsing

* fix: finish Live2D v0.3.0 blockers

---------

Co-authored-by: tron <zhangyazhou@yinshantech.cn>
Co-authored-by: yuhao <itsyuhao@icloud.com>
2026-06-11 19:21:50 +08:00
David Myriel 0c2fe65e34 feat: add Tigris CLI harness for S3-compatible object storage (#301)
* add tigris data harness

* use Tigris CLI

* Fix Tigris harness safety and packaging

---------

Co-authored-by: yuhao <itsyuhao@icloud.com>
2026-06-11 19:19:11 +08:00
CAI Jiechao ac62f3802f feat: add CC Switch CLI harness (#310)
* feat: add CC Switch CLI harness

Add CLI harness for CC Switch — a desktop app that manages AI coding tool
configurations (Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw, Hermes).
Reads from the live SQLite database with 7 command groups: providers, proxy,
mcp, skills, usage, settings, sessions. 50 tests (30 unit + 20 E2E) all passing.

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

* fix(ccswitch): harden secret masking and live config writes

* fix(ccswitch): align gemini env writes and json sessions

* fix(ccswitch): cover openclaw listings and nullable usage stats

* fix: restore rekordbox harness gitignore exception

* fix(ccswitch): preserve codex config during provider switch

* Fix CC Switch review blockers

---------

Co-authored-by: cjc-agent <agent@cjc-company.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: yuhao <itsyuhao@icloud.com>
2026-06-11 19:16:09 +08:00
DingXiao 81d9da206c feat: add smithue-cli (Unreal Engine editor CLI) (#338)
* feat: add smithue-cli (Unreal Engine editor CLI)

* Move smithue-cli to public registry

---------

Co-authored-by: yuhao <itsyuhao@icloud.com>
2026-06-11 19:15:48 +08:00
Yuhao a71c672162 Merge pull request #311 from hito0512/feat/add-siyuan-cli
feat: add SiYuan CLI (cli-anything-siyuan)
2026-06-11 18:19:41 +08:00
Yuhao 7fb741ad9e Merge pull request #344 from PaysNatal/feat/reasonix-agent-skill
feat: add Reasonix agent skill adapter
2026-06-11 18:18:57 +08:00
yuhao 59e9f7bc2d Gate SiYuan live subprocess e2e tests 2026-06-11 10:12:45 +00:00
yuhao d1eedc958e docs: clarify Reasonix skill invocation modes 2026-06-11 10:08:24 +00:00
Yuhao 91ff4cbe25 Merge pull request #345 from shinpei710/codex/web-yu-pri-cli
feat: add Web Yu-pri CLI harness
2026-06-11 18:02:56 +08:00
hito 03ae2ea95c fix: sync root skill via sync_root_skills.py to pass validate_root_skills 2026-06-10 09:38:40 +08:00
Locodocoww c4d7e78719 docs: add step budget guidance for subagent builds
Reasonix does not recognize a `max-iters` frontmatter field — the
subagent step budget is derived from the parent's `agent.max_steps`
config in `reasonix.toml` (default 0 = unlimited; finite values yield
parent/2 with min 5). Since a CLI-Anything build typically needs 25–40
tool-call rounds, add a Step Budget section to SKILL.md and a
Configuration Note to README.md advising users to keep `max_steps = 0`
or set it to 64+ to avoid truncation.
2026-06-09 19:01:35 +08:00
Locodocoww f0560fc736 fix: correct CodeGraph tool names and remove isolation promise
- Replace `mcp__codegraph__codegraph_search` / `mcp__codegraph__codegraph_context`
  with `mcp__codegraph__search` / `mcp__codegraph__context` to match Reasonix's
  StripRawPrefix("codegraph_") naming (SKILL.md, README.md, root README)
- Remove "spawns an isolated Reasonix sub-agent" claim from README.md;
  slash command invocation always inlines per Reasonix's RunSkill doc,
  isolation is only via run_skill tool invocation
- Keep `runAs: subagent` in SKILL.md frontmatter (correct declaration
  for run_skill path) but no longer promise isolation for /<name> path
2026-06-09 18:49:11 +08:00
Codex 76ddd41735 fix: address Web Yu-pri review feedback 2026-06-09 10:15:13 +09:00
Yuhao 0a19072f88 Merge pull request #341 from ashaiful/feat/add-openwebui-registry
feat: add OpenWebUI CLI registry entry
2026-06-08 18:27:11 +08:00
Yuhao e4ecd18206 Merge pull request #337 from Manifold68575/feat/add-wavetone-harness
feat: add WaveTone CLI harness
2026-06-08 18:26:31 +08:00
Yuhao d329ef1010 Merge pull request #332 from Liuyaguangzz/fix/codex-skill-self-contained
fix: vendor full methodology resources for Codex skill
2026-06-08 18:24:50 +08:00
Yuhao 3549419169 Merge pull request #308 from apireno/fix/browser-domshell-2.0.0-migration
fix(browser): migrate DOMShell MCP integration to @apireno/domshell 2.0.0
2026-06-08 18:22:49 +08:00
Liuyaguang 96a4983e77 fix: harden Codex skill installer staging 2026-06-08 17:07:03 +08:00
Liuyaguang 31fd544c53 fix: vendor full methodology resources for Codex skill 2026-06-08 17:06:42 +08:00
Codex 0ac0342369 feat: add Web Yu-pri CLI harness 2026-06-08 14:18:29 +09:00
hito 2aef2cbec6 test: add focused tests for search/findReplace/uncapped listings + doc tree/create 2026-06-08 10:47:37 +08:00
Shuhan Zhang f5b2212c84 fix: make WaveTone e2e resolver deterministic 2026-06-07 13:47:17 +08:00
PaysNatal ad12c2f6a5 fix: align Reasonix adapter with current skill runtime 2026-06-06 13:02:41 +08:00
PaysNatal d53eaa54db fix: add runAs: subagent to SKILL.md frontmatter
When installed via the bundled shell scripts, Reasonix reads SKILL.md
directly from ~/.reasonix/skills/cli-anything/SKILL.md. Without runAs:
subagent in the frontmatter, the skill defaults to inline mode, which
runs the entire CLI-Anything workflow in the parent session instead of
in an isolated sub-agent as documented in README.md.

The install_skill API path already included this field (passed as a
parameter), but the source SKILL.md file was missing it, causing
inconsistent behavior between the two installation methods.
2026-06-06 01:04:08 +08:00
PaysNatal c900dceacf feat: add Reasonix agent skill adapter
Add a new agent adapter for the Reasonix coding agent, following the
same pattern as the existing Codex and Hermes skill adapters.

New files:
- reasonix-skill/SKILL.md — full CLI-Anything methodology mapped to
  Reasonix's tool ecosystem (bash, write_file, edit_file, multi_edit,
  grep, glob, mcp__codegraph__*, task, web_fetch)
- reasonix-skill/agents/reasonix.yaml — agent interface metadata
- reasonix-skill/scripts/install.sh — macOS/Linux installer
- reasonix-skill/scripts/install.ps1 — Windows PowerShell installer
- reasonix-skill/README.md — installation and usage documentation
- reasonix-skill/REASONIX_SKILL_INSTALL.md — install_skill API reference

Modified files:
- .gitignore — allow reasonix-skill/ directory
- README.md — add Reasonix to supported agent list, project structure,
  quick-start prerequisites, and Works with line
2026-06-06 00:28:46 +08:00
Shuhan Zhang 69622005a4 fix: mirror WaveTone root skill 2026-06-05 18:07:27 +08:00
abul.shaifullah 97269b17e5 feat: add OpenWebUI CLI registry entry 2026-06-04 17:16:34 -05:00
apireno a87647e07c fix(browser): R4 bot-cleanup — surface ls/grep errors, lock _daemon_lane_id, exc_info, HARNESS.md drift
Codex P2 + Copilot review of 5790651. One real correctness bug
(error visibility in non-JSON CLI), three defensive cleanups
(thread-safety, log traceback, doc drift). Pre-existing items
already tracked as #327, #328; two more filed as new follow-ups.

  1. browser_cli.py fs_ls + fs_grep non-JSON branches now check
     "error" in result before falling into the empty-collection
     "No elements"/"No matches" path. Mirrors fs_cd. Without this,
     `fs ls /nonexistent` displayed "No elements at /nonexistent"
     instead of DOMShell's "No such directory" error. (Codex P2)

  2. domshell_backend.py _daemon_lane_id capture wrapped in a
     threading.Lock; the test-and-set race on the `is None` check
     moved inside the lock. Cheap defensive measure for any future
     concurrent caller of _call_execute. (Copilot ×3)

  3. domshell_backend.py daemon-failure log.warning now carries
     exc_info=True so the traceback shows up in diagnosability
     output. (Copilot)

  4. HARNESS.md dropped the stale `group_id="shared"` reference
     (removed in 5790651's R3 fix) and replaced with accurate
     _daemon_lane_id-based wording for daemon-no-session callers.
     The split-and-check table accuracy (separate pre-existing item)
     stays scoped to #328. (Copilot)

Tests: 193 passing locally (was 191 + 2 new for ls/grep error
visibility).

Cc @yuh-yang

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-04 12:43:36 -04:00
apireno 57906517ab fix(browser): R3 — restore fs cat root, daemon lane capture, grep hyphen guard
Address @yuh-yang's three R3 blockers on PR #308. All three land in this PR;
the grep parser issue (blocker 3) takes Path B — Python-side rejection with
a clear error message — while the real parseArgs `--` work goes upstream to
a future DOMShell release.

  1. fs cat at root no longer raises Python ValueError before reaching
     DOMShell. The absolute-root guard added in round 5 was overreaching —
     it converted DOMShell's standard "Usage: cat <name>" error into a
     Python exception. Guard removed; cat '' now reaches the kernel and
     surfaces DOMShell's own error string, restoring pre-migration
     behavior. Stale "should raise" tests flipped to "should not raise +
     return parseable error result".

  2. Daemon-mode/no-session lane handling is now consistent across daemon-
     alive and daemon-dead paths. The previous "shared" branch (commit
     99d1182) claimed per-connection-default stickiness that doesn't hold
     when _daemon_session is None and each call spawns a fresh
     ClientSession. Replaced with a module-level _daemon_lane_id captured
     on the first daemon-no-session call and reused on every subsequent
     call. Works in both paths: alive daemon reuses the id on its
     persistent connection; dead daemon's fresh spawns swapToAgentLane()
     into the existing Chrome tab-group by id (groups persist across
     MCP session boundaries). Stale-lane failure mode (user closes the
     group manually) propagates DOMShell's own error — same shape as the
     session-bearing path. Replaces the previous-round "shared" test
     with first-call-captures + subsequent-calls-reuse tests.

  3. Hyphen-prefixed grep patterns now raise a clear Python-side
     ValueError instead of silently failing at DOMShell. The current
     DOMShell parseArgs treats any arg starting with "-" as a flag —
     no "--" separator, no -e <pattern> form — so `grep -r -- -foo`
     and `grep -r -e -foo` both fail at the kernel. Tracked upstream as
     a parser-limitation issue; the real fix ships with the next
     DOMShell release that already justifies a Chrome Web Store
     submission. Until then, the wrapper rejects the input with
     guidance instead of letting it silently fall through.

191 passing locally (was 189 + 4 new tests - 1 deleted shared-lane test -
1 old cat-root test replaced).

Cc @yuh-yang

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-04 11:23:04 -04:00
Yuhao f23e051a05 Merge pull request #321 from hiSandog/fix/click-name-parsing-20260531
Fix skill generator Click name parsing
2026-06-04 19:56:57 +08:00
Yuhao 12572c65dd Merge pull request #336 from dreamor/add-cloakbrowser-to-registry
feat: add CloakBrowser CLI to public registry
2026-06-04 19:55:11 +08:00
Yuhao efa324e1fe Merge pull request #335 from Rubiadragon/fix/godot-validate-script-exit-code
fix(godot): detect GDScript parse errors via stderr in validate_script
2026-06-04 19:53:59 +08:00
陈家名 88ef85726a fix(review): detect decorated Click root groups 2026-06-04 15:20:30 +08:00
Scott 71ffab6569 fix: remove SKILL.md from CLI-Anything repo root
The SKILL.md file should not exist in this repo — it is maintained
in the upstream CloakBrowser CLI project and referenced via skill_md
URL in public_registry.json. Removing it from this PR.
2026-06-04 14:31:28 +08:00
Rubiadragon 34f762448d test(godot): add regression tests for stderr parse-error detection
Per review on #335: mock the Godot backend with returncode == 0 and a
parse-error marker in stderr, assert validate_script reports valid=False
and surfaces stderr in errors. Also cover the positive zero-stderr case,
benign stderr noise (warnings), and the nonzero-returncode path.

Verified the parse-error test fails against the pre-fix validate_script
(returncode-only check) and passes with the stderr scan.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 16:38:38 -03:00
Shuhan Zhang b19f49215e fix: tighten WaveTone harness validation 2026-06-03 19:18:58 +08:00
Shuhan Zhang 5281bec239 fix: gate WaveTone backend tests by opt-in 2026-06-03 18:22:37 +08:00
yuhao 743952b735 docs: add tech report citation 2026-06-03 10:19:26 +00:00
Shuhan Zhang 2dce93b815 fix: preserve WaveTone analysis flag defaults 2026-06-03 17:28:25 +08:00
Shuhan Zhang b3c5fe1cd3 fix: report WaveTone launch runtime errors 2026-06-03 17:19:53 +08:00
Shuhan Zhang 94d2550b42 fix: harden WaveTone JSON validation 2026-06-03 17:07:59 +08:00
Shuhan Zhang b9922e92a6 fix: validate WaveTone manifest numbers and REPL paths 2026-06-03 16:48:13 +08:00