{"id":30718256,"url":"https://github.com/cod-e-codes/marchat-plugins","last_synced_at":"2025-09-14T16:42:00.462Z","repository":{"id":307886098,"uuid":"1030989157","full_name":"Cod-e-Codes/marchat-plugins","owner":"Cod-e-Codes","description":"Official plugin registry and release hub for marchat — a terminal-native, offline-first group chat application.","archived":false,"fork":false,"pushed_at":"2025-09-10T21:02:12.000Z","size":9678,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-11T01:13:27.711Z","etag":null,"topics":["bubbletea","community","go","group-chat","marchat","offline-first","plugin-system","plugins","terminal","tui"],"latest_commit_sha":null,"homepage":"https://github.com/Cod-e-Codes/marchat-plugins","language":"Go","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/Cod-e-Codes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-02T19:05:34.000Z","updated_at":"2025-09-10T21:02:16.000Z","dependencies_parsed_at":"2025-08-02T21:32:12.345Z","dependency_job_id":"545f526f-65a5-4a8d-b734-72184d57bc86","html_url":"https://github.com/Cod-e-Codes/marchat-plugins","commit_stats":null,"previous_names":["cod-e-codes/marchat-plugins"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Cod-e-Codes/marchat-plugins","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cod-e-Codes%2Fmarchat-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cod-e-Codes%2Fmarchat-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cod-e-Codes%2Fmarchat-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cod-e-Codes%2Fmarchat-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cod-e-Codes","download_url":"https://codeload.github.com/Cod-e-Codes/marchat-plugins/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cod-e-Codes%2Fmarchat-plugins/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275135550,"owners_count":25411706,"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","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bubbletea","community","go","group-chat","marchat","offline-first","plugin-system","plugins","terminal","tui"],"created_at":"2025-09-03T09:48:29.873Z","updated_at":"2025-09-14T16:42:00.454Z","avatar_url":"https://github.com/Cod-e-Codes.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# marchat Plugins\n\nCommunity plugin registry and releases for [marchat](https://github.com/Cod-e-Codes/marchat) - a terminal-native, offline-first group chat application.\n\n## Platform model (single-binary per OS/arch)\n\nPlugins are now distributed as a single binary targeted to a specific platform (OS/architecture). The host validates the plugin binary at runtime against `runtime.GOOS` and `runtime.GOARCH`, and will return a clear error if the binary does not match the current system. This keeps plugin sizes minimal and avoids complex cross-platform packaging, while maintaining subprocess isolation and JSON-based communication.\n\n- Expected archive name: `PLUGIN-NAME-v\u003cversion\u003e-\u003cgoos\u003e-\u003cgoarch\u003e.zip`\n- Inside the archive: the single plugin binary (`.exe` on Windows), an optional `plugin.json` manifest, and a `README.md`.\n- Examples:\n  - `echo-plugin-v2.0.1-windows-amd64.zip`\n  - `echo-plugin-v2.0.1-linux-amd64.zip`\n  - `echo-plugin-v2.0.1-darwin-amd64.zip`\n\nIf a user installs a plugin binary for the wrong platform, the host will refuse to start the plugin and display a helpful message indicating the required `GOOS/GOARCH`.\n\n## Available Plugins\n\n- **echo**: Simple echo plugin for testing the plugin system\n\n## Installing Plugins\n\nUse the marchat plugin store:\n```bash\n:store\n```\n\nOr install directly:\n```bash\n:install echo\n```\n\n## Publishing plugins\n\nWhen publishing a new plugin release, build and upload one archive per target platform and provide the corresponding checksums. A typical process:\n\n1. Build platform-specific archives (see `plugins/echo/README.md` for examples and scripts):\n   - `echo-plugin-v2.0.1-windows-amd64.zip`\n   - `echo-plugin-v2.0.1-linux-amd64.zip`\n   - `echo-plugin-v2.0.1-darwin-amd64.zip`\n2. Compute SHA-256 checksums and publish alongside the archives.\n3. Update `registry.json` to point to the platform-specific archive you intend to distribute for your audience. The host will still validate at runtime and show errors on mismatch.\n\nSee `REGISTRY.md` for detailed steps and an example entry.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for how to submit your own plugins.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcod-e-codes%2Fmarchat-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcod-e-codes%2Fmarchat-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcod-e-codes%2Fmarchat-plugins/lists"}