Consider emitting TypeScript APIs at build time
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 991
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 201
Description
## Emit Complete TypeScript API Surface for AI Discovery
Today, during `aspire init` and/or `aspire new`, we emit a `.modules` directory containing `/*.ts` files for the APIs the consumer plans to use. This works well for AI because the surface area in use is explicit and discoverable.
However, this does not help AI discover *additional* or *potential* APIs.
To enable true API discovery, we should consider emitting the **complete TypeScript API surface** at build time for the product itself — not just the subset currently in use.
This is important because:
- AI cannot suggest or reason about APIs it cannot see
- Discovery should not depend on prior consumer selection
- The full API surface should be structured and machine-readable
- Build-time emission guarantees alignment with the shipped product
Without a complete emitted surface, AI assistance remains reactive instead of exploratory.
Contributor guide
Research direction
Start by tracing the existing TypeScript emission used by `aspire init` and `aspire new`, including how the `.modules` directory is produced. Determine how the complete product API surface should be represented and emitted at build time, then verify that the generated output is complete, structured, machine-readable, and aligned with the shipped product.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- build-system, developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100