{"id":20347942,"url":"https://github.com/authink/ink","last_synced_at":"2026-04-19T12:33:24.044Z","repository":{"id":216029029,"uuid":"739944909","full_name":"authink/ink","owner":"authink","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-21T11:47:07.000Z","size":426,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-14T22:51:51.502Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/github.com/authink/ink","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/authink.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}},"created_at":"2024-01-07T02:49:55.000Z","updated_at":"2024-03-12T01:54:46.000Z","dependencies_parsed_at":"2024-02-24T14:28:45.060Z","dependency_job_id":"9dac0efd-b64d-4f9d-b17f-21ac5dcfda50","html_url":"https://github.com/authink/ink","commit_stats":null,"previous_names":["authink/ink.go","authink/ink"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/authink%2Fink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/authink%2Fink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/authink%2Fink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/authink%2Fink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/authink","download_url":"https://codeload.github.com/authink/ink/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241877505,"owners_count":20035417,"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-11-14T22:18:38.700Z","updated_at":"2026-04-19T12:33:18.999Z","avatar_url":"https://github.com/authink.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ink\n\n## Usage\n\n```bash\n$ ./bin/ink run\n```\n\n具体可以查看 help 信息\n\n```bash\n$ ./bin/ink -h\nUsage:\n  ink [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  gen         Generate DB Models\n  help        Help about any command\n  migrate     Migrate schema up or down\n  run         Run server\n  seed        Seed the database\n  swag        Generate swagger docs\n\nFlags:\n  -h, --help   help for ink\n\nUse \"ink [command] --help\" for more information about a command.\n```\n\n```bash\n$ ./bin/ink help run\nRun ink server\n\nUsage:\n  ink run [flags]\n\nFlags:\n  -h, --help          help for run\n  -l, --live-reload   Enable live reload\n```\n\n## 前置条件\n\n- 在工作目录克隆项目代码\n\n```bash\n$ cd {work dir}\n$ git clone git@github.com:authink/ink.git\n$ git clone git@github.com:authink/ink.schema.git\n```\n\n- 项目根目录中新建 .env.local\n\n```conf\n# .env.local\nDB_USER={your_db_username}\nDB_PASSWORD={your_db_password}\n```\n\n- 创建名为 ink 的数据库\n\n```sql\nCREATE DATABASE `ink` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;\n```\n\n- make，方便执行 gen/swag/test/build/run 等任务\n\n如果未安装 make，可参考 Makefile 中的任务命令，手动执行\n\n## Schema\n\n```bash\n# up\n$ APP_ENV=dev ./bin/ink migrate -d up\n\n# down\n$ APP_ENV=dev ./bin/ink migrate -d down\n```\n\n## Seed\n\n```bash\n$ APP_ENV=dev ./bin/ink seed\n```\n\n## Generate DB Models\n\n```bash\n$ make gen\n```\n\n## 生成 API swagger 文档\n\n```bash\n$ make swag\n```\n\n```go\n// MainAPI 文件增加 import\n_ \"github.com/authink/ink/src/docs\"\n```\n\n启动 Ink server\n\n然后[打开 Swagger API 文档](http://localhost:8080/swagger/index.html)\n\n## Quick Run\n\n```bash\n$ make run\n```\n\n## Live reload\n\n此功能只能在 APP_ENV=dev 环境中开启\n\n```bash\n$ make run ARGS=\"-l\"\n```\n\n## 单元测试/go test/CI\n\n```bash\n$ make test\n```\n\n## 部署/go build/CD\n\n```bash\n$ make build\n```\n\n## 搭建 Markdown Docs\n\n## I18n\n\ntodo: ink translate\n自动扫描所有未翻译字段，写入 locales 文件中\n\n## Env\n\n根据 APP_ENV 读取不同的 env，其中 .local 文件是在本地开发时用来覆盖默认配置，不会提交到 git 仓库\n\n1. APP_ENV=dev\n\n.env.dev.local \u003e .env.local \u003e .env.dev \u003e .env\n\n2. APP_ENV=test\n\n.env.test.local \u003e .env.local \u003e .env.test \u003e .env\n\n3. APP_ENV=prod\n\n.env.prod.local \u003e .env.local \u003e .env.prod \u003e .env\n\n提供 API 可以获取所有变量值\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauthink%2Fink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fauthink%2Fink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauthink%2Fink/lists"}