CLI Commands Reference¶
Complete reference for the scs command-line interface.
Note: The CLI is primarily for bundle authoring (Phase 1). Deployment, agent management, and context requests are done via the REST API or gRPC.
Installation¶
cd cli
pip install -e .
Global Options¶
scs --version # Show version
scs --help # Show help
scs <command> --help # Show command help
Project Management¶
scs new¶
Create a new SCS project with scaffolding.
scs new <project-name> --type <template-type>
Options:
- --type - Template type: healthcare, fintech, saas, government, minimal, standard
Examples:
scs new my-healthcare-project --type healthcare
scs new my-saas-app --type saas
scs new quick-test --type minimal
scs init¶
Initialize SCS in an existing project.
scs init
Creates .scs/ directory with default configuration.
Bundle Management¶
scs bundle create¶
Interactive bundle creation wizard.
scs bundle create
Prompts for: - Bundle type (meta, standards, domain, concern, project) - Bundle ID - Title and description - SCDs to include - Imports (if applicable)
Options:
- --non-interactive - Use defaults, no prompts
- --template <path> - Use specific template
scs bundle version¶
Version and lock a bundle (makes it immutable).
scs bundle version <bundle-path> --version <semver>
Examples:
scs bundle version ./bundles/my-bundle.yaml --version 1.0.0
scs bundle version ./bundles/acme-security.yaml --version 2.1.0
Creates versioned file: bundle-<name>-<version>.yaml
scs validate¶
Validate bundle or SCD structure.
scs validate <file-path> [--strict]
Options:
- --strict - Enforce strict validation (Phase 2)
- Default: Loose validation (Phase 1)
Examples:
# Validate bundle (loose)
scs validate ./bundles/my-bundle.yaml
# Validate bundle (strict - for versioning)
scs validate ./bundles/my-bundle.yaml --strict
# Validate SCD
python -m scs_validator ./scds/my-scd.yaml
SCD Management¶
python -m scs_validator¶
Validate SCD files.
python -m scs_validator <scd-path>
Example:
python -m scs_validator ./scds/company-overview.yaml
Configuration¶
scs config¶
Manage SCS configuration.
# Show config
scs config show
# Set config value
scs config set <key> <value>
# Get config value
scs config get <key>
Example:
scs config set api.endpoint http://localhost:8000
scs config set api.key sk_your_api_key
Utility Commands¶
scs info¶
Show SCS installation info.
scs info
Displays: - SCS version - Python version - Installation path - Configuration location
Examples¶
Complete Bundle Authoring Workflow¶
# 1. Create new project
scs new my-healthcare-app --type healthcare
cd my-healthcare-app
# 2. Create a concern bundle
scs bundle create
# ... follow prompts ...
# 3. Validate (loose)
scs validate ./bundles/my-concern.yaml
# 4. Make refinements, validate again
scs validate ./bundles/my-concern.yaml
# 5. Version when ready
scs bundle version ./bundles/my-concern.yaml --version 1.0.0
Publishing to Registry (via API)¶
After creating a bundle with the CLI, publish it via the API:
# Publish bundle to registry
curl -X POST http://localhost:8000/api/bundles \
-H "Content-Type: application/json" \
-d @bundle.json
Registering Agents (via API)¶
Agent management is done via the API, not CLI:
# Register agent
curl -X POST http://localhost:8000/api/agents \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agent:my-agent",
"name": "My Agent",
"role_id": "role:prior-auth-agent",
"allowed_intents": ["prior_auth_check"]
}'
# Generate API key
curl -X POST http://localhost:8000/api/agents/agent:my-agent/api-keys
Requesting Context (via API)¶
Context requests are done via REST API or gRPC:
# Request context
curl -X POST http://localhost:8000/api/context \
-H "Content-Type: application/json" \
-H "X-API-Key: sk_your_api_key" \
-d '{"task_type": "prior_auth_check"}'
Command Status¶
| Command | Status | Notes |
|---|---|---|
scs new |
✅ Implemented | Project scaffolding |
scs init |
✅ Implemented | Initializes .scs directory |
scs bundle create |
✅ Implemented | Interactive wizard |
scs validate |
✅ Implemented | Loose and strict modes |
scs bundle version |
✅ Implemented | Creates versioned bundle |
scs config |
✅ Implemented | Configuration management |
scs info |
✅ Implemented | Shows version info |
CLI vs API¶
The CLI is designed for bundle authoring (Phase 1-2). Operations that involve the running system use the REST API or gRPC:
| Operation | Tool |
|---|---|
| Create bundles | CLI (scs bundle create) |
| Validate bundles | CLI (scs validate) |
| Version bundles | CLI (scs bundle version) |
| Publish to registry | API (POST /api/bundles) |
| Register agents | API (POST /api/agents) |
| Generate API keys | API (POST /api/agents/{id}/api-keys) |
| Request context | API (POST /api/context) or gRPC |
| Manage tags | API (POST /api/tags) |
Next Steps¶
- See Getting Started for usage examples
- See 4-Phase Workflow for lifecycle context
- See API Reference for programmatic access