Rustelo/docs/api/cli.md
Jesús Pérez 0d0297423e
Some checks failed
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Security Audit (push) Has been cancelled
CI/CD Pipeline / Performance Benchmarks (push) Has been cancelled
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
CI/CD Pipeline / Build Docker Image (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Cleanup (push) Has been cancelled
chore: fix with CI and pre-commit
2026-02-08 20:37:49 +00:00

110 lines
2.4 KiB
Markdown

# Rustelo CLI API Reference
## Feature Management Commands
### `cargo rustelo features`
Main feature management command group.
#### Subcommands
##### `list`
List available or installed features.
```bash
cargo rustelo features list
cargo rustelo features list --available
cargo rustelo features list --installed
```
##### `add <feature>`
Add a feature to the current project.
```bash
cargo rustelo features add analytics
cargo rustelo features add analytics --force
cargo rustelo features add analytics --no-deps
```
Options:
- `--force`: Force installation even if conflicts exist
- `--no-deps`: Skip dependency resolution
##### `remove <feature>`
Remove a feature from the current project.
```bash
cargo rustelo features remove analytics
cargo rustelo features remove analytics --clean-deps
```
Options:
- `--clean-deps`: Also remove unused dependencies
##### `status [feature]`
Check feature status and dependencies.
```bash
cargo rustelo features status
cargo rustelo features status analytics
```
##### `sync`
Sync feature configurations.
```bash
cargo rustelo features sync
cargo rustelo features sync --force
```
Options:
- `--force`: Force sync even if conflicts exist
## Integration System
The integration system handles:
1. **Dependency Integration**: Updates Cargo.toml and package.json
2. **Environment Integration**: Manages .env variables
3. **Configuration Integration**: Merges TOML/JSON configs
4. **Resource Integration**: Copies assets, content, i18n files
5. **Styling Integration**: Updates UnoCSS configuration
6. **Infrastructure Integration**: Updates Docker compose files
7. **Development Integration**: Integrates scripts and Just commands
## Feature Manifest Format
Feature manifests are defined in `features/<name>/feature.toml`:
```toml
[feature]
name = "analytics"
version = "0.1.0"
source = "p-jpl-website"
description = "Comprehensive analytics system"
requires = []
[dependencies]
workspace = ["chrono", "serde_json", "prometheus"]
external = ["ratatui = '0.29'", "lru = '0.16'"]
[[environment.variables]]
name = "ANALYTICS_ENABLED"
default = "true"
required = false
[configuration]
files = [
{ path = "config/analytics.toml", template = "templates/analytics.config.toml" }
]
[resources]
public = [
{ from = "assets/analytics.js", to = "public/js/analytics.js" }
]
[[scripts]]
from = "scripts/analytics-report.nu"
to = "scripts/analytics/report.nu"
```