Skip to content

feat(pitot): project native cross-language TypeScript interfaces - #82

Merged
bigboateng merged 1 commit into
mainfrom
feat/pitot-cross-language-types
Jul 21, 2026
Merged

feat(pitot): project native cross-language TypeScript interfaces#82
bigboateng merged 1 commit into
mainfrom
feat/pitot-cross-language-types

Conversation

@bigboateng

Copy link
Copy Markdown
Contributor

This PR introduces a cross-language projection pipeline for Pitot.

Value Translation:
Instead of requiring downstream Node/TypeScript users to redefine the JSON event schema manually (which causes drift and adoption friction), Pitot now automatically generates and projects perfectly synced, native TypeScript interfaces (pitot.ts) from the Go structs.

  • Uses reflection (jsonschema) to extract the exact API surface.
  • Uses quicktype to emit standard TypeScript.
  • The CI pipeline pitot-lab.yml enforces generation, failing the build if a Go struct is modified without its TypeScript equivalent being updated in UPSTREAM.json.

Generates strongly-typed TS interfaces from Pitot Go structs using reflection and quicktype. Automates this inside CI and tracks it in the UPSTREAM projection manifest.
@bigboateng
bigboateng merged commit fdc13b6 into main Jul 21, 2026
6 checks passed
@bigboateng
bigboateng deleted the feat/pitot-cross-language-types branch July 21, 2026 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant