{"id":26221458,"url":"https://github.com/jamallyons/convex-typegen","last_synced_at":"2025-06-20T09:38:21.881Z","repository":{"id":209705225,"uuid":"724744280","full_name":"JamalLyons/convex-typegen","owner":"JamalLyons","description":"Blazingly fast type generator for ConvexDB","archived":false,"fork":false,"pushed_at":"2025-05-24T19:34:23.000Z","size":333,"stargazers_count":10,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-12T04:04:30.663Z","etag":null,"topics":["convex","database-schema","database-tool","parser"],"latest_commit_sha":null,"homepage":"https://docs.rs/convex-typegen/latest/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JamalLyons.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"jamallyons","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2023-11-28T17:52:47.000Z","updated_at":"2025-06-07T09:36:45.000Z","dependencies_parsed_at":"2024-02-20T03:41:41.433Z","dependency_job_id":"f5b40582-89dd-4f61-9602-9fc261a1946b","html_url":"https://github.com/JamalLyons/convex-typegen","commit_stats":null,"previous_names":["thatguyjamal/convex-rust-schema-parser","thatguyjamal/convexdb-schema-parser","thatguyjamal/convex-typegen","jamallyons/convex-typegen"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/JamalLyons/convex-typegen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamalLyons%2Fconvex-typegen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamalLyons%2Fconvex-typegen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamalLyons%2Fconvex-typegen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamalLyons%2Fconvex-typegen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamalLyons","download_url":"https://codeload.github.com/JamalLyons/convex-typegen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamalLyons%2Fconvex-typegen/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260920159,"owners_count":23082924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["convex","database-schema","database-tool","parser"],"created_at":"2025-03-12T16:20:27.266Z","updated_at":"2025-06-20T09:38:16.862Z","avatar_url":"https://github.com/JamalLyons.png","language":"Rust","funding_links":["https://github.com/sponsors/jamallyons"],"categories":[],"sub_categories":[],"readme":"# convex-typegen\n\nA blazing fast Rust type generator for [ConvexDB](https://www.convex.dev) schemas and functions.\n\n## Features\n\n- 🚀 **Blazing Fast**: Efficient AST parsing and type generation using oxc\n- 🔄 **Auto-regeneration**: Types automatically update when schema or function files change\n- 🛠️ **Complete Type System**: \n  - Full schema type generation (tables, columns, unions)\n  - Function argument types for queries, mutations, and actions\n  - Support for all Convex types (arrays, objects, records, literals)\n  - Proper handling of optional fields and complex types\n- 🔒 **Type Safety**: \n  - Compile-time type checking\n  - Automatic serialization/deserialization\n  - Zero runtime overhead\n- 🎨 **Developer Experience**: \n  - Clean, idiomatic Rust code generation\n  - Smart function path resolution (e.g., \"auth:login\")\n  - Detailed documentation for generated types\n\n## Quick Start\n\n1. Add dependencies using cargo:\n\n```bash\ncargo add convex-typegen serde serde_json\ncargo add --build convex-typegen\n```\n\n2. Add the following to your `build.rs` file:\n\n```rust\nuse convex_typegen::generate;\n\nfn main() {\n    generate().unwrap();\n}\n```\n\n3. Run `cargo build` to generate the types.\n\nYou can watch a demo video [here](https://youtu.be/42-Ihov48AU) to learn more.\n\n## Supported Types\n\n- **Basic Types**: `string`, `number`, `boolean`, `null`, `int64`, `bytes`\n- **Complex Types**: `array`, `object`, `record`, `union`, `optional`\n- **Special Types**: `any`, `literal`, `id`\n- **Custom Types**: Automatic enum generation for union types\n\n## Acknowledgments\n\n- Built for use with [ConvexDB](https://convex.dev)\n- Powered by [oxc](https://github.com/oxc-project/oxc) for TypeScript parsing\n\n## Related Projects\n\n- [convex rust sdk](https://docs.rs/convex/latest/convex/) - Official Rust client for ConvexDB\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first.\n\n## Versioning\n\nThis project follows [Semantic Versioning](https://semver.org/) (SemVer) to manage releases. The versioning format is:\n\n- **MAJOR** version is incremented for incompatible API changes or breaking changes.\n- **MINOR** version is incremented for adding new features in a backward-compatible manner.\n- **PATCH** version is incremented for backward-compatible bug fixes or minor changes that don't add new features.\n\nFor more details, refer to the [CHANGELOG](CHANGELOG.md).\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamallyons%2Fconvex-typegen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamallyons%2Fconvex-typegen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamallyons%2Fconvex-typegen/lists"}