Repository navigation
Define the public tooling and integration extension roadmap #455
Description
Goal and background
Deferred to 2.x. Build third-party integrations on stable capabilities without turning @master/css-internal into a public SPI.
Parent tracker: #445
Baseline: 70444b18c8102fa7a9d811ec51ef96902573792c
Phase: 2.x roadmap
Ownership and scope
Public compiler/tooling APIs, MCP, and site
Dependencies
- Formalize Manifest v1 and language v3 compatibility #450
- Align inspection, validation, lint, LSP and MCP contracts #452
- Produce the 2.0 freeze readiness report #454
Implementation tasks
- Create a read-only example that loads a project, queries/inspects/validates it, and returns diagnostics.
- Identify concrete use cases that currently require private helpers, then propose minimal extensions at the appropriate owner.
- Do not assume a public adapter registry, runtime observer/event bus, or general-purpose plugin platform.
- Deliver the example, API gaps, and individual feature specifications, then create follow-up implementation issues.
Acceptance criteria
- The example uses only public exports and has type-check and execution coverage.
- Each extension has a use case, owner, compatibility policy, and acceptance criteria.
- Tooling-only payload does not enter the runtime bundle.
Validation
Execute and type-check public API examples; run package boundary checks and a bundle review when needed.
Completion report
Include source and test evidence, PRs, actual commands and results, and any CSS/API/syntax/migration impact. Checks that were not run or were blocked must not be reported as passing.
Final acceptance (2026-09-28)
The public-only inspect-project.ts example has type-check, regression and direct execution coverage, including ready/empty, invalid, unmatched and failed-project outcomes. The extension roadmap assigns use cases, ownership and compatibility boundaries. This issue completes the example and roadmap deliverable; implementation remains explicitly deferred in #457 and #459, with related authoring work in #458 and #460.
Merged into rust through PR #461 at 262adb809b928af7082107e1b5633d945cb7f427. The verified candidate is 16a90bdde96ef08ba4312e5d94aaf36d50048dca; removal commit 9d9817241 is preserved through integration merge e231a700e.
Final CI passes Linux package tests/lint/types (111/111 tasks), site build/CSS contract/Playground/lint/types and examples (36/36); Windows package tests (59/59 tasks, including Vite 676/676) and examples (36/36); Rust fmt/Clippy/workspace/codegen/parity; eight native targets; and Linux runtime/Next E2E. Runtime E2E passes 432 cases across Chromium, Firefox and WebKit, plus 10 Next cases.
Both deployments at this exact candidate pass page, canonical and removal-notice checks: Cloudflare and Vercel. Cloudflare health passes. Visual checks on the preceding candidate cover identical production site sources.
The dated audit preserves scoped commands and historical failures; this final result supersedes its pending CI status. The Compose integration review and site CSS review explain intentional contract changes. Site lint has 265 existing warnings and zero errors. No npm publication, package rename, version bump, lockfile change or release-workflow change is included.
Activity