feat(pitot): restructure public distribution as a polyglot SDK - #83
Merged
Conversation
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.
Adds package.json, tsconfig.json, and an index.ts to the projected surface, completing the value translation of Pitot into a first-class SDK for TypeScript consumers.
- Rewrite opening to focus on user outcome and failure state - Translate portability table to show retained operational value - Insert explicit 'How it works' and compounding mechanism sections - Move technical features and installation instructions below outcomes
Moves TypeScript to sdk/typescript/, introduces Python to sdk/python/, and prevents non-Go artifacts from cluttering the public repository root.
…cture # Conflicts: # .github/workflows/pitot-lab.yml # labs/12-product-engineering-loop/boatstack-distribution/README.md # labs/15-pitot/scripts/build_pitot.py # labs/15-pitot/scripts/generate_types.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR reorganizes the Pitot projection surface to cleanly support multiple languages without cluttering the Go module root.
Changes:
pitot.ts,package.json, andtsconfig.jsonintosdk/typescript/.quicktypegeneration pipeline for Python, emitting types and a minimalpyproject.tomlintosdk/python/.build_pitot.pyto recursively project thesdk/directory while safely ignoring local Python compile caches (__pycache__,.pyc).py_compile.This ensures that downstream users can simply pull from the
sdk/typescriptorsdk/pythonfolders for perfectly synced, native protocol primitives, while the root repository strictly follows Go conventions.