Command Line Interface¶
ARIA provides a powerful command-line interface (CLI) for managing AI participation policies and templates.
Command Structure¶
The CLI follows a simple and intuitive structure:
Basic Commands¶
Initialize a Policy¶
Create a new policy file:
Options: - -m, --model MODEL
- Initial policy model (default: 'assistant') - -o, --output FILE
- Output file for the policy (default: 'aria.yml') - -t, --templates-dir DIR
- Directory containing templates - -f, --format FORMAT
- Policy format: 'capability' or 'model' (default: 'model')
Template Management¶
List available templates:
Options: - -f, --format FORMAT
- Filter templates by format: 'capability' or 'model'
Apply a template:
Options: - -t, --templates-dir DIR
- Directory containing templates - -o, --output FILE
- Output file for the policy - -f, --format FORMAT
- Template format: 'capability' or 'model' (default: 'model')
Policy Management¶
Validate a policy file:
Options: - -s, --strict
- Enable strict validation mode - --format FORMAT
- Specify policy format for validation: 'capability', 'model', or 'auto' (default: 'auto')
Command Aliases¶
ARIA provides convenient aliases for commonly used commands:
Full Command | Alias | Description |
---|---|---|
ariacli template list | ariacli ls | List available templates |
ariacli template apply | ariacli apply | Apply a template |
ariacli policy validate | ariacli validate | Validate a policy file |
Progress Indicators¶
All commands now include progress indicators to provide feedback during long-running operations:
- Spinners for ongoing operations
- Clear success/error messages
- Rich console output with color-coding
Error Handling¶
The CLI provides comprehensive error handling:
- Descriptive error messages
- Proper exit codes (0 for success, 1 for errors)
- Logging of all operations
- Input validation before execution
Examples¶
-
Create a new capability-based policy:
-
Create a new model-based policy:
-
List all available templates:
-
List only capability-based templates:
-
Apply a capability-based template:
-
Apply a model-based template:
-
Validate a policy with automatic format detection:
-
Validate a policy with strict validation:
-
Validate a policy with explicit format:
Additional Tools¶
ARIA includes additional utility tools:
IDE Integration Commands¶
ARIA provides commands for integrating with various IDEs:
Available commands:
Generate IDE Rules¶
Options: - policy_file
- Path to ARIA policy file (optional, defaults to aria.yml) - -i, --ide
- Target IDE (default: windsurf, options: windsurf, cursor, vscode, nvim, emacs) - -o, --output
- Custom output file for rules (default depends on IDE)
Generate IDE Ignore Files¶
Options: - policy_file
- Path to ARIA policy file (optional, defaults to aria.yml) - -i, --ide
- Target IDE (default: windsurf, options: windsurf, cursor) - -o, --output
- Custom output file for ignore patterns (default depends on IDE)
Generate Both Rules and Ignore Files¶
Options: - policy_file
- Path to ARIA policy file (optional, defaults to aria.yml) - -i, --ide
- Target IDE (default: windsurf, options: windsurf, cursor, vscode, nvim, emacs) - --rules-output
- Custom output file for rules (default depends on IDE) - --ignore-output
- Custom output file for ignore patterns (default depends on IDE) - --no-ignore
- Skip generating ignore file
Examples:
# Generate Windsurf rules from default policy
ariacli ide rules
# Generate Cursor rules from a specific policy
ariacli ide rules my_policy.yml -i cursor
# Generate both rules and ignore file for Windsurf
ariacli ide generate my_policy.yml
# Generate both rules and ignore file for Cursor with custom ignore file
ariacli ide generate -i cursor --ignore-output .custom_ignore
Policy to IDE Rules Converter¶
Convert ARIA policy files to various IDE rules formats:
python -m aria.tools.policy_to_iderules <policy_file> [-i <ide>] [-o <output_file>] [--ignore] [--ignore-output <file>]
Options: - <policy_file>
: Path to ARIA policy file - -i, --ide
: Target IDE (default: windsurf, options: windsurf, cursor, vscode, nvim, emacs) - -o, --output
: Custom output file for rules (default depends on IDE) - --ignore
: Also generate IDE ignore file (.codeiumignore for Windsurf, .cursorignore for Cursor) - --ignore-output
: Custom output file for ignore patterns (default depends on IDE)
Examples:
# Convert a policy to Windsurf rules
python -m aria.tools.policy_to_iderules docs_protection_policy.yml
# Convert a policy to Cursor rules
python -m aria.tools.policy_to_iderules aria_policy.yml -i cursor
# Convert a policy to a custom rules file
python -m aria.tools.policy_to_iderules aria_policy.yml -o custom_rules.txt
# Generate both rules and ignore file for Windsurf
python -m aria.tools.policy_to_iderules aria_policy.yml --ignore
# Generate both rules and ignore file for Cursor with custom ignore file
python -m aria.tools.policy_to_iderules aria_policy.yml -i cursor --ignore --ignore-output .custom_ignore
This tool helps you quickly implement ARIA policies using existing IDE rule systems. The tool preserves existing content in rules files and only updates the ARIA policy section. When generating ignore files, it creates patterns that protect policy files and sensitive paths based on your ARIA policy.
Environment Variables¶
ARIA_TEMPLATES_DIR
- Default templates directoryARIA_LOG_LEVEL
- Logging level (default: INFO)ARIA_DEFAULT_FORMAT
- Default policy format (capability or model)
Exit Codes¶
- 0: Success
- 1: Error (with error message)