SAIF CLI command reference¶
Generated from the CLI command tree and in-repository template metadata. Edit command definitions or template sources, then update the guarded CLI manifest; do not edit this page.
For installation and updates, see Install the SAIF CLI. For operational guidance, see CLI workflows. Plugin setup lives in Forge plugins.
Global options¶
| Option | Required | Description |
|---|---|---|
--dry-run |
No | Shows what would happen if the command runs. |
--help, -?, -h |
No | Show help and usage information |
--no-interactive |
No | Runs the command without interactive prompts. |
--version |
No | Show version information |
The manifest records descriptions, declared arguments, option aliases, required flags, and effects. It does not encode every parser default or conditional requirement. Use the installed command's --help for its exact invocation syntax.
saif agent¶
AI agent integration (MCP server, skills, configuration)
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif agent init |
Initialize agent plugin configuration for AI assistants (VS Code, Copilot CLI) |
saif agent mcp |
Start the MCP (Model Context Protocol) server for AI assistant integration |
saif agent init¶
Initialize agent plugin configuration for AI assistants (VS Code, Copilot CLI)
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--grant-permissions |
No | Also generate plan-mode permission rules (issue #968). WARNING: for GitHub Copilot CLI this approves EVERY saif command, including mutating ones such as 'pipeline approve' and 'token generate'. Copilot CLI cannot express finer-grained trust for saif, and a --deny-tool for an individual saif command is silently ignored. VS Code's rules are scoped to read-only commands. |
--local |
No | Shorthand for --scope project. Cannot be combined with an explicit --scope user. |
--plugins |
No | The complete set of Forge plugins to enable (space-separated, or repeat the flag). Use 'none' to disable all without uninstalling. Omit to choose interactively from saved settings, or preserve saved choices when noninteractive. |
--scope |
No | Where to write agent configuration: 'user' (machine-wide, default) or 'project' (workspace-scoped, the pre-#942 behavior). GitHub Copilot CLI's plugin/permissions targets always stay user-level regardless of this value. |
--workspace-root, -w |
No | The workspace root directory to configure. Defaults to git root or current directory. |
saif agent mcp¶
Start the MCP (Model Context Protocol) server for AI assistant integration
Effect: Mutating
Options¶
None.
saif app¶
Manage and discover Entra ID application registrations
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif app search |
Search or list Entra ID application registrations |
saif app search¶
Search or list Entra ID application registrations
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--app-id, --appid |
No | Search by application (client) ID |
--audience |
No | Search by audience identifier URI (from JWT aud claim or api:// URI) |
--format |
No | Output format (table, json, jsonlines, plain) |
--name |
No | Partial name filter |
saif auth¶
Authentication and OAuth token management
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif auth clear |
Clear cached OAuth tokens |
saif auth dynatrace |
Manage Dynatrace platform-token authentication |
saif auth generate |
Generate an OAuth token for a SAIF application |
saif auth validate |
Decode and inspect a JWT token |
saif auth clear¶
Clear cached OAuth tokens
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--force |
No | Skip confirmation prompt |
saif auth dynatrace¶
Manage Dynatrace platform-token authentication
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif auth dynatrace login |
Store a Dynatrace platform token for querying telemetry |
saif auth dynatrace logout |
Remove the stored Dynatrace platform token |
saif auth dynatrace status |
Show Dynatrace token and per-environment connectivity |
saif auth dynatrace login¶
Store a Dynatrace platform token for querying telemetry
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--no-browser |
No | Do not open the token-creation page in a browser |
--token |
No | The platform token to store (skips the interactive paste prompt) |
saif auth dynatrace logout¶
Remove the stored Dynatrace platform token
Effect: Mutating
Options¶
None.
saif auth dynatrace status¶
Show Dynatrace token and per-environment connectivity
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
saif auth generate¶
Generate an OAuth token for a SAIF application
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--auth-server |
No | Okta Auth Server ID, required with --identity-provider okta (API pipeline -> auth_ext_okta_client (terraform) job output) |
--identity-provider |
No | Force the identity provider ('entra' or 'okta'); defaults to Entra ID |
--name |
No | The display name of the SAIF application (e.g., brishe-test) |
--no-default-scopes |
No | Don't auto-append the Okta 'user-groups' delegation scope |
--plain |
No | Output raw token only (for scripts and agents) |
--scopes |
No | Scopes to request; required for Okta (space-separated after one --scopes, or repeat the flag) |
saif auth validate¶
Decode and inspect a JWT token
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
token |
The JWT token to decode |
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
saif build¶
Queue and monitor pipeline builds (use 'saif pipeline' instead)
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--directory |
No | Repository directory (defaults to current directory) |
Subcommands¶
| Command | Description |
|---|---|
saif build approve |
Approve a pending build stage or checkpoint |
saif build list |
List available pipelines for a repository |
saif build monitor |
Monitor the progress of a running build |
saif build approve¶
Approve a pending build stage or checkpoint
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--directory |
No | Repository directory (defaults to current directory) |
saif build list¶
List available pipelines for a repository
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--directory |
No | Repository directory (defaults to current directory) |
saif build monitor¶
Monitor the progress of a running build
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
buildid |
Build ID to monitor |
Options¶
| Option | Required | Description |
|---|---|---|
--collection |
No | The Azure DevOps collection |
--host |
No | The Azure DevOps host |
--project |
No | The Azure DevOps project |
saif config¶
Manage SAIF CLI configuration settings
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif config get |
Get a configuration value |
saif config list |
List all configuration settings |
saif config set |
Set a configuration value |
saif config validate |
Validate configuration without changes |
saif config get¶
Get a configuration value
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
key |
Configuration key (dot-notation, e.g., output.format) |
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
saif config list¶
List all configuration settings
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
saif config set¶
Set a configuration value
Effect: Mutating
Arguments¶
| Argument | Description |
|---|---|
key |
Configuration key (dot-notation, e.g., output.format) |
value |
Value to set |
Options¶
None.
saif config validate¶
Validate configuration without changes
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
saif docs¶
Search and read Forge platform documentation
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif docs get |
Read a documentation page |
saif docs list |
List up to 25 documentation results (a sample, not a complete inventory) |
saif docs search |
Search Forge documentation |
saif docs get¶
Read a documentation page
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
slug |
Document location path (e.g., build/data/cosmos-nosql) |
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
--section |
No | Filter to a specific heading |
saif docs list¶
List up to 25 documentation results (a sample, not a complete inventory)
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
saif docs search¶
Search Forge documentation
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
query |
Search query |
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
--limit |
No | Maximum number of results to return |
saif doctor¶
Check environment health and fix issues
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
Subcommands¶
| Command | Description |
|---|---|
saif doctor fix |
Fix environment issues (replaces saif update) |
saif doctor fix¶
Fix environment issues (replaces saif update)
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--agent |
No | Update Forge Agent Plugins (registration and installed files) |
--format |
No | Output format (table, json, jsonlines, plain) |
--self |
No | Update SAIF CLI itself |
--templates |
No | Update templates |
--tools |
No | Update development tools |
saif mcp¶
Model Context Protocol server for AI assistant integration (use 'saif agent' instead)
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif mcp init |
Initialize MCP server configuration for AI agents (VS Code) |
saif mcp start |
Start the MCP server (use 'saif agent mcp' instead) |
saif mcp init¶
Initialize MCP server configuration for AI agents (VS Code)
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--workspace-root, -w |
No | The workspace root directory to configure. Defaults to git root or current directory. |
saif mcp start¶
Start the MCP server (use 'saif agent mcp' instead)
Effect: Mutating
Options¶
None.
saif new¶
Create a new application based on a specified template
Effect: Mutating
Options¶
None.
saif otel¶
Query logs, traces, and metrics from Dynatrace
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif otel logs |
Query logs from Dynatrace |
saif otel metrics |
Query metrics (timeseries) from Dynatrace |
saif otel traces |
Query distributed traces (spans) from Dynatrace |
saif otel logs¶
Query logs from Dynatrace
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
service |
Service to scope the default query to, e.g. policyportal (ignored with --query) |
Options¶
| Option | Required | Description |
|---|---|---|
--dt-env, --dynatrace-environment |
No | Dynatrace tenant to query directly, e.g. dev or prod (overrides the tenant derived from --environment) |
--env, --environment |
No | SAIF deployment environment to query, e.g. platformdev, test, uat, prod (selects the tenant and scopes traces) |
--format |
No | Output format (table, json, jsonlines, plain) |
--from |
No | Timeframe start for the default query, e.g. now()-2h (ignored with --query) |
--level, --loglevel |
No | Only show logs at this level, e.g. error, warn, info (case-insensitive; ignored with --query) |
--limit |
No | Maximum records for the default query (ignored with --query; capped by the configured Dynatrace maximum) |
--query |
No | Raw DQL query (overrides the default for this signal) |
--source |
No | Log stream to return: all (default, nothing hidden), app (OpenTelemetry app logs, trace-correlated), or console (container stdout/stderr capture) (ignored with --query) |
--to |
No | Timeframe end for the default query, e.g. now() (ignored with --query) |
--trace-id |
No | Only show records for this trace id, e.g. e1f7f740cb2c79175ed238017dd80bc4 (ignored with --query) |
saif otel metrics¶
Query metrics (timeseries) from Dynatrace
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
service |
Service to scope the default query to, e.g. policyportal (ignored with --query) |
Options¶
| Option | Required | Description |
|---|---|---|
--dt-env, --dynatrace-environment |
No | Dynatrace tenant to query directly, e.g. dev or prod (overrides the tenant derived from --environment) |
--env, --environment |
No | SAIF deployment environment to query, e.g. platformdev, test, uat, prod (selects the tenant and scopes traces) |
--format |
No | Output format (table, json, jsonlines, plain) |
--from |
No | Timeframe start for the default query, e.g. now()-2h (ignored with --query) |
--include-probes |
No | Include health-probe-style routes (health/ready/live and route-less availability checks) that are excluded by default (ignored with --query) |
--limit |
No | Maximum records for the default query (ignored with --query; capped by the configured Dynatrace maximum) |
--query |
No | Raw DQL query (overrides the default for this signal) |
--to |
No | Timeframe end for the default query, e.g. now() (ignored with --query) |
saif otel traces¶
Query distributed traces (spans) from Dynatrace
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
service |
Service to scope the default query to, e.g. policyportal (ignored with --query) |
Options¶
| Option | Required | Description |
|---|---|---|
--dt-env, --dynatrace-environment |
No | Dynatrace tenant to query directly, e.g. dev or prod (overrides the tenant derived from --environment) |
--env, --environment |
No | SAIF deployment environment to query, e.g. platformdev, test, uat, prod (selects the tenant and scopes traces) |
--failed |
No | Only show failed spans (request.is_failed == true) (ignored with --query) |
--format |
No | Output format (table, json, jsonlines, plain) |
--from |
No | Timeframe start for the default query, e.g. now()-2h (ignored with --query) |
--include-probes |
No | Include health-probe-style routes (health/ready/live and route-less availability checks) that are excluded by default (ignored with --query) |
--limit |
No | Maximum records for the default query (ignored with --query; capped by the configured Dynatrace maximum) |
--query |
No | Raw DQL query (overrides the default for this signal) |
--to |
No | Timeframe end for the default query, e.g. now() (ignored with --query) |
--trace-id |
No | Only show records for this trace id, e.g. e1f7f740cb2c79175ed238017dd80bc4 (ignored with --query) |
saif pipeline¶
Queue, monitor, and manage CI/CD pipeline builds
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--repo, -r |
No | Repository name to target (searches across all ADO projects; alternative to --directory) |
Subcommands¶
| Command | Description |
|---|---|
saif pipeline approve |
Approve a pending build stage or checkpoint |
saif pipeline list |
List available pipelines for a repository |
saif pipeline logs |
Fetch build log output for a build (by build id or build URL) |
saif pipeline monitor |
Monitor the progress of a running build (by build id or build URL) |
saif pipeline open |
Open a build results page in the default browser (by build id or build URL) |
saif pipeline run |
Queue and run a pipeline build |
saif pipeline approve¶
Approve a pending build stage or checkpoint
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--build-id |
No | Build ID to approve non-interactively (skips build selection prompt) |
--collection |
No | The Azure DevOps collection |
--directory |
No | Repository directory (defaults to current directory) |
--host |
No | The Azure DevOps host |
--pipeline-name |
No | Pipeline name to approve non-interactively (skips selection prompt) |
--project |
No | The Azure DevOps project |
saif pipeline list¶
List available pipelines for a repository
Effect: Read-only
Options¶
| Option | Required | Description |
|---|---|---|
--collection |
No | The Azure DevOps collection |
--directory |
No | Repository directory (defaults to current directory) |
--format |
No | Output format (table, json, jsonlines, plain) |
--host |
No | The Azure DevOps host |
--project |
No | The Azure DevOps project |
saif pipeline logs¶
Fetch build log output for a build (by build id or build URL)
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
build |
Build id, or a full build URL (e.g. https://dev.azure.com/.../_build/results?buildId=123) |
Options¶
| Option | Required | Description |
|---|---|---|
--all-steps |
No | Return every step in the build, ignoring any stage/job/step the pasted build URL points at |
--collection |
No | The Azure DevOps collection |
--follow, -f |
No | Continuously stream new log lines until the build completes (incompatible with --format json/jsonlines and --tail) |
--format |
No | Output format (table, json, jsonlines, plain) |
--host |
No | The Azure DevOps host |
--job |
No | Filter output to all steps within the specified job (name, or a job id GUID) |
--project |
No | The Azure DevOps project |
--stage |
No | Filter output to all steps within the specified stage (name, or a stage id GUID) |
--status |
No | Filter steps by result status (e.g. failed, succeeded, skipped). Case-insensitive. |
--step |
No | Filter output to a specific step/task (name, or a step id GUID) |
--tail |
No | Limit output to the last N lines (applied across all matching steps) |
saif pipeline monitor¶
Monitor the progress of a running build (by build id or build URL)
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
build |
Build id, or a full build URL (e.g. https://dev.azure.com/.../_build/results?buildId=123) |
Options¶
| Option | Required | Description |
|---|---|---|
--collection |
No | The Azure DevOps collection |
--format |
No | Output format (table, json, jsonlines) |
--host |
No | The Azure DevOps host |
--project |
No | The Azure DevOps project |
saif pipeline open¶
Open a build results page in the default browser (by build id or build URL)
Effect: Mutating
Arguments¶
| Argument | Description |
|---|---|
build |
Build id, or a full build URL (e.g. https://dev.azure.com/.../_build/results?buildId=123) |
Options¶
| Option | Required | Description |
|---|---|---|
--collection |
No | The Azure DevOps collection |
--host |
No | The Azure DevOps host |
--plain |
No | Print the resolved URL to stdout instead of opening the browser |
--project |
No | The Azure DevOps project |
saif pipeline run¶
Queue and run a pipeline build
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--branch |
No | Branch to build (only applies with --repo; defaults to the repository's default branch) |
--collection |
No | The Azure DevOps collection |
--directory |
No | Repository directory (defaults to current directory) |
--host |
No | The Azure DevOps host |
--pipeline-name |
No | Pipeline name to run non-interactively (skips selection prompt) |
--project |
No | The Azure DevOps project |
saif publish¶
Apply a SAIF manifest to create Azure DevOps resources
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--directory |
No | The directory containing the SAIF manifest |
saif repo¶
Repository operations
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif repo search |
Search for repositories across organizations |
saif repo search¶
Search for repositories across organizations
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
query |
Repository name to search for |
Options¶
| Option | Required | Description |
|---|---|---|
--collection |
No | The Azure DevOps collection |
--format |
No | Output format (table, json, jsonlines, plain) |
--host |
No | The Azure DevOps host |
--project |
No | The Azure DevOps project |
--verbose |
No | Show detailed repository information (pipelines, policies, reviewers) |
saif search¶
Search across services and documentation
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
query |
Name or pattern to search for |
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
--verbose |
No | Show pipeline details for services |
saif service¶
Discover services across environments and repositories
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif service describe |
Show a full topology view of a single service |
saif service search |
Search for services by name across environments and repositories |
saif service describe¶
Show a full topology view of a single service
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
name |
The service name to describe (environment suffix optional) |
Options¶
| Option | Required | Description |
|---|---|---|
--env, --environment |
No | Limit the view to a single environment (e.g. prod, platformdev) |
--format |
No | Output format (table, json, jsonlines, plain) |
--verbose |
No | Show additional identifiers (service key, app IDs, permission GUIDs, pipeline list) |
saif service search¶
Search for services by name across environments and repositories
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
query |
Name or pattern to search for |
Options¶
| Option | Required | Description |
|---|---|---|
--format |
No | Output format (table, json, jsonlines, plain) |
--verbose |
No | Show per-environment application registration details |
saif token¶
Generate and manage OAuth tokens for SAIF applications (use 'saif auth' instead)
Effect: Read-only
Options¶
None.
Subcommands¶
| Command | Description |
|---|---|
saif token clear |
Clear all cached OAuth tokens (use 'saif auth clear' instead) |
saif token generate |
Generate an OAuth token for a SAIF application (use 'saif auth generate' instead) |
saif token validate |
Decode and inspect a JWT token (use 'saif auth validate' instead) |
saif token clear¶
Clear all cached OAuth tokens (use 'saif auth clear' instead)
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--force |
No | Skip confirmation prompt |
saif token generate¶
Generate an OAuth token for a SAIF application (use 'saif auth generate' instead)
Effect: Mutating
Options¶
| Option | Required | Description |
|---|---|---|
--name |
No | The display name of the Entra ID application (e.g., brishe-test) |
saif token validate¶
Decode and inspect a JWT token (use 'saif auth validate' instead)
Effect: Read-only
Arguments¶
| Argument | Description |
|---|---|
token |
The JWT token to decode |
Options¶
None.
saif update¶
Update SAIF CLI, templates, and development tools (use 'saif doctor fix' instead)
Effect: Mutating
Options¶
None.
Project templates¶
The following saif new commands come from repository template metadata, not locally installed templates. Required and default values describe template parameters; interactive prompting and conditional validation still apply. These commands create projects and may publish repositories and pipelines. Use --no-publish to scaffold without publishing. Inspect saif new <template> --help for shared repository options.
saif new saif-api-exp¶
Create a new Experience API service (user-facing API that aggregates multiple process/system APIs)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--api_type |
No | Experience |
Experience |
|
--application_type |
No | api |
api |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--cli_runner |
No | saif |
dotnet, saif |
|
--cosmosdb_api |
No | |
nosql |
|
--database_type |
No | none |
cosmosdb, none |
|
--front_end_type |
No | none |
none, react |
|
--has_webhook |
No | false |
||
--include_docs_site |
No | false |
||
--is_external_app |
No | false |
||
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--oracle_instance |
No | |
ENT, POL |
|
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--skip_setup |
No | false |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | solution |
solution |
saif new saif-api-proc¶
Create a new Process API service (orchestrates business workflows and system APIs)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--api_type |
No | Process |
Process |
|
--application_type |
No | api |
api |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--cli_runner |
No | saif |
dotnet, saif |
|
--cosmosdb_api |
No | |
nosql |
|
--database_type |
No | none |
none |
|
--front_end_type |
No | none |
none |
|
--include_docs_site |
No | false |
||
--is_external_app |
No | false |
||
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--oracle_instance |
No | |
ENT, POL |
|
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--skip_setup |
No | false |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | solution |
solution |
saif new saif-api-sys¶
Create a new System API service (integrates with specific backend systems or data sources)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--api_type |
No | System |
System |
|
--application_type |
No | api |
api |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--cli_runner |
No | saif |
dotnet, saif |
|
--cosmosdb_api |
No | |
nosql |
|
--database_type |
No | none |
cosmosdb, none, oracle |
|
--front_end_type |
No | none |
none |
|
--include_docs_site |
No | false |
||
--is_external_app |
No | false |
||
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--oracle_instance |
No | |
ENT, POL |
|
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--skip_setup |
No | false |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | solution |
solution |
saif new saif-business-roles¶
Create a new business roles repository with saif new saif-business-roles for managing Entra ID (corp) or Okta (external) group membership. Use this template instead of the deprecated {Project}-okta-business-roles-* repository naming pattern.
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--language |
No | terraform |
terraform |
|
--name |
No | SAIF.BusinessRoles |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--tenant |
Yes | corp, external |
The tenant type (corp for Entra ID groups, external for Okta groups) | |
--type |
No | project |
project |
saif new saif-dynatrace-config¶
Create Dynatrace monitoring configuration using Terraform for application observability
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--language |
No | terraform |
terraform |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--type |
No | solution |
solution |
saif new saif-event-service¶
Create a new event-driven service with Azure Service Bus integration and TypeSpec contracts
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--cli_runner |
No | saif |
dotnet, saif |
|
--include_docs_site |
No | false |
||
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--skip_setup |
No | false |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | solution |
solution |
saif new saif-feature-api¶
Add a new API feature to an existing SAIF application (includes API project, tests, and infrastructure)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--api_type |
No | Experience |
Experience, None, Process, System |
|
--application_type |
No | api |
api |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--cosmosdb_api |
No | |
nosql |
|
--database_type |
No | none |
cosmosdb, none, oracle |
|
--front_end_type |
No | none |
none, react |
|
--is_external_app |
No | false |
||
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--oracle_instance |
No | |
ENT, POL |
|
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--project_id |
No | ProjectId1 |
||
--skip_setup |
No | false |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | project |
project |
saif new saif-feature-base¶
Create the base structure for a new SAIF application with Aspire AppHost and solution file
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--api_type |
No | Experience |
Experience, None, Process, System |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--cosmosdb_api |
No | |
nosql |
|
--database_type |
No | none |
cosmosdb, none, oracle |
|
--front_end_type |
No | none |
none, react |
|
--has_webhook |
No | false |
||
--is_external_app |
No | false |
||
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--oracle_instance |
No | |
ENT, POL |
|
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--project_id |
No | ProjectId1 |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | solution |
solution |
saif new saif-feature-database-cosmosdb¶
Add Azure Cosmos DB database support to an existing SAIF application (includes infrastructure and data seeding)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--cosmosdb_api |
No | |
nosql |
|
--database_type |
No | cosmosdb |
cosmosdb |
|
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--oracle_instance |
No | |
ENT, POL |
|
--project_id |
No | ProjectId1 |
||
--skip_setup |
No | false |
||
--type |
No | project |
project |
saif new saif-feature-database-oracle¶
Add Oracle database support to an existing SAIF application (includes infrastructure and data seeding)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--cosmosdb_api |
No | |
nosql |
|
--database_type |
No | oracle |
oracle |
|
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--oracle_instance |
No | |
ENT, POL |
|
--skip_setup |
No | false |
||
--type |
No | project |
project |
saif new saif-feature-dependabot¶
Add Dependabot dependency scanning configuration to an existing SAIF application (includes GitHub config and Azure DevOps scan pipeline)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--enable_docker |
No | false |
Include Docker ecosystem in Dependabot configuration | |
--enable_github_actions |
No | false |
Include GitHub Actions ecosystem in Dependabot configuration | |
--enable_npm |
No | false |
Include npm ecosystem in Dependabot configuration | |
--enable_nuget |
No | true |
Include NuGet ecosystem in Dependabot configuration | |
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--project_id |
No | ProjectId1 |
||
--type |
No | project |
project |
saif new saif-feature-docs-site¶
Add MkDocs documentation site configuration with Azure DevOps pipelines to an existing SAIF application (deploys to docs.saif.com)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--container_folder_name |
No | |
The folder name for the docs site URL path (docs.saif.com/{folder}/). Must be unique across all SAIF projects — deploying will overwrite any existing content at that path. Defaults to the project ID. | |
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--project_id |
No | ProjectId1 |
||
--site_name |
No | |
The display name for the documentation site | |
--type |
No | project |
project |
saif new saif-feature-event-subscription¶
Add Azure Service Bus event subscription with Azure Functions to an existing SAIF application
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--cli_runner |
No | saif |
dotnet, saif |
|
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--project_id |
No | ProjectId1 |
||
--skip_setup |
No | false |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | project |
project |
saif new saif-feature-front-end-react¶
Add a React single-page application frontend to an existing SAIF application (Vite + TypeScript)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--application_type |
No | web |
web |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--has_api |
No | true |
Whether this frontend connects to an API backend. When false, auth-related files are excluded for standalone frontends. | |
--is_external_app |
No | false |
||
--language |
No | TypeScript |
TypeScript |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--project_id |
No | ProjectId1 |
||
--skip_setup |
No | false |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | project |
project |
saif new saif-feature-web-standalone¶
Add standalone web infrastructure for a frontend without API backend. Includes Azure DevOps pipelines, Terraform, and Aspire AppHost configuration.
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--application_type |
No | web |
web |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--is_external_app |
No | false |
||
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--tenant |
No | corporate |
corporate |
|
--type |
No | project |
project |
saif new saif-feature-webhook¶
Add webhook receiver endpoint with DevTunnel support for local development to an existing SAIF application
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--language |
No | C# |
C# |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--project_id |
No | ProjectId1 |
||
--skip_setup |
No | false |
||
--type |
No | project |
project |
saif new saif-frontend-service¶
Standalone React frontend template without API backend dependencies. Supports optional custom domain via Azure Front Door. This template composes saif-feature-base, saif-feature-web-standalone, and saif-feature-front-end-react.
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--api_type |
No | None |
None |
|
--application_type |
No | web |
web |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
The business domain (e.g., it, claims, hr) | |
--cli_runner |
No | saif |
dotnet, saif |
|
--include_docs_site |
No | false |
||
--is_external_app |
No | false |
Whether this is an external-facing application | |
--language |
No | TypeScript |
TypeScript |
|
--name |
No | SAIF.App1 |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
The team that owns this application | |
--tenant |
No | corporate |
corporate |
|
--type |
No | project |
project |
saif new saif-nuget-package¶
Create a new .NET NuGet package project with CI/CD pipeline for internal package distribution
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--businessdomain |
Yes | clm, doc, hr, it, lgl, pol |
||
--language |
No | C# |
C# |
|
--name |
No | SAIF.Nuget |
The default name symbol | |
--owner |
Yes | Architecture, Claims, Corporate, Customer, Documents, Policy, Regulatory |
||
--type |
No | solution |
solution |
saif new saif-terraform-module¶
Create a new reusable Terraform module project with automated documentation and testing
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--language |
No | Terraform |
Terraform |
|
--name |
No | SAIF.Terraform.Module |
The default name symbol | |
--type |
No | project |
project |
saif new saif-test-tools¶
Create test tooling infrastructure (external test users, role assignments, token generation pipelines)
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--business_domain |
Yes | it |
||
--language |
No | YAML |
YAML |
|
--name |
No | SAIF.Test |
The default name symbol | |
--type |
No | solution |
solution |
saif new saif-typespec-package¶
Create a new TypeSpec package for defining reusable API contracts and custom decorators
| Parameter | Required | Default | Choices | Description |
|---|---|---|---|---|
--application_type |
No | pkg |
pkg |
|
--business_domain |
Yes | au, clm, doc, hr, it, lgl, pol |
||
--language |
No | TypeSpec |
TypeSpec |
|
--name |
No | saif-typespec-package |
The default name symbol | |
--owner |
Yes | Architecture, CaseManagement, Claims, Corporate, Customer, Documents, Infrastructure, Platform, Policy, Regulatory |
||
--type |
No | solution |
solution |