{"id":13413458,"url":"https://github.com/Melkeydev/go-blueprint","last_synced_at":"2025-03-14T19:32:28.903Z","repository":{"id":204768907,"uuid":"703404066","full_name":"Melkeydev/go-blueprint","owner":"Melkeydev","description":"Go-blueprint allows users to spin up a quick Go project using a popular framework","archived":false,"fork":false,"pushed_at":"2024-09-30T17:29:43.000Z","size":8318,"stargazers_count":3891,"open_issues_count":21,"forks_count":247,"subscribers_count":27,"default_branch":"main","last_synced_at":"2024-10-04T09:09:45.530Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.go-blueprint.dev/","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/Melkeydev.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}},"created_at":"2023-10-11T07:20:12.000Z","updated_at":"2024-10-04T07:15:59.000Z","dependencies_parsed_at":"2023-11-08T01:48:03.427Z","dependency_job_id":"ae1ad60b-b609-42c4-a018-46adb3f9b178","html_url":"https://github.com/Melkeydev/go-blueprint","commit_stats":null,"previous_names":["melkeydev/go-blueprint"],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Melkeydev%2Fgo-blueprint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Melkeydev%2Fgo-blueprint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Melkeydev%2Fgo-blueprint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Melkeydev%2Fgo-blueprint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Melkeydev","download_url":"https://codeload.github.com/Melkeydev/go-blueprint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243635486,"owners_count":20322948,"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":[],"created_at":"2024-07-30T20:01:40.849Z","updated_at":"2025-03-14T19:32:28.896Z","avatar_url":"https://github.com/Melkeydev.png","language":"Go","readme":"![logo](./public/logo.png)\n\n\u003cdiv style=\"text-align: center;\"\u003e\n  \u003ch1\u003e\n    Introducing the Ultimate Golang Blueprint Library\n  \u003c/h1\u003e\n\u003c/div\u003e\n\nGo Blueprint is a CLI tool that allows users to spin up a Go project with the corresponding structure seamlessly. It also\ngives the option to integrate with one of the more popular Go frameworks (and the list is growing with new features)!\n\n### Why Would I use this?\n\n- Easy to set up and install\n- Have the entire Go structure already established\n- Setting up a Go HTTP server (or Fasthttp with Fiber)\n- Integrate with a popular frameworks\n- Focus on the actual code of your application\n\n## Table of Contents\n\n- [Install](#install)\n- [Frameworks Supported](#frameworks-supported)\n- [Database Support](#database-support)\n- [Advanced Features](#advanced-features)\n- [Blueprint UI](#blueprint-ui)\n- [Usage Example](#usage-example)\n- [GitHub Stats](#github-stats)\n- [License](#license)\n\n\u003ca id=\"install\"\u003e\u003c/a\u003e\n\n\u003ch2\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"./public/install.gif?raw=true\" width=\"60px\" style=\"margin-right: 1px;\"\u003e\n  \u003c/picture\u003e\n  Install\n\u003c/h2\u003e\n\n```bash\ngo install github.com/melkeydev/go-blueprint@latest\n```\n\nThis installs a go binary that will automatically bind to your $GOPATH\n\n\u003e if you’re using Zsh, you’ll need to add it manually to `~/.zshrc`.\n\n```bash\nGOPATH=$HOME/go  PATH=$PATH:/usr/local/go/bin:$GOPATH/bin\n```\n\ndon't forget to update\n\n```bash\nsource ~/.zshrc\n```\n\nThen in a new terminal run:\n\n```bash\ngo-blueprint create\n```\n\nYou can also use the provided flags to set up a project without interacting with the UI.\n\n```bash\ngo-blueprint create --name my-project --framework gin --driver postgres --git commit\n```\n\nSee `go-blueprint create -h` for all the options and shorthands.\n\n\u003ca id=\"frameworks-supported\"\u003e\u003c/a\u003e\n\n\u003ch2\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"./public/frameworks.gif?raw=true\" width=\"60px\" style=\"margin-right: 1px;\"\u003e\n  \u003c/picture\u003e\n  Frameworks Supported\n\u003c/h2\u003e\n\n- [Chi](https://github.com/go-chi/chi)\n- [Gin](https://github.com/gin-gonic/gin)\n- [Fiber](https://github.com/gofiber/fiber)\n- [HttpRouter](https://github.com/julienschmidt/httprouter)\n- [Gorilla/mux](https://github.com/gorilla/mux)\n- [Echo](https://github.com/labstack/echo)\n\n\u003ca id=\"database-support\"\u003e\u003c/a\u003e\n\n\u003ch2\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"./public/database.gif?raw=true\" width=\"45px\" style=\"margin-right: 15px;\"\u003e\n  \u003c/picture\u003e\n  Database Support\n\u003c/h2\u003e\n\nGo Blueprint now offers enhanced database support, allowing you to choose your preferred database driver during project setup. Use the `--driver` or `-d` flag to specify the database driver you want to integrate into your project.\n\n### Supported Database Drivers\n\nChoose from a variety of supported database drivers:\n\n- [Mysql](https://github.com/go-sql-driver/mysql)\n- [Postgres](https://github.com/jackc/pgx/)\n- [Sqlite](https://github.com/mattn/go-sqlite3)\n- [Mongo](https://go.mongodb.org/mongo-driver)\n- [Redis](https://github.com/redis/go-redis)\n- [ScyllaDB GoCQL](https://github.com/scylladb/gocql)\n\n\u003ca id=\"advanced-features\"\u003e\u003c/a\u003e\n\n\u003ch2\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"./public/advanced.gif?raw=true\" width=\"70px\" style=\"margin-right: 1px;\"\u003e\n  \u003c/picture\u003e\n  Advanced Features\n\u003c/h2\u003e\n\nBlueprint is focused on being as minimalistic as possible. That being said, we wanted to offer the ability to add other features people may want without bloating the overall experience.\n\nYou can now use the `--advanced` flag when running the `create` command to get access to the following features. This is a multi-option prompt; one or more features can be used at the same time:\n\n- [HTMX](https://htmx.org/) support using [Templ](https://templ.guide/)\n- CI/CD workflow setup using [Github Actions](https://docs.github.com/en/actions)\n- [Websocket](https://pkg.go.dev/github.com/coder/websocket) sets up a websocket endpoint\n- [Tailwind](https://tailwindcss.com/) css framework\n- Docker configuration for go project\n- [React](https://react.dev/) frontend written in TypeScript, including an example fetch request to the backend\n\nNote: Selecting Tailwind option will automatically select HTMX unless React is explicitly selected\n\n\u003ca id=\"blueprint-ui\"\u003e\u003c/a\u003e\n\n\u003ch2\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"./public/ui.gif?raw=true\" width=\"100px\" style=\"margin-right: 1px;\"\u003e\n  \u003c/picture\u003e\n  Blueprint UI\n\u003c/h2\u003e\n\nBlueprint UI is a web application that allows you to create commands for the CLI and preview the structure of your project. You will be able to see directories and files that will be created upon command execution. Check it out at [go-blueprint.dev](https://go-blueprint.dev)\n\n\u003ca id=\"usage-example\"\u003e\u003c/a\u003e\n\n\u003ch2\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"./public/example.gif?raw=true\" width=\"60px\" style=\"margin-right: 1px;\"\u003e\n  \u003c/picture\u003e\n  Usage Example\n\u003c/h2\u003e\n\nHere's an example of setting up a project with a specific database driver:\n\n```bash\ngo-blueprint create --name my-project --framework gin --driver postgres --git commit\n```\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/blueprint_1.png\" alt=\"Starter Image\" width=\"800\"/\u003e\n\u003c/p\u003e\n\nAdvanced features are accessible with the --advanced flag\n\n```bash\ngo-blueprint create --advanced\n```\n\nAdvanced features can be enabled using the `--feature` flag along with the `--advanced` flag.\n\nHTMX:\n\n```bash\ngo-blueprint create --advanced --feature htmx\n```\n\nCI/CD workflow:\n\n```bash\ngo-blueprint create --advanced --feature githubaction\n```\n\nWebsocket:\n\n```bash\ngo-blueprint create --advanced --feature websocket\n```\n\nTailwind:\n\n```bash\ngo-blueprint create --advanced --feature tailwind\n```\n\nDocker:\n\n```bash\ngo-blueprint create --advanced --feature docker\n```\n\nReact:\n\n```bash\ngo-blueprint create --advanced --feature react\n```\n\nOr all features at once:\n\n```bash\ngo-blueprint create --name my-project --framework chi --driver mysql --advanced --feature htmx --feature githubaction --feature websocket --feature tailwind --feature docker --git commit --feature react\n```\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/blueprint_advanced.png\" alt=\"Advanced Options\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n**Visit [documentation](https://docs.go-blueprint.dev) to learn more about blueprint and its features.**\n\n\u003ca id=\"github-stats\"\u003e\u003c/a\u003e\n\n\u003ch2\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"./public/stats.gif?raw=true\" width=\"45px\" style=\"margin-right: 10px;\"\u003e\n  \u003c/picture\u003e\n  GitHub Stats\n\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Alt\" src=\"https://repobeats.axiom.co/api/embed/7c4be18864d441f961be61186ce49b5471a9e7bf.svg\" title=\"Repobeats analytics image\"/\u003e\n\u003c/p\u003e\n\n\u003ca id=\"license\"\u003e\u003c/a\u003e\n\n\u003ch2\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"./public/license.gif?raw=true\" width=\"50px\" style=\"margin-right: 1px;\"\u003e\n  \u003c/picture\u003e\n  License\n\u003c/h2\u003e\n\nLicensed under [MIT License](./LICENSE)\n","funding_links":[],"categories":["Go","Miscellaneous","\u003ca name=\"Go\"\u003e\u003c/a\u003eGo","Microsoft Office","杂项"],"sub_categories":["Project Layout","项目布局"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMelkeydev%2Fgo-blueprint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMelkeydev%2Fgo-blueprint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMelkeydev%2Fgo-blueprint/lists"}