harness-config-contractlisted
Install: claude install-skill augusto-romero-arango/eda-evsourcing-azure-harness
# Contrato con el proyecto consumidor
El plugin asume que el repo consumidor cumple lo siguiente:
## 1. Archivo `.claude/harness.config.json`
Tokens operativos consumidos por los scripts shell. Estructura:
```json
{
"projectName": "<nombre legible del proyecto>",
"namespacePrefix": "<prefijo de namespace .NET>",
"solutionFile": "<nombre>.slnx",
"infraResourceGroupPrefix": "rg-<proyecto>",
"terraformStateStorage": "<storage account del tfstate>",
"githubServicePrincipalName": "github-<proyecto>-ci",
"appInsightsApp": "<app-insights-component>",
"domainLabels": ["<dominio1>", "<dominio2>", "..."],
"boundedContext": {
"name": "<NombreDelBC>",
"domains": ["<dominio1>", "<dominio2>", "..."]
},
"serviceBus": {
"internal": { "secretName": "<nombre del secreto KV de la cadena interna>" },
"external": [
{ "alias": "COSMOS", "alcance": "compartido", "secretName": "<nombre del secreto KV>" }
]
},
"tenancy": { "strategy": "mono-tenant-transitorio" },
"projections": { "enabled": true },
"azureRegionShort": "eus2",
"resourceSequence": "001",
"secrets": [
{
"name": "<nombre del secreto en Key Vault>",
"source": { "type": "output", "value": "<nombre del output de terraform>" }
},
{
"name": "<nombre del secreto en Key Vault>",
"source": { "type": "github-secret", "value": "<NOMBRE_DEL_GITHUB_SECRET>" }
}
]
}
```
Los scripts del harness consumen estos tokens (validación y variables deriva