generate-cli-command

Solid

Use after building a feature that adds or changes a REST route in jarvis/ui/web/*_routes.py, as the "definition of done" before committing. Ensures the new endpoint is reachable from the Jarvis CLI: confirms the router is mounted, checks its OpenAPI metadata is clean, and (for high-value routes) scaffolds a curated `jarvis <group> <command>` plus a test and a docs entry. Trigger phrases: "generate a CLI command", "/generate-cli-command", "wire this feature into the CLI", "make this endpoint CLI-reachable".

AI & Automation 30 stars 11 forks Updated today MIT

Install

View on GitHub

Quality Score: 82/100

Stars 20%
50
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Generate a CLI Command for a New Feature The Jarvis CLI (`jarvis/cli_ctl/`, the `jarvis`/`jarvisctl`/`jctl` binaries) is a thin HTTP client over the REST API. Its dynamic `jarvis api <tag> <op>` layer turns **every mounted REST route into a command automatically** — so a new feature is CLI-reachable the moment its route is mounted with clean OpenAPI metadata. This skill is the checklist that guarantees that, and adds an ergonomic curated command for high-traffic routes. Run this when you have finished a feature whose work added or changed a route in `jarvis/ui/web/*_routes.py` (or `conductor/api`), before your final commit. ## Steps ### 1. Find the new/changed routes ```bash git diff main...HEAD --name-only -- 'jarvis/ui/web/*_routes.py' 'conductor/api/*.py' ``` For each changed file, list the added route decorators: ```bash git diff main...HEAD -- jarvis/ui/web/<file>_routes.py | grep -E '^\+\s*@router\.(get|post|put|patch|delete)' ``` Note each new `(METHOD, path)` and whether it is destructive (DELETE, or it deletes / charges money / places a call / spawns work / writes arbitrary config). ### 2. Confirm the router is MOUNTED (the hard gate) A route that exists in a file but is never `app.include_router(...)`'d is unreachable from both the WebUI and the CLI (this has happened — see the frontier / antigravity / self-mod fixes). Run the coverage gate: ```bash python scripts/ci/check_cli_coverage.py ``` If it reports your new module as unmounted, add the mount in...

Details

Author
PersonalJarvis
Repository
PersonalJarvis/PersonalJarvis
Created
2 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category