@travetto/llm-support 8.0.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +101 -0
  2. package/__index__.ts +11 -0
  3. package/llm/consumer/INSTRUCTIONS.md +44 -0
  4. package/llm/maintainer/INSTRUCTIONS.md +37 -0
  5. package/package.json +56 -0
  6. package/resources/snippets/autograph-cli-orchestration.md +21 -0
  7. package/resources/snippets/code/aws-lambda-package-and-deploy.yml.tpl +36 -0
  8. package/resources/snippets/code/cache-enhancements.config.ts.tpl +6 -0
  9. package/resources/snippets/code/cache-enhancements.service.ts.tpl +16 -0
  10. package/resources/snippets/code/create-web-interceptor.ts.tpl +15 -0
  11. package/resources/snippets/code/create-web-route.controller.ts.tpl +15 -0
  12. package/resources/snippets/code/create-web-route.service.ts.tpl +8 -0
  13. package/resources/snippets/code/email-config.ts.tpl +6 -0
  14. package/resources/snippets/code/email-context-schema.ts.tpl +7 -0
  15. package/resources/snippets/code/email-create-template.mustache.tpl +2 -0
  16. package/resources/snippets/code/email-fixture.json.tpl +6 -0
  17. package/resources/snippets/code/email-preview-test.ts.tpl +14 -0
  18. package/resources/snippets/code/email-render-pipeline.ts.tpl +12 -0
  19. package/resources/snippets/code/email-send-controller.ts.tpl +18 -0
  20. package/resources/snippets/code/email-transport-provider.ts.tpl +8 -0
  21. package/resources/snippets/code/enable-auth-session.config.ts.tpl +34 -0
  22. package/resources/snippets/code/enable-auth-session.controller.ts.tpl +30 -0
  23. package/resources/snippets/code/enable-file-upload.config.ts.tpl +6 -0
  24. package/resources/snippets/code/enable-file-upload.controller.ts.tpl +16 -0
  25. package/resources/snippets/code/enable-linting.package.json.tpl +13 -0
  26. package/resources/snippets/code/generate-config.app-config.ts.tpl +7 -0
  27. package/resources/snippets/code/generate-config.application.yml.tpl +3 -0
  28. package/resources/snippets/code/generate-config.local.yml.tpl +2 -0
  29. package/resources/snippets/code/generate-test-suite.fixture.json.tpl +4 -0
  30. package/resources/snippets/code/generate-test-suite.unit.ts.tpl +11 -0
  31. package/resources/snippets/code/model-indexed.indexes.ts.tpl +14 -0
  32. package/resources/snippets/code/model-indexed.model.ts.tpl +8 -0
  33. package/resources/snippets/code/model-indexed.service.ts.tpl +15 -0
  34. package/resources/snippets/code/model-query.service.ts.tpl +18 -0
  35. package/resources/snippets/code/openapi-client-generation.readme.tpl +13 -0
  36. package/resources/snippets/code/openapi-client-generation.yml.tpl +20 -0
  37. package/resources/snippets/code/openapi-spec-pipeline.yml.tpl +21 -0
  38. package/resources/snippets/code/pack-docker-release.yml.tpl +21 -0
  39. package/resources/snippets/code/project-bootstrap.application.yml.tpl +2 -0
  40. package/resources/snippets/code/project-bootstrap.home-controller.ts.tpl +15 -0
  41. package/resources/snippets/code/project-bootstrap.home-service.ts.tpl +8 -0
  42. package/resources/snippets/code/project-bootstrap.monorepo.package.json.tpl +12 -0
  43. package/resources/snippets/code/project-bootstrap.package.json.tpl +18 -0
  44. package/resources/snippets/code/repo-version-release.yml.tpl +25 -0
  45. package/resources/snippets/code/rest-rpc-client.client.ts.tpl +8 -0
  46. package/resources/snippets/code/rest-rpc-client.index.ts.tpl +1 -0
  47. package/resources/snippets/code/workflow-cloudfront-deploy.yml.tpl +18 -0
  48. package/resources/snippets/code/workflow-gcp-deploy.yml.tpl +18 -0
  49. package/resources/snippets/core-aws-lambda-package-and-deploy.md +21 -0
  50. package/resources/snippets/core-email-compiler-pattern.md +21 -0
  51. package/resources/snippets/core-email-module-contract.md +21 -0
  52. package/resources/snippets/core-email-nodemailer-provider.md +21 -0
  53. package/resources/snippets/core-eslint-ruleset.md +21 -0
  54. package/resources/snippets/core-openapi-client-generation.md +21 -0
  55. package/resources/snippets/core-openapi-spec-pipeline.md +21 -0
  56. package/resources/snippets/core-pack-docker-release.md +21 -0
  57. package/resources/snippets/core-repo-version-release.md +21 -0
  58. package/resources/snippets/core-upload-pattern.md +21 -0
  59. package/resources/snippets/core-web-controller-pattern.md +23 -0
  60. package/resources/snippets/core-work-pool-pattern.md +23 -0
  61. package/resources/snippets/embracinglife-cloudfront-deploy.md +21 -0
  62. package/resources/snippets/embracinglife-gcp-deploy.md +21 -0
  63. package/resources/snippets/recipe-auth-google-oauth.md +21 -0
  64. package/resources/snippets/recipe-indexed-model-pattern.md +21 -0
  65. package/resources/snippets/recipe-upload-presigned.md +21 -0
  66. package/resources/snippets/todo-app-test-pattern.md +21 -0
  67. package/src/consumer-docs.ts +23 -0
  68. package/src/execute.ts +624 -0
  69. package/src/install-guidance.ts +187 -0
  70. package/src/mcp.ts +170 -0
  71. package/src/plan.ts +110 -0
  72. package/src/recommendation.ts +306 -0
  73. package/src/snippet-catalog.ts +80 -0
  74. package/src/snippet-shapes.ts +14 -0
  75. package/src/template-shapes.ts +13 -0
  76. package/src/tooling.ts +197 -0
  77. package/src/types.ts +215 -0
  78. package/src/workflow-guidance.ts +220 -0
  79. package/support/base-command.ts +57 -0
  80. package/support/cli.llm_support_execute.ts +80 -0
  81. package/support/cli.llm_support_mcp.ts +62 -0
  82. package/support/cli.llm_support_plan.ts +30 -0
  83. package/support/cli.llm_support_recommend.ts +34 -0
  84. package/support/cli.llm_support_status.ts +30 -0
@@ -0,0 +1,18 @@
1
+ import { Inject, Injectable } from '@travetto/di';
2
+ import type { ModelQuerySupport, Query } from '@travetto/model-query';
3
+
4
+ import { {{modelName}} } from '../model/{{modelFile}}.ts';
5
+
6
+ @Injectable()
7
+ export class {{modelName}}QueryService {
8
+ @Inject()
9
+ source: ModelQuerySupport;
10
+
11
+ queryByQuestion(question: string): Promise<{{modelName}}[]> {
12
+ const lowered = question.toLowerCase();
13
+ const query: Query<{{modelName}}> = lowered.includes('recent') ?
14
+ { where: {}, sort: { createdAt: -1 }, limit: 25 } :
15
+ { where: {} };
16
+ return this.source.query({{modelName}}, query);
17
+ }
18
+ }
@@ -0,0 +1,13 @@
1
+ # Generated API Client
2
+
3
+ This directory is generated from OpenAPI definitions.
4
+
5
+ ## Regeneration
6
+
7
+ Run:
8
+
9
+ ```bash
10
+ npx trv openapi:client --input openapi.yml --output src/client
11
+ ```
12
+
13
+ Commit generated changes when API contract updates are intentional.
@@ -0,0 +1,20 @@
1
+ name: openapi-client
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ pull_request:
6
+ paths:
7
+ - openapi.yml
8
+ - openapi.generated.yml
9
+
10
+ jobs:
11
+ generate-client:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - uses: actions/setup-node@v4
16
+ with:
17
+ node-version: 20
18
+ - run: npm ci
19
+ - run: npx trv openapi:client --input openapi.yml --output src/client
20
+ - run: git diff --exit-code
@@ -0,0 +1,21 @@
1
+ name: openapi-spec
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ jobs:
9
+ generate:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: actions/setup-node@v4
14
+ with:
15
+ node-version: 20
16
+ - run: npm ci
17
+ - run: npx trv openapi:spec --format yaml --output openapi.generated.yml
18
+ - uses: actions/upload-artifact@v4
19
+ with:
20
+ name: openapi-spec
21
+ path: openapi.generated.yml
@@ -0,0 +1,21 @@
1
+ name: docker-release
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+ permissions:
12
+ contents: read
13
+ packages: write
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: actions/setup-node@v4
17
+ with:
18
+ node-version: 20
19
+ - run: npm ci
20
+ - run: npx trv pack:docker --tag "$GITHUB_SHA"
21
+ - run: echo "Publish container image to your registry"
@@ -0,0 +1,2 @@
1
+ app:
2
+ name: {{projectName}}
@@ -0,0 +1,15 @@
1
+ import { Inject } from '@travetto/di';
2
+ import { Controller, Get } from '@travetto/web';
3
+
4
+ import { HomeService } from '../service/home.ts';
5
+
6
+ @Controller('/home')
7
+ export class HomeController {
8
+ @Inject()
9
+ service: HomeService;
10
+
11
+ @Get('/')
12
+ getHome(): { status: string; message: string } {
13
+ return { status: 'ok', message: this.service.getMessage() };
14
+ }
15
+ }
@@ -0,0 +1,8 @@
1
+ import { Injectable } from '@travetto/di';
2
+
3
+ @Injectable()
4
+ export class HomeService {
5
+ getMessage(): string {
6
+ return 'Service is running';
7
+ }
8
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "private": true,
4
+ "type": "module",
5
+ "workspaces": [
6
+ "packages/*"
7
+ ],
8
+ "scripts": {
9
+ "start": "npm run -w {{workspaceName}} start",
10
+ "test": "npm run -w {{workspaceName}} test"
11
+ }
12
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "test": "trv test",
7
+ "start": "trv web:http"
8
+ },
9
+ "dependencies": {
10
+ "@travetto/di": "^8.0.0-alpha.14",
11
+ "@travetto/web": "^8.0.0-alpha.16",
12
+ "@travetto/web-http": "^8.0.0-alpha.17"
13
+ },
14
+ "devDependencies": {
15
+ "@travetto/cli": "^8.0.0-alpha.20",
16
+ "@travetto/compiler": "^8.0.0-alpha.16"
17
+ }
18
+ }
@@ -0,0 +1,25 @@
1
+ name: repo-version-release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ mode:
7
+ description: Release mode
8
+ required: true
9
+ default: changed
10
+ level:
11
+ description: Semver level
12
+ required: true
13
+ default: patch
14
+
15
+ jobs:
16
+ version:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - uses: actions/setup-node@v4
21
+ with:
22
+ node-version: 20
23
+ - run: npm ci
24
+ - run: npx trv repo:version --mode "${{ inputs.mode }}" --level "${{ inputs.level }}"
25
+ - run: git status --short
@@ -0,0 +1,8 @@
1
+ import { Injectable } from '@travetto/di';
2
+
3
+ @Injectable()
4
+ export class {{clientName}} {
5
+ getEndpoint(): string {
6
+ return '/{{routePath}}';
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ export { {{clientName}} } from './{{clientFile}}.ts';
@@ -0,0 +1,18 @@
1
+ name: Deploy UI (CloudFront)
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ deploy-ui:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: actions/setup-node@v4
14
+ with:
15
+ node-version: 20
16
+ - run: npm ci
17
+ - run: npm run build
18
+ - run: echo "Sync to S3 and invalidate CloudFront here"
@@ -0,0 +1,18 @@
1
+ name: Deploy API (GCP)
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ deploy-api:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: actions/setup-node@v4
14
+ with:
15
+ node-version: 20
16
+ - run: npm ci
17
+ - run: npm run build
18
+ - run: echo "Deploy API to GCP here"
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-aws-lambda-package-and-deploy",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/web-aws-lambda/src",
6
+ "capabilityTags": ["aws", "lambda", "packaging", "deploy"],
7
+ "operationIds": ["aws-lambda-package-and-deploy"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Package and deploy Lambda artifacts through CI with explicit environment controls."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-aws-lambda-package-and-deploy
16
+
17
+ - Source: `module/web-aws-lambda/src`
18
+ - Capability tags: aws, lambda, packaging, deploy
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Package and deploy Lambda artifacts through CI with explicit environment controls.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-email-compiler-pattern",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/email-compiler/src/service.ts",
6
+ "capabilityTags": ["email", "compiler", "rendering"],
7
+ "operationIds": ["email-render-pipeline"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Reference compiler pipeline for transforming template sources into renderable outputs."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-email-compiler-pattern
16
+
17
+ - Source: `module/email-compiler/src/service.ts`
18
+ - Capability tags: email, compiler, rendering
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Reference compiler pipeline for transforming template sources into renderable outputs.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-email-module-contract",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/email/src/types.ts",
6
+ "capabilityTags": ["email", "template", "contract"],
7
+ "operationIds": ["email-create-template", "email-context-schema"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Reference email payload and template contract conventions."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-email-module-contract
16
+
17
+ - Source: `module/email/src/types.ts`
18
+ - Capability tags: email, template, contract
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Reference email payload and template contract conventions.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-email-nodemailer-provider",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/email-nodemailer/src/service.ts",
6
+ "capabilityTags": ["email", "provider", "transport", "nodemailer"],
7
+ "operationIds": ["email-transport-provider", "email-send-flow"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Reference runtime provider wiring and transport integration points."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-email-nodemailer-provider
16
+
17
+ - Source: `module/email-nodemailer/src/service.ts`
18
+ - Capability tags: email, provider, transport, nodemailer
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Reference runtime provider wiring and transport integration points.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-eslint-ruleset",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/eslint/support/eslint.config.ts",
6
+ "capabilityTags": ["quality", "lint", "eslint", "fix"],
7
+ "operationIds": ["enable-linting"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Reference lint baseline setup and autofix-friendly rule composition."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-eslint-ruleset
16
+
17
+ - Source: `module/eslint/support/eslint.config.ts`
18
+ - Capability tags: quality, lint, eslint, fix
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Reference lint baseline setup and autofix-friendly rule composition.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-openapi-client-generation",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/openapi/src",
6
+ "capabilityTags": ["openapi", "client", "generation"],
7
+ "operationIds": ["openapi-client-generation"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Regenerate and validate OpenAPI clients in CI when contracts change."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-openapi-client-generation
16
+
17
+ - Source: `module/openapi/src`
18
+ - Capability tags: openapi, client, generation
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Regenerate and validate OpenAPI clients in CI when contracts change.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-openapi-spec-pipeline",
4
+ "repositoryId": "travetto",
5
+ "filePath": "openapi.yml",
6
+ "capabilityTags": ["openapi", "pipeline", "ci"],
7
+ "operationIds": ["openapi-spec-pipeline"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Generate OpenAPI specs in CI and publish them as artifacts for downstream consumption."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-openapi-spec-pipeline
16
+
17
+ - Source: `openapi.yml`
18
+ - Capability tags: openapi, pipeline, ci
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Generate OpenAPI specs in CI and publish them as artifacts for downstream consumption.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-pack-docker-release",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/pack/src",
6
+ "capabilityTags": ["docker", "pack", "release", "ci"],
7
+ "operationIds": ["pack-docker-release"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Build and publish Docker images from Travetto pack:docker in CI workflows."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-pack-docker-release
16
+
17
+ - Source: `module/pack/src`
18
+ - Capability tags: docker, pack, release, ci
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Build and publish Docker images from Travetto pack:docker in CI workflows.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-repo-version-release",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/repo/src",
6
+ "capabilityTags": ["repo", "version", "release", "monorepo"],
7
+ "operationIds": ["repo-version-release"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Automate monorepo version updates using repo:version with explicit release inputs."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-repo-version-release
16
+
17
+ - Source: `module/repo/src`
18
+ - Capability tags: repo, version, release, monorepo
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Automate monorepo version updates using repo:version with explicit release inputs.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-upload-pattern",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/web-upload/doc/simple-controller.ts",
6
+ "capabilityTags": ["upload", "web", "controller"],
7
+ "operationIds": ["enable-file-upload"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Reference upload decorator and file input handling patterns."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # core-upload-pattern
16
+
17
+ - Source: `module/web-upload/doc/simple-controller.ts`
18
+ - Capability tags: upload, web, controller
19
+ - Applicability: framework-native
20
+ - Notes:
21
+ - Reference upload decorator and file input handling patterns.
@@ -0,0 +1,23 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-web-controller-pattern",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/web/support/test/suite/controller.ts",
6
+ "capabilityTags": ["web", "controller", "route", "decorators"],
7
+ "operationIds": ["create-web-route"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Reference controller decorator and endpoint parameter binding patterns.",
11
+ "Use for generated route/controller/service starter output."
12
+ ]
13
+ }
14
+ -->
15
+
16
+ # core-web-controller-pattern
17
+
18
+ - Source: `module/web/support/test/suite/controller.ts`
19
+ - Capability tags: web, controller, route, decorators
20
+ - Applicability: framework-native
21
+ - Notes:
22
+ - Reference controller decorator and endpoint parameter binding patterns.
23
+ - Use for generated route/controller/service starter output.
@@ -0,0 +1,23 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "core-work-pool-pattern",
4
+ "repositoryId": "travetto",
5
+ "filePath": "module/worker/src/pool.ts",
6
+ "capabilityTags": ["worker", "async", "workpool"],
7
+ "operationIds": ["email-send-flow"],
8
+ "applicability": ["framework-native"],
9
+ "notes": [
10
+ "Use for async workload orchestration and progress-aware execution.",
11
+ "Reference when generating worker-backed send flows."
12
+ ]
13
+ }
14
+ -->
15
+
16
+ # core-work-pool-pattern
17
+
18
+ - Source: `module/worker/src/pool.ts`
19
+ - Capability tags: worker, async, workpool
20
+ - Applicability: framework-native
21
+ - Notes:
22
+ - Use for async workload orchestration and progress-aware execution.
23
+ - Reference when generating worker-backed send flows.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "embracinglife-cloudfront-deploy",
4
+ "repositoryId": "v2-embracing-life",
5
+ "filePath": ".github/workflows/deploy-ui.yml",
6
+ "capabilityTags": ["workflow", "aws", "cloudfront", "s3"],
7
+ "operationIds": ["workflow-cloudfront-deploy"],
8
+ "applicability": ["sample-project"],
9
+ "notes": [
10
+ "Reference UI deployment sync and invalidation workflow pattern."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # embracinglife-cloudfront-deploy
16
+
17
+ - Source: `.github/workflows/deploy-ui.yml`
18
+ - Capability tags: workflow, aws, cloudfront, s3
19
+ - Applicability: sample-project
20
+ - Notes:
21
+ - Reference UI deployment sync and invalidation workflow pattern.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "embracinglife-gcp-deploy",
4
+ "repositoryId": "v2-embracing-life",
5
+ "filePath": ".github/workflows/deploy-api.yml",
6
+ "capabilityTags": ["workflow", "gcp", "deploy", "cloud-run"],
7
+ "operationIds": ["workflow-gcp-deploy"],
8
+ "applicability": ["sample-project"],
9
+ "notes": [
10
+ "Reference Cloud Run deployment workflow structure and artifact push strategy."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # embracinglife-gcp-deploy
16
+
17
+ - Source: `.github/workflows/deploy-api.yml`
18
+ - Capability tags: workflow, gcp, deploy, cloud-run
19
+ - Applicability: sample-project
20
+ - Notes:
21
+ - Reference Cloud Run deployment workflow structure and artifact push strategy.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "recipe-auth-google-oauth",
4
+ "repositoryId": "recipe-manager",
5
+ "filePath": "modules/api/src/web/auth.config.ts",
6
+ "capabilityTags": ["auth", "oauth", "passport", "google"],
7
+ "operationIds": ["enable-auth-session"],
8
+ "applicability": ["sample-project"],
9
+ "notes": [
10
+ "Reference Google OAuth strategy wiring and principal mapping."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # recipe-auth-google-oauth
16
+
17
+ - Source: `modules/api/src/web/auth.config.ts`
18
+ - Capability tags: auth, oauth, passport, google
19
+ - Applicability: sample-project
20
+ - Notes:
21
+ - Reference Google OAuth strategy wiring and principal mapping.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "recipe-indexed-model-pattern",
4
+ "repositoryId": "recipe-manager",
5
+ "filePath": "modules/api/src/model/recipe.ts",
6
+ "capabilityTags": ["model", "indexed", "query"],
7
+ "operationIds": ["model-indexed-assistant", "model-query-assistant"],
8
+ "applicability": ["sample-project"],
9
+ "notes": [
10
+ "Reference sorted/keyed/unique index usage and query-centric model design."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # recipe-indexed-model-pattern
16
+
17
+ - Source: `modules/api/src/model/recipe.ts`
18
+ - Capability tags: model, indexed, query
19
+ - Applicability: sample-project
20
+ - Notes:
21
+ - Reference sorted/keyed/unique index usage and query-centric model design.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "recipe-upload-presigned",
4
+ "repositoryId": "recipe-manager",
5
+ "filePath": "modules/api/src/web/image.ts",
6
+ "capabilityTags": ["upload", "presigned-url", "blob"],
7
+ "operationIds": ["enable-file-upload"],
8
+ "applicability": ["sample-project"],
9
+ "notes": [
10
+ "Reference presigned upload URL generation and validation patterns."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # recipe-upload-presigned
16
+
17
+ - Source: `modules/api/src/web/image.ts`
18
+ - Capability tags: upload, presigned-url, blob
19
+ - Applicability: sample-project
20
+ - Notes:
21
+ - Reference presigned upload URL generation and validation patterns.
@@ -0,0 +1,21 @@
1
+ <!-- json
2
+ {
3
+ "sourceId": "todo-app-test-pattern",
4
+ "repositoryId": "travetto",
5
+ "filePath": "related/todo-app/test/service.ts",
6
+ "capabilityTags": ["test", "suite", "service"],
7
+ "operationIds": ["generate-test-suite"],
8
+ "applicability": ["sample-project"],
9
+ "notes": [
10
+ "Reference integration-focused suite layout with injected services."
11
+ ]
12
+ }
13
+ -->
14
+
15
+ # todo-app-test-pattern
16
+
17
+ - Source: `related/todo-app/test/service.ts`
18
+ - Capability tags: test, suite, service
19
+ - Applicability: sample-project
20
+ - Notes:
21
+ - Reference integration-focused suite layout with injected services.