microsoft / microsoft/aspire

Consider emitting TypeScript APIs at build time

Open
#14,887 2 comments 0 reactions 0 assignees View on GitHub
area-polyglot
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.