agentleFS
CommunityToolkitCommunityToolkit/Aspire/.agents/skills/aspire-typescript-apphost/SKILL.md

aspire-typescript-apphost

Skill632 starsChanged 4 days agoMITView on GitHub

Generate a TypeScript AppHost from an existing C# example AppHost, then add a TypeScriptAppHostTest-based integration test.

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. About 0 are common, 10 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    Use this skill when the user wants to create a TypeScript AppHost (apphost.mts) from an existing C# example AppHost and add/update the …

    line 8
  2. Distinctive:

    Ask for the integration only when this skill is actively running and only if the user did not provide it.

    line 12
  3. Distinctive:

    Do not ask for integration selection before this skill is invoked.

    line 13
  4. Distinctive:

    If the user already specified an integration, use it.

    line 25
  5. Distinctive:

    Create or update the TypeScript AppHost folder

    line 36
  6. Distinctive:

    Keep template/config conventions aligned with existing TypeScript AppHost examples in this repo.

    line 44
  7. Very specific:

    Use TypeScript API method names generated for Aspire exports (for overloads, use the exported TypeScript name, not guessed C# casing).

    line 45
  8. Very specific:

    Use TypeScript Aspire methods and options shapes.

    line 49
  9. Distinctive:

    Keep path handling and package mapping valid for the example location.

    line 50
  10. Distinctive:

    Add the integration TypeScript AppHost test

    line 52
  11. Very specific:

    Add TypeScriptAppHostTests.cs in the integration test project if missing.

    line 53
  12. Very specific:

    Follow existing test style and attributes ([RequiresDocker] when applicable).

    line 60
  13. Distinctive:

    Run the relevant test project to ensure the TypeScript AppHost compiles and starts via the shared validation flow.

    line 63
  14. Very specific:

    Do not edit generated .aspire/modules/ files.

    line 67
  15. Distinctive:

    Do not change unrelated examples or tests.

    line 68
  16. Distinctive:

    Keep all changes scoped to the selected integration plus the skill files.

    line 69

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Aspire TypeScript AppHost Generator

Use this skill when the user wants to create a TypeScript AppHost (apphost.mts) from an existing C# example AppHost and add/update the corresponding integration test.

Prompting rule

  • Ask for the integration only when this skill is actively running and only if the user did not provide it.
  • Do not ask for integration selection before this skill is invoked.

Goal

For one integration, produce:

  1. A TypeScript AppHost example beside the existing C# AppHost example.
  2. A test in the integration's tests/CommunityToolkit.Aspire.Hosting.<Integration>.Tests project that uses TypeScriptAppHostTest.Run(...).

Workflow

  1. Resolve the integration
    • If the user already specified an integration, use it.
    • Otherwise, prompt for it at runtime.
  2. Locate the source AppHost and test project
    • Source C# example path pattern:
      • examples/<example>/CommunityToolkit.Aspire.Hosting.<Integration>.AppHost/Program.cs
    • Target TypeScript example path pattern:
      • examples/<example>/CommunityToolkit.Aspire.Hosting.<Integration>.AppHost.TypeScript/
    • Test project path:
      • tests/CommunityToolkit.Aspire.Hosting.<Integration>.Tests/
  3. Create or update the TypeScript AppHost folder
    • Required files:
      • apphost.mts
      • aspire.config.json
      • package.json
      • tsconfig.json
      • eslint.config.mjs
      • package-lock.json
    • Keep template/config conventions aligned with existing TypeScript AppHost examples in this repo.
    • Use TypeScript API method names generated for Aspire exports (for overloads, use the exported TypeScript name, not guessed C# casing).
  4. Translate C# AppHost logic to TypeScript
    • Preserve resource naming and behavior where practical.
    • Use TypeScript Aspire methods and options shapes.
    • Keep path handling and package mapping valid for the example location.
  5. Add the integration TypeScript AppHost test
    • Add TypeScriptAppHostTests.cs in the integration test project if missing.
    • Use:
      • TypeScriptAppHostTest.Run(...)
      • appHostProject = CommunityToolkit.Aspire.Hosting.<Integration>.AppHost.TypeScript folder name
      • packageName = integration package name
      • exampleName = example folder name
      • waitForResources = resources required to verify startup in Aspire
    • Follow existing test style and attributes ([RequiresDocker] when applicable).
  6. Validate changes
    • Run the relevant test project to ensure the TypeScript AppHost compiles and starts via the shared validation flow.

Guardrails

  • Do not edit generated .aspire/modules/ files.
  • Do not change unrelated examples or tests.
  • Keep all changes scoped to the selected integration plus the skill files.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.