{"id":13507596,"url":"https://github.com/lpil/dogma","last_synced_at":"2025-03-30T09:32:57.898Z","repository":{"id":33935337,"uuid":"37659054","full_name":"lpil/dogma","owner":"lpil","description":":closed_lock_with_key: A code style linter for Elixir","archived":true,"fork":false,"pushed_at":"2019-05-27T10:23:32.000Z","size":657,"stargazers_count":471,"open_issues_count":1,"forks_count":52,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-03T09:16:39.108Z","etag":null,"topics":["static-analysis","style-linter"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lpil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-18T12:47:25.000Z","updated_at":"2024-10-27T03:09:31.000Z","dependencies_parsed_at":"2022-07-13T16:48:06.792Z","dependency_job_id":null,"html_url":"https://github.com/lpil/dogma","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpil%2Fdogma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpil%2Fdogma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpil%2Fdogma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpil%2Fdogma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lpil","download_url":"https://codeload.github.com/lpil/dogma/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246301963,"owners_count":20755512,"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":["static-analysis","style-linter"],"created_at":"2024-08-01T02:00:36.750Z","updated_at":"2025-03-30T09:32:57.438Z","avatar_url":"https://github.com/lpil.png","language":"Elixir","funding_links":[],"categories":["Code Analysis"],"sub_categories":[],"readme":"Dogma\n=====\n\n\u003cimg src=\"https://raw.github.com/lpil/dogma/master/docs/for-shame.png\" alt=\"FOR SHAME!\" title=\"SHAME\" align=\"right\"/\u003e\n\n[![Build Status](https://travis-ci.org/lpil/dogma.svg?branch=master)](https://travis-ci.org/lpil/dogma)\n[![Coverage](https://coveralls.io/repos/lpil/dogma/badge.svg)](https://coveralls.io/r/lpil/dogma)\n[![Hex version](https://img.shields.io/hexpm/v/dogma.svg \"Hex version\")](https://hex.pm/packages/dogma)\n[![Hex downloads](https://img.shields.io/hexpm/dt/dogma.svg \"Hex downloads\")](https://hex.pm/packages/dogma)\n[![Inline docs](https://inch-ci.org/github/lpil/dogma.svg?branch=master\u0026style=flat)](http://inch-ci.org/github/lpil/dogma)\n\n## This tool has been deprecated\n\nWith the new [formatter](https://hexdocs.pm/mix/master/Mix.Tasks.Format.html)\nin Elixir v1.6 I don't think there is a use for Dogma any more. Thanks for\nusing this linter, it's been fun :)\n\n## Intro\n\n\nDogma is a principle or set of principles laid down by an authority as\n**incontrovertibly true**.\n\nIt's also a code style linter for Elixir, powered by shame.\n\n* [About](#about)\n* [Usage](#usage)\n* [Configuration][config-doc]\n* [Rules][rules-doc]\n* [Output formats][reporters-doc]\n\n[config-doc]: https://github.com/lpil/dogma/blob/master/docs/configuration.md\n[rules-doc]: https://github.com/lpil/dogma/blob/master/docs/rules.md\n[reporters-doc]: https://github.com/lpil/dogma/blob/master/docs/reporters.md\n\n\n## About\n\nDogma is a tool for enforcing a consistent Elixir code style within your\nproject, the idea being that if your code is easier to read, it should also be\neasier to understand. It's highly configurable so you can adjust it to fit your\nstyle guide, but comes with a sane set of defaults so for most people it\nshould just work out-of-the-box. I like to run Dogma on the CI server with\nthe test suite, and consider the build broken if Dogma reports a problem.\n\nIf you're interested in a tool more geared towards making style suggestions\nrather than strictly enforcing your style guide, check out\n[Credo](https://github.com/rrrene/credo).\n\n\n## Usage\n\nAdd Dogma to your Mix dependencies\n\n```elixir\n# mix.exs\ndef deps do\n  [\n    {:dogma, \"~\u003e 0.1\", only: :dev},\n  ]\nend\n```\n\nFetch it:\n\n```\nmix deps.get\n```\n\nRun the mix task:\n\n```\nmix dogma\n```\n\nYou'll get something like this:\n\n```\nInspecting 27 files.\n\n.....X..........X..........\n\n27 files, 2 errors!\n\n== lib/dogma/rules.ex ==\n23: TrailingBlankLines: Blank lines detected at end of file\n\n== test/dogma/formatter_test.exs ==\n9: TrailingWhitespace: Trailing whitespace detected\n```\n\nHow handy!\n\n### Install Dogma globally\n\nIn order to run dogma from any directory build the escript:\n```\nmix escript.build\n```\n\nthis will create an executable that you can place in your PATH\nand invoke from anywhere.\n\n\n## Contributor Information\n\n### Test it\n\n```sh\nmix test       # Run tests once\nmix test.watch # Run tests on file changes\nmix dogma      # Dogfooding- run the linter!\n```\n\n\n### Read the developer docs\n\nCheck them out on [hexdocs][hexdocs-dogma], or generate them yourself:\n\n[hexdocs-dogma]: https://hexdocs.pm/dogma/api-reference.html\n\n```sh\nmix docs\n```\n\n\n# LICENCE\n\n```\nDogma - A code style linter for Elixir, powered by shame.\nCopyright © 2015 Louis Pilfold - MIT Licence\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the \"Software\"),\nto deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense,\nand/or sell copies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\nOR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpil%2Fdogma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flpil%2Fdogma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpil%2Fdogma/lists"}