{"id":31027179,"url":"https://github.com/rizome-dev/shadcn-gomponents","last_synced_at":"2025-09-13T18:57:16.981Z","repository":{"id":305571858,"uuid":"1022824860","full_name":"rizome-dev/shadcn-gomponents","owner":"rizome-dev","description":"shadcn-ui/ui, but pure Go","archived":false,"fork":false,"pushed_at":"2025-07-20T20:18:52.000Z","size":602,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-20T22:11:57.423Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/rizome-dev.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":"2025-07-19T23:07:46.000Z","updated_at":"2025-07-20T20:19:26.000Z","dependencies_parsed_at":"2025-07-20T22:22:23.839Z","dependency_job_id":null,"html_url":"https://github.com/rizome-dev/shadcn-gomponents","commit_stats":null,"previous_names":["rizome-dev/shadcn-gomponents"],"tags_count":null,"template":false,"template_full_name":"rizome-dev/tmpl","purl":"pkg:github/rizome-dev/shadcn-gomponents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizome-dev%2Fshadcn-gomponents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizome-dev%2Fshadcn-gomponents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizome-dev%2Fshadcn-gomponents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizome-dev%2Fshadcn-gomponents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rizome-dev","download_url":"https://codeload.github.com/rizome-dev/shadcn-gomponents/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizome-dev%2Fshadcn-gomponents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275013271,"owners_count":25390481,"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-13T02:00:10.085Z","response_time":70,"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":[],"created_at":"2025-09-13T18:57:12.191Z","updated_at":"2025-09-13T18:57:16.969Z","avatar_url":"https://github.com/rizome-dev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# shadcn-gomponents\n\n\u003cimg src=\"logo.png\" alt=\"Logo\" width=\"300\" align=\"right\"\u003e\n\n[![GoDoc](https://pkg.go.dev/badge/github.com/rizome-dev/shadcn-gomponents)](https://pkg.go.dev/github.com/rizome-dev/shadcn-gomponents)\n\nA Go implementation of shadcn/ui components using the [gomponents](https://github.com/maragu/gomponents) library.\n\nThis project provides a collection of beautifully designed, accessible UI components implemented in pure Go. It follows the same design principles and styling as [shadcn/ui](https://ui.shadcn.com/) but leverages Go's type safety and the gomponents library for HTML generation.\n\n## Installation\n\n```bash\ngo get github.com/rizome-dev/shadcn-gomponents\n```\n\n## Quick Start\n\nCreate a simple web application with shadcn-gomponents:\n\n```go\npackage main\n\nimport (\n    \"log\"\n    \"net/http\"\n    \n    g \"maragu.dev/gomponents\"\n    . \"maragu.dev/gomponents/html\"\n    \n    \"github.com/rizome-dev/shadcn-gomponents/pkg/alert\"\n    \"github.com/rizome-dev/shadcn-gomponents/pkg/button\"\n    \"github.com/rizome-dev/shadcn-gomponents/pkg/card\"\n    \"github.com/rizome-dev/shadcn-gomponents/pkg/badge\"\n)\n\nfunc main() {\n    // Create a simple page handler\n    http.HandleFunc(\"/\", func(w http.ResponseWriter, r *http.Request) {\n        page := HTML(\n            Head(\n                Meta(Charset(\"UTF-8\")),\n                Meta(Name(\"viewport\"), Content(\"width=device-width, initial-scale=1.0\")),\n                TitleEl(Text(\"My Shadcn-Gomponents App\")),\n                Link(Rel(\"stylesheet\"), Href(\"/styles/app.css\")),\n            ),\n            Body(Class(\"min-h-screen bg-background p-8\"),\n                Div(Class(\"container mx-auto max-w-4xl space-y-8\"),\n                    // Header\n                    H1(Class(\"text-4xl font-bold mb-8\"), Text(\"Welcome to Shadcn-Gomponents\")),\n                    \n                    // Alert component\n                    alert.New(alert.Props{\n                        Variant: \"default\",\n                    }, \n                        alert.Title(\"Heads up!\"),\n                        alert.Description(\"You can use these beautiful components in your Go web apps.\"),\n                    ),\n                    \n                    // Card with content\n                    card.Root(\n                        card.Header(\n                            card.Title(\"Dashboard\"),\n                            card.Description(\"Your application overview\"),\n                        ),\n                        card.Content(\n                            Div(Class(\"flex gap-4 mb-4\"),\n                                badge.New(badge.Props{Variant: \"default\"}, Text(\"Active\")),\n                                badge.New(badge.Props{Variant: \"secondary\"}, Text(\"v1.0.0\")),\n                                badge.New(badge.Props{Variant: \"outline\"}, Text(\"Go 1.24\")),\n                            ),\n                            P(Class(\"text-muted-foreground\"),\n                                Text(\"Build beautiful, type-safe UI components with Go and Tailwind CSS.\"),\n                            ),\n                        ),\n                        card.Footer(Class(\"flex gap-2\"),\n                            button.New(button.Props{\n                                Variant: \"default\",\n                                Size: \"sm\",\n                            }, Text(\"Get Started\")),\n                            button.New(button.Props{\n                                Variant: \"outline\", \n                                Size: \"sm\",\n                            }, Text(\"Learn More\")),\n                        ),\n                    ),\n                ),\n            ),\n        )\n        \n        page.Render(w)\n    })\n    \n    // Serve static files (CSS)\n    http.Handle(\"/styles/\", http.StripPrefix(\"/styles/\", http.FileServer(http.Dir(\"./public/styles\"))))\n    \n    // Start server\n    log.Println(\"Server starting on http://localhost:8080\")\n    log.Fatal(http.ListenAndServe(\":8080\", nil))\n}\n```\n\n### Running the Example\n\n1. Create the project structure:\n   ```bash\n   mkdir myapp \u0026\u0026 cd myapp\n   go mod init myapp\n   go get github.com/rizome-dev/shadcn-gomponents\n   ```\n\n2. Copy the Tailwind CSS file:\n   ```bash\n   mkdir -p public/styles\n   # Copy the compiled CSS from the library or build your own\n   ```\n\n3. Run the application:\n   ```bash\n   go run main.go\n   ```\n\n4. Open http://localhost:8080 in your browser\n\n### Full Demo Application\n\nFor a complete example with all 40+ components, check out the demo application:\n\n```bash\ngit clone https://github.com/rizome-dev/shadcn-gomponents\ncd shadcn-gomponents\nmake start  # Builds CSS and runs the demo\n```\n\nVisit http://localhost:8080 to see all components in action.\n\n## Components\n\n### Layout\n- [x] Aspect Ratio\n- [x] Card\n- [x] Collapsible\n- [x] Resizable\n- [x] Scroll Area\n- [x] Separator\n- [x] Sidebar\n\n### Forms\n- [x] Button\n- [x] Checkbox\n- [x] Form\n- [x] Input\n- [x] Input OTP\n- [x] Label\n- [x] Radio\n- [x] Selector\n- [x] Slider\n- [x] Switch\n- [x] Textarea\n- [x] Toggle\n- [x] Toggle Group\n\n### Display\n- [x] Alert\n- [x] Alert Dialog\n- [x] Avatar\n- [x] Badge\n- [x] Calendar\n- [x] Carousel\n- [x] Chart\n- [x] Progress\n- [x] Skeleton\n- [x] Table\n- [x] Toast\n\n### Navigation\n- [x] Accordion\n- [x] Breadcrumb\n- [x] Command\n- [x] Context Menu\n- [x] Dialog\n- [x] Drawer\n- [x] Dropdown Menu\n- [x] Hover Card\n- [x] Menubar\n- [x] Navigation Menu\n- [x] Pagination\n- [x] Popover\n- [x] Sheet\n- [x] Tabs\n- [x] Tooltip\n\n### Feedback\n- [x] Sonner (Toast notifications)\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Credits\n\n- Design and styling from [shadcn/ui](https://ui.shadcn.com/)\n- Built with [gomponents](https://github.com/maragu/gomponents)\n- Developed by [rizome labs](https://rizome.dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frizome-dev%2Fshadcn-gomponents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frizome-dev%2Fshadcn-gomponents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frizome-dev%2Fshadcn-gomponents/lists"}