{
  "index": 2,
  "packages": {
    "aws": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-target-aws/releases/download/v1.0.0/aws-1.0.0.tar.gz",
        "sha256": "42f3b10e5d632e8dfe7c242887df6bf79cd4513c7b574dc2b45620aa959ea471",
        "kind": "target",
        "target": {
          "name": "aws",
          "label": "AWS — one ECS service per app deployed blue/green behind its own load balancer, RDS Postgres, Cognito and S3 + CloudFront, provisioned by OpenTofu and deployed by the trunk pipeline",
          "description": "Amazon Web Services: ECS on Fargate behind a load balancer, RDS Postgres, Cognito, and a site in S3 behind CloudFront, provisioned by OpenTofu and deployed by the trunk pipeline.",
          "kind": "target",
          "core": ">=9.0,<10",
          "managed": true,
          "requires": [
            "http"
          ],
          "reserved": {
            "anywhere": [
              "amazon",
              "aws",
              "cognito"
            ]
          },
          "offers": {
            "auth": [
              "auth0"
            ],
            "persistence": [
              "postgres"
            ],
            "users": [
              "auth0"
            ],
            "write-model": [
              "events"
            ]
          },
          "provisions": {
            "auth": {
              "auth0": "auth0",
              "cognito": "cognito"
            },
            "persistence": {
              "postgres": "rds"
            },
            "users": {
              "auth0": "auth0",
              "cognito": "cognito"
            }
          },
          "axes": {
            "auth": {
              "cognito": {
                "capabilities": [
                  "auth-cognito"
                ],
                "containers": [
                  "keycloak"
                ],
                "migrations": false,
                "integration-suite": false,
                "label": "Cognito — a user pool with the internal groups, a hosted login and a confidential client, provisioned in AWS; Keycloak runs locally as the stand-in, with the same groups and OIDC_* keys (the flow itself is NOT implemented)",
                "features": [
                  "keycloak"
                ]
              }
            },
            "users": {
              "cognito": {
                "capabilities": [
                  "users-cognito"
                ],
                "containers": [
                  "keycloak"
                ],
                "migrations": false,
                "integration-suite": false,
                "label": "Cognito — a second user pool for external users with self-registration and a public PKCE client, provisioned in AWS; Keycloak's external realm runs locally as the stand-in, and the browser login is real",
                "features": [
                  "users-keycloak"
                ]
              }
            }
          }
        },
        "publisher": "ROBCOATVG",
        "description": "Amazon Web Services: ECS on Fargate behind a load balancer, RDS Postgres, Cognito, and a site in S3 behind CloudFront, provisioned by OpenTofu and deployed by the trunk pipeline."
      },
      {
        "version": "1.1.0",
        "file": "https://github.com/ROBCOATVG/slipwai-target-aws/releases/download/v1.1.0/aws-1.1.0.tar.gz",
        "sha256": "430d26d5e1a6e9e24c12ef4be582a11bae7da7e7c707f9faaaa7fb984de4c36a",
        "kind": "target",
        "target": {
          "name": "aws",
          "label": "AWS — one ECS service per app deployed blue/green behind its own load balancer, RDS Postgres, Cognito and S3 + CloudFront, provisioned by OpenTofu and deployed by the trunk pipeline",
          "description": "Amazon Web Services: ECS on Fargate behind a load balancer, RDS Postgres, Cognito, and a site in S3 behind CloudFront, provisioned by OpenTofu and deployed by the trunk pipeline.",
          "kind": "target",
          "core": ">=9.0,<10",
          "managed": true,
          "requires": [
            "http"
          ],
          "reserved": {
            "anywhere": [
              "amazon",
              "aws",
              "cognito"
            ]
          },
          "offers": {
            "auth": [
              "auth0"
            ],
            "persistence": [
              "postgres"
            ],
            "users": [
              "auth0"
            ],
            "write-model": [
              "events"
            ]
          },
          "provisions": {
            "auth": {
              "auth0": "auth0",
              "cognito": "cognito"
            },
            "persistence": {
              "postgres": "rds"
            },
            "users": {
              "auth0": "auth0",
              "cognito": "cognito"
            }
          },
          "axes": {
            "auth": {
              "cognito": {
                "capabilities": [
                  "auth-cognito"
                ],
                "containers": [
                  "keycloak"
                ],
                "migrations": false,
                "integration-suite": false,
                "label": "Cognito — a user pool with the internal groups, a hosted login and a confidential client, provisioned in AWS; Keycloak runs locally as the stand-in, with the same groups and OIDC_* keys (the flow itself is NOT implemented)",
                "features": [
                  "keycloak"
                ]
              }
            },
            "users": {
              "cognito": {
                "capabilities": [
                  "users-cognito"
                ],
                "containers": [
                  "keycloak"
                ],
                "migrations": false,
                "integration-suite": false,
                "label": "Cognito — a second user pool for external users with self-registration and a public PKCE client, provisioned in AWS; Keycloak's external realm runs locally as the stand-in, and the browser login is real",
                "features": [
                  "users-keycloak"
                ]
              }
            }
          }
        },
        "publisher": "ROBCOATVG",
        "description": "Amazon Web Services: ECS on Fargate behind a load balancer, RDS Postgres, Cognito, and a site in S3 behind CloudFront, provisioned by OpenTofu and deployed by the trunk pipeline."
      }
    ],
    "azure": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-target-azure/releases/download/v1.0.0/azure-1.0.0.tar.gz",
        "sha256": "2bd6c620ae1236dccfb87ced46b1b2ec00e2c42505b14d4b1ffef992db56a84b",
        "kind": "target",
        "target": {
          "name": "azure",
          "label": "Azure — one Container App per app deployed by revision behind the environment's own ingress and managed certificate, PostgreSQL Flexible Server, Entra ID and Static Web Apps, provisioned by OpenTofu and deployed by the trunk pipeline",
          "description": "Microsoft Azure: Container Apps behind the environment's own ingress, PostgreSQL Flexible Server, Entra ID, and a static web app, provisioned by OpenTofu and deployed by the trunk pipeline.",
          "kind": "target",
          "core": ">=9.0,<10",
          "managed": true,
          "requires": [
            "http"
          ],
          "reserved": {
            "anywhere": [
              "microsoft",
              "windows"
            ],
            "word": [
              "access",
              "app_browsers",
              "app_code",
              "app_data",
              "app_globalresources",
              "app_localresources",
              "app_themes",
              "app_webreferences",
              "azure",
              "bing",
              "bizspark",
              "biztalk",
              "cortana",
              "directx",
              "dotnet",
              "dynamics",
              "excel",
              "exchange",
              "forefront",
              "groove",
              "hololens",
              "hyperv",
              "kinect",
              "lync",
              "msdn",
              "o365",
              "office",
              "office365",
              "onedrive",
              "onenote",
              "outlook",
              "powerpoint",
              "sharepoint",
              "skype",
              "visio",
              "visualstudio",
              "web.config",
              "xbox"
            ],
            "prefix": [
              "login"
            ]
          },
          "offers": {
            "auth": [
              "auth0"
            ],
            "persistence": [
              "postgres"
            ],
            "users": [
              "auth0"
            ],
            "write-model": [
              "events"
            ]
          },
          "provisions": {
            "auth": {
              "auth0": "auth0",
              "entra": "entra"
            },
            "persistence": {
              "postgres": "flexible-server"
            },
            "users": {
              "auth0": "auth0"
            }
          },
          "axes": {
            "auth": {
              "entra": {
                "capabilities": [
                  "auth-entra"
                ],
                "containers": [
                  "keycloak"
                ],
                "migrations": false,
                "integration-suite": false,
                "label": "Entra ID — an app registration with the internal groups and a confidential client, provisioned in the subscription's own workforce tenant; Keycloak runs locally as the stand-in, with the same groups and OIDC_* keys (the flow itself is NOT implemented)",
                "features": [
                  "keycloak"
                ]
              }
            }
          }
        },
        "publisher": "ROBCOATVG",
        "description": "Microsoft Azure: Container Apps behind the environment's own ingress, PostgreSQL Flexible Server, Entra ID, and a static web app, provisioned by OpenTofu and deployed by the trunk pipeline."
      },
      {
        "version": "1.1.0",
        "file": "https://github.com/ROBCOATVG/slipwai-target-azure/releases/download/v1.1.0/azure-1.1.0.tar.gz",
        "sha256": "49a794f1cbf5def389fb0b1bbe998a036a08c704c447290fb5ab143550966695",
        "kind": "target",
        "target": {
          "name": "azure",
          "label": "Azure — one Container App per app deployed by revision behind the environment's own ingress and managed certificate, PostgreSQL Flexible Server, Entra ID and Static Web Apps, provisioned by OpenTofu and deployed by the trunk pipeline",
          "description": "Microsoft Azure: Container Apps behind the environment's own ingress, PostgreSQL Flexible Server, Entra ID, and a static web app, provisioned by OpenTofu and deployed by the trunk pipeline.",
          "kind": "target",
          "core": ">=9.0,<10",
          "managed": true,
          "requires": [
            "http"
          ],
          "reserved": {
            "anywhere": [
              "microsoft",
              "windows"
            ],
            "word": [
              "access",
              "app_browsers",
              "app_code",
              "app_data",
              "app_globalresources",
              "app_localresources",
              "app_themes",
              "app_webreferences",
              "azure",
              "bing",
              "bizspark",
              "biztalk",
              "cortana",
              "directx",
              "dotnet",
              "dynamics",
              "excel",
              "exchange",
              "forefront",
              "groove",
              "hololens",
              "hyperv",
              "kinect",
              "lync",
              "msdn",
              "o365",
              "office",
              "office365",
              "onedrive",
              "onenote",
              "outlook",
              "powerpoint",
              "sharepoint",
              "skype",
              "visio",
              "visualstudio",
              "web.config",
              "xbox"
            ],
            "prefix": [
              "login"
            ]
          },
          "offers": {
            "auth": [
              "auth0"
            ],
            "persistence": [
              "postgres"
            ],
            "users": [
              "auth0"
            ],
            "write-model": [
              "events"
            ]
          },
          "provisions": {
            "auth": {
              "auth0": "auth0",
              "entra": "entra"
            },
            "persistence": {
              "postgres": "flexible-server"
            },
            "users": {
              "auth0": "auth0"
            }
          },
          "axes": {
            "auth": {
              "entra": {
                "capabilities": [
                  "auth-entra"
                ],
                "containers": [
                  "keycloak"
                ],
                "migrations": false,
                "integration-suite": false,
                "label": "Entra ID — an app registration with the internal groups and a confidential client, provisioned in the subscription's own workforce tenant; Keycloak runs locally as the stand-in, with the same groups and OIDC_* keys (the flow itself is NOT implemented)",
                "features": [
                  "keycloak"
                ]
              }
            }
          }
        },
        "publisher": "ROBCOATVG",
        "description": "Microsoft Azure: Container Apps behind the environment's own ingress, PostgreSQL Flexible Server, Entra ID, and a static web app, provisioned by OpenTofu and deployed by the trunk pipeline."
      }
    ],
    "codegraph": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-extension-codegraph/releases/download/v1.0.0/codegraph-1.0.0.tar.gz",
        "sha256": "c6acbf038e863c86dcc8b61c10fb36af56ea70ff59d6f5e075c3186c5558cfea",
        "kind": "extension",
        "extension": {
          "key": "codegraph",
          "name": "CodeGraph",
          "description": "Indexes the codebase into a local knowledge graph your coding agent can query over MCP, so it can trace callers, dependencies, and the blast radius of a change across files.",
          "kind": "extension",
          "core": ">=9.0,<10",
          "publisher": "ROBCOATVG",
          "tags": [
            "dev-tooling"
          ],
          "ignore": ".codegraph/\n",
          "hooks": {
            "init": "init.py",
            "after-stage": {
              "run": "hooks/sync.py",
              "stages": [
                "implement",
                "converge"
              ],
              "budget": "30s"
            },
            "check": "hooks/check.py"
          }
        },
        "publisher": "ROBCOATVG",
        "description": "Indexes the codebase into a local knowledge graph your coding agent can query over MCP, so it can trace callers, dependencies, and the blast radius of a change across files.",
        "tags": [
          "dev-tooling"
        ]
      }
    ],
    "go": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-language-go/releases/download/v1.0.0/go-1.0.0.tar.gz",
        "sha256": "f9ea296a77aeb30033cf8a8bb0d86875e410e4005afad9b5f862a845bbebda5c",
        "kind": "language",
        "language": {
          "name": "go",
          "core": ">=9.0,<10",
          "order": 30,
          "family": "go",
          "backends": {
            "go": {
              "label": "Go — modules, gofmt, `go vet`, `go test`",
              "targets": [
                "none",
                "existing",
                "aws",
                "azure"
              ],
              "options": {
                "event-store": [
                  "memory",
                  "sqlite",
                  "postgres"
                ],
                "http": [
                  "none",
                  "net-http"
                ],
                "auth": [
                  "none",
                  "keycloak",
                  "cognito",
                  "entra",
                  "auth0"
                ],
                "users": [
                  "none",
                  "keycloak",
                  "cognito",
                  "auth0"
                ]
              },
              "defaults": {
                "http": "net-http"
              }
            }
          },
          "axes": {
            "http": {
              "net-http": {
                "label": "net/http — standard-library JSON API, no framework dependency",
                "capabilities": [
                  "http-net-http"
                ],
                "features": [
                  "net-http"
                ],
                "containers": [],
                "migrations": false,
                "integration-suite": false,
                "targets": [
                  "none",
                  "existing",
                  "aws",
                  "azure"
                ],
                "app-in-compose": true,
                "repository-owned": [
                  "packages/api-client"
                ],
                "web-app-owned": [
                  "src/routes",
                  "tests/routes"
                ]
              }
            }
          }
        },
        "publisher": "ROBCOATVG"
      }
    ],
    "java": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-language-java/releases/download/v1.0.0/java-1.0.0.tar.gz",
        "sha256": "acabfb6bbb83989c49d0dd8a005b35208832f8be71a7e51336afb2ce6279ed89",
        "kind": "language",
        "language": {
          "name": "java",
          "core": ">=9.0,<10",
          "order": 40,
          "family": "java",
          "backends": {},
          "default_framework": "quarkus"
        },
        "publisher": "ROBCOATVG"
      }
    ],
    "java-quarkus": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-language-java-quarkus/releases/download/v1.0.0/java-quarkus-1.0.0.tar.gz",
        "sha256": "81072789e3970b0ec1299723ef6e76d32ae9a04908c64ab59e9dbdda1e48f138",
        "kind": "language",
        "language": {
          "name": "java-quarkus",
          "core": ">=9.0,<10",
          "order": 40,
          "family": "java",
          "requires": {
            "java": ">=1.0,<2"
          },
          "backends": {
            "java-quarkus": {
              "framework": "quarkus",
              "label": "Java — Quarkus owns startup (Agroal, Flyway, SmallRye Health, OIDC); Maven, Checkstyle/PMD/SpotBugs, JUnit 5",
              "targets": [
                "none",
                "existing",
                "aws",
                "azure"
              ],
              "options": {
                "event-store": [
                  "memory",
                  "sqlite",
                  "postgres"
                ],
                "http": [
                  "none",
                  "quarkus-rest"
                ],
                "auth": [
                  "none",
                  "keycloak",
                  "cognito",
                  "entra",
                  "auth0"
                ],
                "users": [
                  "none",
                  "keycloak",
                  "cognito",
                  "auth0"
                ]
              },
              "defaults": {
                "http": "quarkus-rest"
              }
            }
          },
          "axes": {
            "http": {
              "quarkus-rest": {
                "label": "Quarkus REST — JSON API on the framework's own HTTP layer, with SmallRye Health serving the readiness probe",
                "capabilities": [
                  "http-quarkus-rest"
                ],
                "features": [
                  "quarkus-rest"
                ],
                "containers": [],
                "migrations": false,
                "integration-suite": false,
                "targets": [
                  "none",
                  "existing",
                  "aws",
                  "azure"
                ],
                "app-in-compose": true,
                "note": "Dropping it takes SmallRye Health with it: the readiness probe is the framework's."
              }
            }
          }
        },
        "publisher": "ROBCOATVG"
      }
    ],
    "java-spring": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-language-java-spring/releases/download/v1.0.0/java-spring-1.0.0.tar.gz",
        "sha256": "6bbedf9cb8703236cb16cc814821e281b74c75515007b5f186e768fcc42fed30",
        "kind": "language",
        "language": {
          "name": "java-spring",
          "core": ">=9.0,<10",
          "order": 40,
          "family": "java",
          "requires": {
            "java": ">=1.0,<2"
          },
          "backends": {
            "java-spring": {
              "framework": "spring-boot",
              "label": "Java — Spring Boot owns startup (HikariCP, Flyway, Actuator, Spring Security); Maven, Checkstyle/PMD/SpotBugs, JUnit 5",
              "targets": [
                "none",
                "existing",
                "aws",
                "azure"
              ],
              "options": {
                "event-store": [
                  "memory",
                  "sqlite",
                  "postgres"
                ],
                "http": [
                  "none",
                  "spring-web"
                ],
                "auth": [
                  "none",
                  "keycloak",
                  "cognito",
                  "entra",
                  "auth0"
                ],
                "users": [
                  "none",
                  "keycloak",
                  "cognito",
                  "auth0"
                ]
              },
              "defaults": {
                "http": "spring-web"
              }
            }
          },
          "axes": {
            "http": {
              "spring-web": {
                "label": "Spring MVC — JSON API on Tomcat over virtual threads, with Actuator serving the readiness probe",
                "capabilities": [
                  "http-spring-web"
                ],
                "features": [
                  "spring-web"
                ],
                "containers": [],
                "migrations": false,
                "integration-suite": false,
                "targets": [
                  "none",
                  "existing",
                  "aws",
                  "azure"
                ],
                "app-in-compose": true,
                "note": "Dropping it takes Actuator with it: the readiness probe is the framework's."
              }
            }
          }
        },
        "publisher": "ROBCOATVG"
      }
    ],
    "python": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-language-python/releases/download/v1.0.0/python-1.0.0.tar.gz",
        "sha256": "af9b89b23acc23851d7f05256f6357b3b2555ff571ca922cc73cf0179813c160",
        "kind": "language",
        "language": {
          "name": "python",
          "core": ">=9.0,<10",
          "order": 20,
          "family": "python",
          "backends": {
            "python": {
              "label": "Python — pip, Ruff, pytest",
              "targets": [
                "none",
                "existing",
                "aws",
                "azure"
              ],
              "options": {
                "event-store": [
                  "memory",
                  "sqlite",
                  "postgres"
                ],
                "http": [
                  "none",
                  "fastapi"
                ],
                "auth": [
                  "none",
                  "keycloak",
                  "cognito",
                  "entra",
                  "auth0"
                ],
                "users": [
                  "none",
                  "keycloak",
                  "cognito",
                  "auth0"
                ]
              },
              "defaults": {
                "http": "fastapi"
              }
            }
          },
          "axes": {
            "http": {
              "fastapi": {
                "label": "FastAPI — JSON API on ASGI, schema-parsed at the edge",
                "capabilities": [
                  "http-fastapi"
                ],
                "features": [
                  "fastapi"
                ],
                "containers": [],
                "migrations": false,
                "integration-suite": false,
                "targets": [
                  "none",
                  "existing",
                  "aws",
                  "azure"
                ],
                "app-in-compose": true,
                "repository-owned": [
                  "packages/api-client"
                ],
                "web-app-owned": [
                  "src/routes",
                  "tests/routes"
                ]
              }
            }
          }
        },
        "publisher": "ROBCOATVG"
      }
    ],
    "typescript": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-language-typescript/releases/download/v1.0.0/typescript-1.0.0.tar.gz",
        "sha256": "7ce71458fe6ba6eaf2f2868641f4aeda3c581ada0e8e55d5e3dd77f392c23f62",
        "kind": "language",
        "language": {
          "name": "typescript",
          "core": ">=9.0,<10",
          "order": 10,
          "family": "typescript",
          "backends": {
            "typescript": {
              "label": "TypeScript — Node and npm workspaces, ESLint, `tsc`, Vitest",
              "targets": [
                "none",
                "existing",
                "aws",
                "azure"
              ],
              "options": {
                "event-store": [
                  "memory",
                  "sqlite",
                  "postgres"
                ],
                "http": [
                  "none",
                  "fastify"
                ],
                "auth": [
                  "none",
                  "keycloak",
                  "cognito",
                  "entra",
                  "auth0"
                ],
                "users": [
                  "none",
                  "keycloak",
                  "cognito",
                  "auth0"
                ]
              },
              "defaults": {
                "http": "fastify"
              }
            }
          },
          "axes": {
            "http": {
              "fastify": {
                "label": "Fastify — JSON API, schema-parsed at the edge",
                "capabilities": [
                  "http-fastify"
                ],
                "features": [
                  "fastify"
                ],
                "containers": [],
                "migrations": false,
                "integration-suite": false,
                "targets": [
                  "none",
                  "existing",
                  "aws",
                  "azure"
                ],
                "app-in-compose": true,
                "repository-owned": [
                  "packages/api-client"
                ],
                "web-app-owned": [
                  "src/routes",
                  "tests/routes"
                ]
              }
            }
          }
        },
        "publisher": "ROBCOATVG"
      }
    ],
    "uipro": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-extension-uipro/releases/download/v1.0.0/uipro-1.0.0.tar.gz",
        "sha256": "b1753e82deb1f0b883102a62284fece8c8b58feef318971cbe5ff20f6a7996da",
        "kind": "extension",
        "extension": {
          "key": "uipro",
          "name": "UI/UX Pro Max",
          "description": "Installs the ui-ux-pro-max skill into skills/: an offline, searchable design-system generator (styles, palettes, type pairings, chart types and UX rules by product type) a slice consults before deciding what its screen looks like. Needs a browser app.",
          "kind": "extension",
          "core": ">=9.0,<10",
          "publisher": "ROBCOATVG",
          "tags": [
            "dev-tooling"
          ],
          "ignore": "skills/ui-ux-pro-max/\n",
          "hooks": {
            "init": "init.py",
            "check": "hooks/check.py"
          }
        },
        "publisher": "ROBCOATVG",
        "description": "Installs the ui-ux-pro-max skill into skills/: an offline, searchable design-system generator (styles, palettes, type pairings, chart types and UX rules by product type) a slice consults before deciding what its screen looks like. Needs a browser app.",
        "tags": [
          "dev-tooling"
        ]
      }
    ],
    "ux-gates": [
      {
        "version": "1.0.0",
        "file": "https://github.com/ROBCOATVG/slipwai-extension-ux-gates/releases/download/v1.0.0/ux-gates-1.0.0.tar.gz",
        "sha256": "1c41c4394cd52a561cbb1a1c2af58d9621f886660ad6d76187cea96a9bb71ce8",
        "kind": "extension",
        "extension": {
          "key": "ux-gates",
          "name": "UX gates",
          "description": "Installs the ux-ui-agent-skills kit under tools/ and adds its objective gates to make verify: no literal colour, size or duration outside the design tokens, and real-render contrast, focus, target-size, responsive and axe checks over screen previews where a browser is present. Needs a browser app.",
          "kind": "extension",
          "core": ">=9.0,<10",
          "publisher": "ROBCOATVG",
          "tags": [
            "dev-tooling"
          ],
          "ignore": "tools/ux-gates/\n",
          "hooks": {
            "init": "init.py",
            "check": "hooks/check.py"
          }
        },
        "publisher": "ROBCOATVG",
        "description": "Installs the ux-ui-agent-skills kit under tools/ and adds its objective gates to make verify: no literal colour, size or duration outside the design tokens, and real-render contrast, focus, target-size, responsive and axe checks over screen previews where a browser is present. Needs a browser app.",
        "tags": [
          "dev-tooling"
        ]
      }
    ]
  }
}
