{"id":21870689,"url":"https://github.com/ji-podhead/protobuffctl","last_synced_at":"2026-02-19T16:02:53.379Z","repository":{"id":227178543,"uuid":"770677322","full_name":"ji-podhead/protobuffctl","owner":"ji-podhead","description":"A CLI, API Server and Dashboard that enables you to automate and test all protobuf functions. Manage,create and delete protobuff Components. Sync and Roll back like with version controll.","archived":false,"fork":false,"pushed_at":"2024-08-14T07:22:12.000Z","size":24410,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-31T00:22:35.166Z","etag":null,"topics":["filewatcher","grpc-dashboard","grpc-go","grpc-java","grpc-kotlin","grpc-node","grpc-python","grpc-testing","grpc-web","node","protobuff","protobuff-generator"],"latest_commit_sha":null,"homepage":"https://ji-podhead.github.io/protobuffctl/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ji-podhead.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2024-03-12T00:48:17.000Z","updated_at":"2024-04-28T09:40:04.000Z","dependencies_parsed_at":"2025-07-19T20:41:48.644Z","dependency_job_id":null,"html_url":"https://github.com/ji-podhead/protobuffctl","commit_stats":null,"previous_names":["ji-podhead/protobuffctl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ji-podhead/protobuffctl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2Fprotobuffctl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2Fprotobuffctl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2Fprotobuffctl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2Fprotobuffctl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ji-podhead","download_url":"https://codeload.github.com/ji-podhead/protobuffctl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2Fprotobuffctl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29621902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["filewatcher","grpc-dashboard","grpc-go","grpc-java","grpc-kotlin","grpc-node","grpc-python","grpc-testing","grpc-web","node","protobuff","protobuff-generator"],"created_at":"2024-11-28T06:12:14.020Z","updated_at":"2026-02-19T16:02:53.345Z","avatar_url":"https://github.com/ji-podhead.png","language":"JavaScript","readme":"\u003cimg width =\"100\" align=\"right\" object-fit=\"contain\" src=\"https://github.com/ji-podhead/protobuffctl/blob/main/docs/protobuffctl.png?raw=true\"/\u003e  \n\n**| [Docs ](https://ji-podhead.github.io/protobuffctl/)|[API](https://ji-podhead.github.io/protobuffctl/API) | [CLI Guide](https://ji-podhead.github.io/protobuffctl/guides) | [Architecture](https://ji-podhead.github.io/protobuffctl/architecture) |** \n \n#  Protobuffctl \n\n [![npm version](https://img.shields.io/badge/🚧_under_construction_🚧-black)](https://www.npmjs.com/package/protobuffctl)\n[![npm version](https://img.shields.io/badge/protoc_v26.0-binary-blue)](https://www.npmjs.com/package/protobuffctl)\n[![npm version](https://badge.fury.io/js/protobuffctl.svg)](https://badge.fury.io/js/protobuffctl)\n \u003cp align=\"center\"\u003e\n\n## Automate Your Protobuf Workflow\nProtobuffctl is a comprehensive JavaScript API designed to streamline Protobuf development, offering features for creation, management, and automatic Protobuf generation, along with API server integration and a built-in dashboard for monitoring, testing and debugging.\n\n## Key Features\n- [Protobuffctl](https://github.com/ji-podhead/protobuffctl) offers an [API](https://ji-podhead.github.io/protobuffctl/) that enables you to automate all Protobuf functions.\n- Manage `message types`, `fields`, `services`, `methods`, and `enums` by using **CLI commands** or the **API server**.\n- **Automatically generates** the corresponding **Protobuf files** when making changes to the protofiles.\n- Stores all components in the **local Componentregistry**.\n- Sync with **other registries** like Gitey or PostgreSQL.\n- **Rollback** by using a local safe-file or by using an external database, similar to **version control**.\n- **Preview** the Protofile code before actually building it and export any component to **JSON**.\n- Comes with a **Dashboard** for demo, debugging, and **testing**.\n- **Monitoring** for individual `message types` and `services` using the dashboard and [D3.js](https://d3js.org/).\n- The middleware ensures **ACID** compliance and **prevents race conditions**.\n\n---\n##                      Getting Started\n**Install:**\n \n```JavaScript\nnpm i protobuffctl\n```\n**Docs:**  [see docs](https://ji-podhead.github.io/protobuffctl/guides) \u003cbr\u003e\n**CLI Guide:** [see docs/guides](https://github.com/ji-podhead/protobuffctl/blob/main/docs/CLI-guide.md) \n\n---\n###                      Update\n- serialize **Protobuff Registry** for local storage ✅\n- Exports to JSON ✅\n- **automated Proto-gen**: using my [protoc-helper repo](https://github.com/ji-podhead/protoc-helper) ✅\n- creadted a  **CLI** using commander ✅\n- changed codeBase and **removed redundant recoursion**  using hashlookuptables and relations ✅\n- Fast Saving and Loading using **Service Worker as  Middleware** that keeps the process alive ✅\n- added the **Api Server** ✅\n- added a bun react **Dashboard** ✅\n  \n##                      Comming up\n- Set up **File Watcher** to monitor your proto files for any changes. 🚧 \n- create **VC CODE EXTENSION** to manage the api in vs code  🚧  \n- sync with **external DB** using kafka and cassandra 🚧 \n- finish  **Dashboard**  and use a web compiler for demo 🚧\n- implement UUID hashing logic 🚧\n- add **tests** to Dashboard and a gRPC debug-Server 🚧 \n---\n\n## Flow Chart \n```\nArchitecture:                                                                                                  \n                  ┌───────────┐ ┌──────────────────────┐                 \n                  │ Dashboard │ │  external Database   │                    \n                  └─────▲─────┘ └──────────▲───────────┘                    \n                        │                  │                                                     \n                  ┌─────▼─────┐   ┌────────▼────────┐  ┌─────────────┐           \n                  │ Api Server◄───►   Api Wrapper   ◄──►     CLI     │          \n                  └───────────┘   └────────▲────────┘  └─────────────┘      \n                                           │                                \n                                  ┌────────▼─────────┐                                          \n                                  │  Service-Worker  │                                          \n                                  └────────▲─────────┘   \n                                           │             ┌─────────────────┐ \n                                    ┌──────▼───────┐ ┌───► HashLookUpTable │           \n                                    │              │ │   └─────────────────┘\n                                    │ Protobuffctl ◄─┤                      \n                                    │              │ │     ┌─────────────┐  \n                                    └──────▲───────┘ └─────►  Relations  │                                           \nER-Model                                   │               └─────────────┘ \n                                     ┌─────▼───────┐         \n                ┌──────────┐         │             │                        \n    ┌───────────►ProtoFiles├─────────►             │                        \n    │           └─▲──▲─────┘         │             │                                             \n    │             │  │  ┌────────┐   │             │                        \n    │             │  └──┤Services├───►             │                        \n    │             │     └───▲────┘   │             │                                                            \n    │             │     ┌───┴───┐    │             │                        \n    │             │     │Methods├────►  Component  │                        \n    │             │     └───▲───┘    │      -      │                                              \n    │        ┌────┴┐        │        │  Registry   |                       \n    │        │Types├────────┴────────►             │                        \n    │        └▲───▲┘                 │             │                                               \n    │   ┌─────┴┐  │                  │             │                        \n    │   │Nested├──┼──────────────────►             │                        \n    │   └──▲─▲─┘  │                  │             │                        \n ┌──┴──┐   │ │   ┌┴─────┐            │             │                        \n │Enums├───┘ └───┤Fields├────────────►             │                        \n └─┬───┘         └──────┘            │             │                                              \n   └─────────────────────────────────►             │                        \n                                     └─────────────┘                           \n```\n## Contribution?\n\n 👋 If you're thinking about giving Protobuffctl a little love, you're in the right place. Here's how you can get involved:\n\n### Fork\n- **Fork the Repo**: Just head over to GitHub and click the \"Fork\" button.\n- **Clone Your Fork**: Once you've forked the repo, clone it to your computer.\n- **Create a New Branch**: Make a new branch for your cool new feature or bug fix. Something descriptive would be awesome!\n- **Make Your Changes**: Get coding! 🚀\n- **Commit Your Changes**: When you're happy with your changes, commit them with a message that tells us what you did\n- **Push Your Changes**: Push your changes back to your fork on GitHub.\n- **Open a Pull Request**: If you're ready to share your work with the world, go back to the original Protobuffctl repo and open a pull request from your fork.\n\n### Here are a few other options:\n\n- **reach out via Discord**: DM me via Discord #podhead181818.\n- **Start a Discussion**: If you've got something to say, but maybe not something you're ready to code yet, you can start a discussion under the \"Discussions\" tab with the \"Contribution\" label.\n- **Open an Issue**: If you've found a bug or have a feature request, you can open an issue on GitHub.\n\nThanks for thinking about contributing! 🙏 Whether you're coding, chatting, or just sharing ideas, every contribution helps make Protobuffctl better.\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fji-podhead%2Fprotobuffctl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fji-podhead%2Fprotobuffctl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fji-podhead%2Fprotobuffctl/lists"}