Commit Graph

222 Commits

Author SHA1 Message Date
yuhao bb512aba44 fix cli-hub-skill 2026-03-23 17:17:40 +00:00
yuhao 92b366d562 fix cli-hub-skill 2026-03-23 17:11:14 +00:00
yuhao 513c6f1970 fix cli-hub-skill 2026-03-23 17:05:48 +00:00
yuhao c104e1f050 refine cli-hub-skill 2026-03-23 17:00:15 +00:00
yuhao 2aad6c310b refine cli-hub-skill 2026-03-23 16:55:55 +00:00
yuhao 90d16e2506 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-03-23 16:52:22 +00:00
yuhao 24e2919af6 refine cli-hub-skill 2026-03-23 16:51:51 +00:00
Yuhao ffa52388ee Merge pull request #123 from zhangxilong-43/feature/add-sketch-harness
feat: add sketch harness
2026-03-24 00:26:44 +08:00
yuhao a81d5b2c0e launch meta-skill for cli-hub 2026-03-23 16:20:30 +00:00
Xiloong Zhang 30a32b19f7 Merge branch 'main' into feature/add-sketch-harness 2026-03-23 21:23:20 +08:00
Yuhao 6684b5789e Merge pull request #124 from Okyumi/feat/complete-skill-md-coverage
feat: add missing SKILL.md for adguardhome, comfyui, mermaid + fix setup.py + expand test coverage
2026-03-23 15:28:37 +08:00
Yuhao 3e347d1335 Merge pull request #117 from tamvicky/feat/add-musescore-cli
feat: add MuseScore 4 CLI wrapper for music notation
2026-03-23 15:27:52 +08:00
Yuhao b927e7c2c5 Merge pull request #122 from HKUDS/omerarslan0-patch-1
feat: Update registry.json
2026-03-23 15:26:56 +08:00
Vicky Tam e31eac6b76 Merge remote-tracking branch 'upstream/main' into feat/add-musescore-cli
# Conflicts:
#	.gitignore
2026-03-23 04:13:34 +09:00
Vicky Tam 02b55a7d48 fix: replace sia-snowman test fixtures with royalty-free twinkle-twinkle
E2E tests referenced test-mscore/sia-snowman/ which was not committed
in the PR. Switch to royalty-free "Twinkle Twinkle Little Star" scores
stored in tests/fixtures/twinkle-twinkle/, keeping fixture paths simple
and co-located with the test files.
2026-03-23 03:44:52 +09:00
Yuhao 175d3b46a9 Merge pull request #120 from lan-kehan/feat/copilot-support
docs: add Copilot CLI support
2026-03-23 00:48:47 +08:00
Ömer a693f5bbcc Merge pull request #128 from warren618/fix/repl-shlex-split 2026-03-22 19:41:01 +03:00
Yuhao 1be706e4ee Merge pull request #118 from furkankoykiran/feat/browser-domshell-mcp-harness
feat: add Browser automation CLI via DOMShell MCP server
2026-03-23 00:37:48 +08:00
warren618 68241f9c30 fix(repl): use shlex.split for REPL input parsing across 9 harnesses
Replace str.split() with shlex.split() in the REPL loop of 9 harnesses
(Blender, Audacity, Inkscape, KDenlive, LibreOffice, OBS Studio, Ollama,
Zoom, ComfyUI) to correctly handle quoted arguments containing spaces.

The GIMP harness already uses this pattern. A ValueError fallback to
str.split() is included for malformed quotes.

Fixes HKUDS/CLI-Anything#127
2026-03-23 00:24:07 +08:00
Okyumi 4bb6109b84 feat: add missing SKILL.md for adguardhome, comfyui, mermaid + fix setup.py + expand test coverage
Three harnesses shipped without the SKILL.md skill definition introduced
in Phase 6.5, and their setup.py files lacked the package_data entry
needed for pip install to include the skill file.  This means agents
cannot discover these CLIs through the standard skill system.

Changes:

- Add skills/SKILL.md for adguardhome (12 command groups, 36+ commands)
- Add skills/SKILL.md for comfyui (5 command groups: workflow, queue,
  models, images, system)
- Add skills/SKILL.md for mermaid (4 command groups: project, diagram,
  export, session)
- Fix adguardhome/setup.py: add package_data and include_package_data
- Fix mermaid/setup.py: add package_data and include_package_data
- Fix comfyui/setup.py: add package_data for skills (was missing despite
  include_package_data=True already being set)
- Add comfyui to .gitignore allow-list (was tracked before the gitignore
  was tightened, but new files could not be added)
- Expand test_skill_path.py HARNESSES list from 11 to all 18 harnesses
- Fix test assertion to accept mubu-style explicit SKILL.md reference
  alongside the glob pattern used by other harnesses

Test results: 79 passed (was 51 tests covering only 11 harnesses)
2026-03-22 14:17:13 +00:00
Xilonng Zhang 3857d375e1 feat: add sketch harness 2026-03-22 21:07:54 +08:00
Kehan Lan f6f612b05f docs: fix typo in README_CN.md 2026-03-22 18:28:17 +08:00
Furkan Köykıran d8055f4421 fix(browser): improve error message and document daemon limitation
The DOMShell error message said "Install with" but npx doesn't actually
install packages, it runs them. Clarified the message. Also added a
known limitation comment about daemon mode using asyncio.run() per call,
which creates new event loops - to be addressed in a future PR.
2026-03-22 13:27:40 +03:00
Furkan Köykıran 2e99c4ff69 fix(docs): add missing import to code example
The _call_tool example used -> Any type annotation without showing
the required `from typing import Any` import.
2026-03-22 13:27:35 +03:00
Furkan Köykıran c341c00100 fix(tests): update mocks to match backend API changes
Tests were patching backend.open_url but the code now calls
backend.back() and backend.forward() directly. Updated mocks
to patch the correct functions.
2026-03-22 13:27:29 +03:00
Furkan Köykıran 5f20c5970e fix(tests): add proper assertions to e2e tests
test_daemon_start_with_json had a silent JSONDecodeError pass that
would hide regressions. test_invalid_path_gives_error ended with
assert True which doesn't verify any actual behavior.
2026-03-22 13:27:18 +03:00
Furkan Köykıran 827e5e0743 fix(browser): only update working_dir when backend cd succeeds
The change_directory function was updating session.working_dir even
when the backend returned an error. This could leave the session in an
invalid directory state and break subsequent relative-path operations.
2026-03-22 13:27:14 +03:00
Furkan Köykıran daa6001c01 fix(browser): redact sensitive text from act type output
The act type command was echoing the full text value in non-JSON mode,
which could leak passwords or PII into terminal scrollback and logs.
Now only outputs the target path without the typed text.
2026-03-22 13:27:09 +03:00
lonelygod909 c02b97b0ce docs: fix small consistency issues 2026-03-22 18:20:15 +08:00
Ömer 9614e6880b Update registry.json 2026-03-22 13:05:25 +03:00
yuhao 552393b2fb update README 2026-03-22 09:57:58 +00:00
yuhao 5890ba82a0 update README 2026-03-22 09:56:18 +00:00
Furkan Köykıran e23cd945e0 fix(browser): update contributor to furkankoykiran in registry.json 2026-03-22 12:55:43 +03:00
yuhao c9b4e9695a fix: restore project_path on undo/redo in session snapshots
Store project_path in undo/redo stack entries so that reverting a
mutation correctly points the session back to the original input file,
preventing the next command from reading the wrong file when input and
output paths differ.
2026-03-22 09:49:22 +00:00
yuhao ba74aac37b fix CLI-Hub 2026-03-22 09:43:30 +00:00
yuhao 3e10b0ab2d fix CLI-Hub 2026-03-22 09:36:34 +00:00
yuhao 776569427f fix github pages build workflow 2026-03-22 09:28:36 +00:00
yuhao b8b21ffe43 update CLI-Hub 2026-03-22 09:21:50 +00:00
Kehan Lan 4437ff57cc Update README_CN.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-22 17:09:13 +08:00
Kehan Lan ba42c94af6 docs: rename "Copilotcli" to "GitHub Copilot CLI" and fix <details> tags in README_CN.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Kehan Lan <lonelygod909@gmail.com>
2026-03-22 17:05:07 +08:00
yuhao 501931c5e3 fix: make MuseScore undo/redo functional by updating session state
Commands now reload project metadata from output files after backend
operations, ensuring session.project_data reflects actual changes.

Previously, snapshot() captured state before mscore operations, but
project_data was never updated afterward—undo restored unchanged
metadata. Now all mutation commands (transpose, add/remove/reorder
instruments) update session state from the output file.

Fixes the issue identified in PR review where undo/redo was
scaffolding-only for backend-driven harnesses.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 08:58:59 +00:00
lonelygod909 306f0653e7 docs: add Copilot CLI support 2026-03-22 15:48:57 +08:00
Furkan Köykıran 6129577587 fix(docs): correct npx installation command
Change from invalid "npx install -g npx" to "npm install -g npx" for
correct npx installation instructions.
2026-03-21 21:55:50 +03:00
Furkan Köykıran b88b5458ec fix(docs): clarify daemon mode and state persistence behavior
Update documentation to clarify that daemon mode works within a single
process (REPL or --daemon flag) and that state does not persist across
separate CLI invocations.
2026-03-21 21:55:45 +03:00
Furkan Köykıran a41c5be3bc fix(docs): correct command name from cli-autocomplete-browser
Fix typo in daemon stop command name from cli-autocomplete-browser
to cli-anything-browser.
2026-03-21 21:55:38 +03:00
Furkan Köykıran a8fd4d6f98 fix(tests): use DOMSHELL_E2E environment variable for test gating
Avoid invoking npx during test collection by requiring DOMSHELL_E2E=1
environment variable. This prevents unwanted side effects when running
pytest in environments without DOMShell.
2026-03-21 21:55:31 +03:00
Furkan Köykıran 017a6ce6f1 fix(backend): fix daemon lifecycle to properly cleanup subprocess
Store the stdio_client context manager to ensure proper cleanup
when stopping daemon mode. Previously, __aexit__ was called on a new
instance, causing subprocess leaks.
2026-03-21 21:55:19 +03:00
Furkan Köykıran 1dfce3127b fix(page): use backend.back() and backend.forward() MCP tools
Instead of reconstructing navigation via open_url(), directly use the
DOMShell MCP tools for back/forward navigation. This ensures
proper browser history tracking.
2026-03-21 21:54:53 +03:00
Furkan Köykıran 99ff7438d8 fix(browser): skip dependency check for --help/--version
Allow --help and --version flags to work without DOMShell installed.
This aligns with other CLI-Anything harnesses where help is always available.
2026-03-21 21:54:37 +03:00
Furkan Köykıran 5fa31fc122 feat: add Browser automation CLI via DOMShell MCP server
Implement filesystem-first browser automation using DOMShell's MCP
server. Maps Chrome's Accessibility Tree to a virtual filesystem
for agent-native navigation with ls, cd, cat, grep, click commands.

Key features:
- MCP backend pattern (first in CLI-Anything)
- Daemon mode for persistent connections
- Page state management (URL, working directory, history)
- Filesystem-first commands (fs, page, act, session)
- Comprehensive test coverage (31 unit tests, 10 E2E tests)

Resolves #90
2026-03-21 21:28:18 +03:00