Skip to content

feat(cli): add CLI Apps for CLI-Anything integrations - #3963

Merged
Re-bin merged 1 commit into
mainfrom
codex/cli-apps-mvp
May 22, 2026
Merged

Re-bin merged 1 commit into
mainfrom
codex/cli-apps-mvp

Conversation

@Re-bin

@Re-bin Re-bin commented May 22, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

This PR adds a first-pass CLI Apps capability surface for nanobot, backed by the official CLI-Anything registry and public registry.

The goal is to let users install app-specific CLI adapters from Settings, mention installed apps with @app in chat, and give the agent a controlled run_cli_app tool for those installed adapters.

What Changed

  • Added a backend CLI Apps service that fetches, merges, caches, and status-checks CLI-Anything registry entries.
  • Added Settings endpoints for catalog browsing plus install, update, uninstall, and test actions.
  • Added a native run_cli_app tool that only runs installed registry CLIs through argv subprocess execution.
  • Added generated workspace skills for installed CLI Apps so the agent can discover app-specific usage guidance.
  • Added a WebUI Settings section for searching, filtering, installing, testing, updating, and uninstalling CLI Apps.
  • Added installed-only @app mentions in chat, including app logos/effects in the composer, message transcript, and tool activity UI.
  • Added curated brand/logo metadata for common CLI-Anything apps and provider settings surfaces, with fallback rendering when no logo is available.

CLI-Anything Integration

  • Registry data is read directly from CLI-Anything JSON metadata instead of importing cli-anything-hub at runtime.
  • Real CLI-Anything SKILL.md content is used when available from trusted CLI-Anything paths; otherwise nanobot generates a small fallback skill from registry metadata.
  • This keeps CLI-Anything as the ecosystem source of truth while keeping nanobot's runtime integration small and explicit.

Safety / Scope

  • Installing or uninstalling manages nanobot CLI adapter state and supported CLI packages only; it does not install or remove the parent desktop/web app.
  • Settings mutation endpoints require WebUI auth and only accept names present in the merged registry.
  • The MVP supports safe pip, npm, brew, uv, and bundled strategies and disables generic shell/script install commands.
  • CLI execution uses argv subprocess calls, never shell, and only runs installed registry CLIs.
  • Working directories are validated against workspace restrictions before execution.
  • Generated skills only fetch trusted CLI-Anything SKILL.md paths, and installed state writes use atomic replace.
  • Third-party names and logos are used only for identification and do not imply endorsement or partnership.

Validation

  • /tmp/nanobot-cli-apps-venv/bin/python -m pytest -q (3555 passed, 3 skipped)
  • Targeted post-rebase tests: /tmp/nanobot-cli-apps-venv/bin/python -m pytest tests/cli_apps tests/tools/test_tool_loader.py tests/agent/test_context_builder.py tests/channels/test_websocket_http_routes.py -q (125 passed)
  • cd webui && bun run test (189 passed)
  • cd webui && bun run build
  • GitHub Actions on latest rebased commit dcedef80: test (ubuntu-latest, 3.13) and test (ubuntu-latest, 3.14) passed.
  • Manual WebUI smoke: install a local Smoke CLI, test --help, select @smoke-cli with Tab, run through the agent, uninstall, refresh, and confirm uninstalled CLIs no longer appear in @ suggestions.

@Re-bin Re-bin changed the title [codex] Add CLI Apps settings MVP feat(cli): add CLI Apps settings MVP May 22, 2026
@Re-bin
Re-bin force-pushed the codex/cli-apps-mvp branch 5 times, most recently from f7337c0 to dcedef8 Compare May 22, 2026 16:14
@Re-bin
Re-bin marked this pull request as ready for review May 22, 2026 16:21
@Re-bin Re-bin changed the title feat(cli): add CLI Apps settings MVP feat(cli): add CLI Apps for CLI-Anything integrations May 22, 2026
@Re-bin
Re-bin force-pushed the codex/cli-apps-mvp branch from dcedef8 to 1a344aa Compare May 22, 2026 16:27
@Re-bin
Re-bin merged commit e2d00ff into main May 22, 2026
2 checks passed
@Re-bin
Re-bin deleted the codex/cli-apps-mvp branch May 22, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant