{"id":13694050,"url":"https://github.com/ackerr/lab","last_synced_at":"2026-03-16T16:39:47.805Z","repository":{"id":48586629,"uuid":"282872730","full_name":"ackerr/lab","owner":"ackerr","description":"A command-line tool for gitlab","archived":false,"fork":false,"pushed_at":"2024-07-16T12:35:30.000Z","size":177,"stargazers_count":86,"open_issues_count":2,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-12T20:46:41.314Z","etag":null,"topics":["cli","fuzzy-finder","fzf","gitlab"],"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/ackerr.png","metadata":{"files":{"readme":"README-CN.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":"2020-07-27T11:08:29.000Z","updated_at":"2024-09-06T07:01:27.000Z","dependencies_parsed_at":"2024-01-14T19:05:41.796Z","dependency_job_id":"814a14fe-7209-418c-8bb1-78334cd1807d","html_url":"https://github.com/ackerr/lab","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ackerr%2Flab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ackerr%2Flab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ackerr%2Flab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ackerr%2Flab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ackerr","download_url":"https://codeload.github.com/ackerr/lab/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252130365,"owners_count":21699077,"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":["cli","fuzzy-finder","fzf","gitlab"],"created_at":"2024-08-02T17:01:23.209Z","updated_at":"2026-03-16T16:39:42.756Z","avatar_url":"https://github.com/ackerr.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Lab\n\n[![CI](https://github.com/Ackerr/lab/workflows/CI/badge.svg)](https://github.com/Ackerr/lab)\n[![Go Report Card](https://goreportcard.com/badge/github.com/ackerr/lab)](https://goreportcard.com/report/github.com/ackerr/lab)\n[![release](https://img.shields.io/github/v/release/ackerr/lab.svg)](https://github.com/ackerr/lab/releases)\n\n[![ackerr/lab](https://res.cloudinary.com/marcomontalbano/image/upload/v1606925692/video_to_markdown/images/youtube--qqKW9SQqjF0-c05b58ac6eb4c4700831b2b3070cd403.jpg)](https://www.youtube.com/watch?v=qqKW9SQqjF0 \"ackerr/lab\")\n\n关于GitLab的命令行工具\n\n## 功能\n\n```\nlab sync     同步gitlab项目至本地\nlab browser  模糊搜索项目名, 回车后，默认浏览器中打开项目地址\nlab cs       模糊搜索codespace中的项目，可配合cd，rm使用\nlab clone    模糊搜索项目名, 如果设置了codespace, 会将项目clone至codespace，\n             否则在当前目录，当然也可以通过--current(-c)，clone至当前路径\nlab lint     校验.gitlab-ci.yml文件格式\nlab open     快捷在默认浏览器中打开当前所在项目的web地址\nlab config   快捷打开lab的配置文件\n```\n\n\u003e 通过 `lab help` 查看lab更多命令及其参数\n\n## 安装\n\n### homebrew\n\n```bash\n$ brew install ackerr/tap/lab\n```\n\n### scoop\n\n```bash\n$ scoop bucket add ackerr https://github.com/Ackerr/scoop-bucket\n$ scoop install ackerr/lab\n```\n\n### go get\n\n```bash\n$ go get -u \"github.com/ackerr/lab\"\n```\n\n## 配置\n\n推荐使用`lab config`编辑配置，此配置会通过$EDITOR编辑配置文件，如果配置文件不存在，则会使用[默认配置](https://github.com/Ackerr/lab/blob/master/config.toml)新建\n\n其中base_url和token为必填项。token获取方式可参考[这里](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#creating-a-personal-access-token)\n\n其余配置项含义如下，支持环境变量:\n\n```\n \n[gitlab]\n# gitlab域名, 比如https://gitlab.com\nbase_url = \"$GITLAB_BASE_URL\"\n\n# gitlab access token\ntoken = \"$GITLAB_TOKEN\"\n\n# 通过 lab sync 同步的项目本地存放放置\n# 默认地址为 $HOME/config/.lab/.projects\nprojects = \"\"\n\n# 项目存放目录，设置后，lab clone / lab cs 会使用该值作为目标目录\n# 默认为空\ncodespace = \"\"\n\n# git config中的user.name，设置后会在使用lab clone自动设置\n# 默认为空\nname = \"\"\n\n# git config中的user.email，设置后会在使用lab clone自动设置\n# 默认为空\nemail = \"\"\n\n[main]\n# 是否开启fzf。如果开发者个人使用fzf，建议开启\n# 默认不开启，使用go-fuzzyfinder\nfzf = 0\n\n# 通过lab clone 克隆项目时，支持自定义 git clone 参数\n# 例如 `clone_opts=\"--origin ackerr --branch fix\"`, 默认克隆时设置remote为ackerr，分支为fix\n# 默认为空\nclone_opts = \"\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fackerr%2Flab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fackerr%2Flab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fackerr%2Flab/lists"}