{"id":20843935,"url":"https://github.com/tkc/clean-layer-lint","last_synced_at":"2025-03-12T11:13:53.135Z","repository":{"id":102202450,"uuid":"255368194","full_name":"tkc/clean-layer-lint","owner":"tkc","description":"Clean architecture validator for go, like a The Dependency Rule and interaction between packages in your Go projects.","archived":false,"fork":false,"pushed_at":"2020-04-13T18:42:38.000Z","size":9042,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-03T15:43:40.305Z","etag":null,"topics":["clean-architecture","code-analysis","go","go-tools","golang","lint","linter"],"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/tkc.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":"2020-04-13T15:35:50.000Z","updated_at":"2024-06-19T07:40:07.439Z","dependencies_parsed_at":null,"dependency_job_id":"d1820491-174a-4fac-902f-90e6717353a8","html_url":"https://github.com/tkc/clean-layer-lint","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkc%2Fclean-layer-lint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkc%2Fclean-layer-lint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkc%2Fclean-layer-lint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkc%2Fclean-layer-lint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tkc","download_url":"https://codeload.github.com/tkc/clean-layer-lint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243205246,"owners_count":20253425,"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":["clean-architecture","code-analysis","go","go-tools","golang","lint","linter"],"created_at":"2024-11-18T02:07:51.565Z","updated_at":"2025-03-12T11:13:53.111Z","avatar_url":"https://github.com/tkc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## clean-layer-lint\n![test](https://github.com/tkc/clean-layer-lint/workflows/test/badge.svg)\n\n```                                                                 \n _____ _                __                       __    _     _   \n|     | |___ ___ ___   |  |   ___ _ _ ___ ___   |  |  |_|___| |_ \n|   --| | -_| .'|   |  |  |__| .'| | | -_|  _|  |  |__| |   |  _|\n|_____|_|___|__,|_|_|  |_____|__,|_  |___|_|    |_____|_|_|_|_|  \n                                 |___|                           \n                                                          \n```                                                \n\n\nClean architecture validator for go, like a The Dependency Rule and interaction between packages in your Go projects.\nChecks illegal imported layer. layer order depend on `clean-layer.json` setteing.\n\n![image](https://user-images.githubusercontent.com/181991/79132738-d273ab00-7de5-11ea-818f-1df4f93a782f.png)\n\n## TODO\n\n- [ ]  example\n- [ ]  Specify files to ignore\n\n## Install\n\n```bash\n$ go get -u github.com/tkc/clean-layer-lint\n```\n\n\n## Prepare clean-layer.json\n\n```json\n{\n   \"path\": \"github.com/tkc/clean-layer-lint/src\",\n   \"order\":[\n       \"domain\",\n       \"usecase\",\n       \"interfaces\",\n       \"infrastructure\"\n    ],\n    \"ignore\":[]\n }\n```\n\n`note:json format`\n\n|  key  |  description  |\n| :----: | :---- |\n|  path  |  go.mod module name + your layer directory path  |\n|  order  |  your layer order  |\n|  ignore  |  your ignore layer   |\n\n## Run \n```bash\n$ clean-layer-lint ./...\n```\n\n### GitHub Actions Setting\n[lint.yml](https://github.com/tkc/clean-layer-lint/blob/master/.github/workflows/lint.yml)\n\n```yml\non: [push, pull_request]\nname: lint clean architecture\njobs:\n  test:\n    strategy:\n      matrix:\n        go-version: [1.13.x]\n        platform: [ubuntu-latest, macos-latest, windows-latest]\n    runs-on: ${{ matrix.platform }}\n    steps:\n    - name: Install Go\n      if: success()\n      uses: actions/setup-go@v1\n      with:\n        go-version: ${{ matrix.go-version }}\n    - name: Setup env\n      run: |\n        echo \"::set-env name=GOPATH::$(go env GOPATH)\"\n        echo \"::set-env name=GOBIN::$(go env GOPATH)/bin\"\n        echo \"::add-path::$(go env GOPATH)/bin\"\n    - name: install\n      run: go get -u github.com/tkc/clean-layer-lint   \n    - name: Checkout code\n      uses: actions/checkout@v1\n    - name: lint clean architecture\n      run: clean-layer-lint ./...\n```    \n\n## License\n\nMIT ✨\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkc%2Fclean-layer-lint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftkc%2Fclean-layer-lint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkc%2Fclean-layer-lint/lists"}