Built Word Documents (.docx):
Spensara Overview (.docx)
Capability Assessment (.docx)
Brink POS Ingestion Analysis (.docx)
The Borg Ingestion Architecture (.docx)
Categories
Agent Tooling (71)
Automation workflows, orchestration references, and developer tooling guides.
- .agents/skills/agent-browser/references/authentication.md
- .agents/skills/agent-browser/references/commands.md
- .agents/skills/agent-browser/references/profiling.md
- .agents/skills/agent-browser/references/proxy-support.md
- .agents/skills/agent-browser/references/session-management.md
- .agents/skills/agent-browser/references/snapshot-refs.md
- .agents/skills/agent-browser/references/video-recording.md
- .agents/skills/agent-browser/SKILL.md
- .agents/skills/aspire-deployment/references/aws.md
- .agents/skills/aspire-deployment/references/azure.md
- .agents/skills/aspire-deployment/references/cicd.md
- .agents/skills/aspire-deployment/references/docker-compose.md
- .agents/skills/aspire-deployment/references/javascript.md
- .agents/skills/aspire-deployment/references/kubernetes.md
- .agents/skills/aspire-deployment/references/preflight.md
- .agents/skills/aspire-deployment/SKILL.md
- .agents/skills/aspire-monitoring/references/diagnostics-bridge.md
- .agents/skills/aspire-monitoring/references/monitoring.md
- .agents/skills/aspire-monitoring/references/playwright-handoff.md
- .agents/skills/aspire-monitoring/SKILL.md
- .agents/skills/aspire-orchestration/references/agent-workflows.md
- .agents/skills/aspire-orchestration/references/app-commands.md
- .agents/skills/aspire-orchestration/references/detection.md
- .agents/skills/aspire-orchestration/references/resource-management.md
- .agents/skills/aspire-orchestration/references/safety-guardrails.md
- .agents/skills/aspire-orchestration/SKILL.md
- .agents/skills/aspire/references/aspire-13-3-breaking-changes.md
- .agents/skills/aspire/SKILL.md
- .agents/skills/aspireify/references/apphost-wiring.md
- .agents/skills/aspireify/references/csharp-authoring.md
- .agents/skills/aspireify/references/docker-compose.md
- .agents/skills/aspireify/references/full-solution-apphosts.md
- .agents/skills/aspireify/references/javascript-apps.md
- .agents/skills/aspireify/references/opentelemetry.md
- .agents/skills/aspireify/references/scan-and-propose.md
- .agents/skills/aspireify/references/service-defaults.md
- .agents/skills/aspireify/references/typescript-authoring.md
- .agents/skills/aspireify/references/validation.md
- .agents/skills/aspireify/SKILL.md
- .agents/skills/caveman-compress/README.md
- .agents/skills/caveman-compress/SECURITY.md
- .agents/skills/caveman-compress/SKILL.md
- .agents/skills/caveman-help/README.md
- .agents/skills/caveman-help/SKILL.md
- .agents/skills/caveman-stats/README.md
- .agents/skills/caveman-stats/SKILL.md
- .agents/skills/caveman/README.md
- .agents/skills/caveman/SKILL.md
- .agents/skills/csharp-developer/SKILL.md
- .agents/skills/dotnet-inspect/SKILL.md
- .agents/skills/efcore-data-layer/SKILL.md
- .agents/skills/git/SKILL.md
- .agents/skills/microsoft-code-reference/SKILL.md
- .agents/skills/microsoft-docs/SKILL.md
- .agents/skills/microsoft-skill-creator/references/skill-templates.md
- .agents/skills/microsoft-skill-creator/SKILL.md
- .agents/skills/skill-creator/references/output-patterns.md
- .agents/skills/skill-creator/references/workflows.md
- .agents/skills/skill-creator/SKILL.md
- .agents/skills/tunit-testing/references/aspire-integration.md
- .agents/skills/tunit-testing/references/aspnetcore-integration.md
- .agents/skills/tunit-testing/references/assertions.md
- .agents/skills/tunit-testing/references/data-driven.md
- .agents/skills/tunit-testing/references/infrastructure-and-troubleshooting.md
- .agents/skills/tunit-testing/references/lifecycle-hooks.md
- .agents/skills/tunit-testing/SKILL.md
- AGENTS.md
- backend/AGENTS.md
- backend/tests/AGENTS.md
- Front/AGENT.md
- opencode.jsonc
Backend Tests
Scope
These rules apply to everything under backend/tests/.
Agent Guidance
- When working anywhere under
backend/tests/, load and use thetunit-testingskill as the primary source of testing guidance, patterns, and conventions. - Use the skill before adding or changing tests, test fixtures, assertions, lifecycle hooks, ASP.NET Core integration tests, or Aspire-based test infrastructure.
Test Framework
- Use
TUniteverywhere. - Use
[Test]for single-case tests. - Use TUnit-native data-driven attributes such as
[Arguments(...)]for parameterized tests.
Assertions
- Prefer native awaited
Assert.That(...)assertions for new tests. - Keep assertions direct and readable.
- Assert the behavior that matters most: output, persisted state, ordering, filtering, and errors.
Test Design
- Follow
Arrange / Act / Assert. - Prefer one clear behavior per test.
- Use descriptive test names in the form
Method_Scenario_ExpectedResult. - Keep test setup minimal; extract helpers only when reused.
Isolation
- Tests must be deterministic and independent.
- Do not rely on execution order.
- For API/data tests, keep per-test isolation through the provided schema/fixture infrastructure.
- Do not share mutable state between tests unless it is explicitly managed by the existing TUnit shared fixture/data source infrastructure.
Infrastructure
- Reuse existing test infrastructure in
Infrastructure/before adding new helpers. - For
Kds.Ai.ApiService.TestsandKds.Ai.Data.Tests, use the shared PostgreSQL/Testcontainers TUnit fixture pattern already present. - If a test requires Docker/Testcontainers, make that dependency explicit and keep the test focused.
TUnit Patterns
- Use
[Before(Test)]and[After(Test)]for per-test setup and cleanup. - Use
[ClassDataSource<T>(Shared = SharedType.PerTestSession)]for shared infrastructure such as PostgreSQL containers. - Keep live tests opt-in by gating them with
Skip.Test(...)unlessKDSAI_RUN_LIVE_TESTS=1, then useSkip.Test(...)again when required configuration is missing. - Prefer
CancellationTokentest method parameters for async flows that need cancellation.
Verification
- Run tests with
dotnet test --project <path-to-test-csproj>. - Prefer validating one backend test project at a time.
- After test changes, run the relevant
dotnet test --project ...command. - Run live tests when changing the logic they cover or at the end of the task.
- If backend code was changed together with tests, finish with a solution build when possible.
- Do not run
dotnet buildanddotnet testat the same time for overlapping backend projects. - Do not run multiple build/test commands in parallel against the same project outputs because file locks can cause false failures.
Live Test Execution
- Live tests run only when
KDSAI_RUN_LIVE_TESTS=1. - Do not set
KDSAI_RUN_LIVE_TESTSin CI workflows such as.github/workflows/build-and-test.yml. - PowerShell session example:
powershell
$env:KDSAI_RUN_LIVE_TESTS="1"
dotnet test --project "backend/tests/Kds.Ai.Data.Tests/Kds.Ai.Data.Tests.csproj"- Single-command PowerShell example:
powershell
pwsh -NoProfile -Command '$env:KDSAI_RUN_LIVE_TESTS="1"; dotnet test --project "backend/tests/Kds.Ai.Integrations.BrinkPos.Tests/Kds.Ai.Integrations.BrinkPos.Tests.csproj"'