{"id":15066361,"url":"https://github.com/bamlab/theodo_analysis","last_synced_at":"2026-01-03T11:20:15.670Z","repository":{"id":257270476,"uuid":"853885565","full_name":"bamlab/theodo_analysis","owner":"bamlab","description":"Lint and dcm rules for Dart and Flutter used internally at theodo apps ❤️💙💛","archived":false,"fork":false,"pushed_at":"2025-02-03T16:21:24.000Z","size":397,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-03T17:26:59.397Z","etag":null,"topics":["dart","dcm","flutter","lint"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/bamlab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-09-07T20:03:17.000Z","updated_at":"2025-02-03T16:20:58.000Z","dependencies_parsed_at":"2024-09-15T17:04:31.228Z","dependency_job_id":"4c81f07c-4da4-43b9-9597-30e8b8f542e3","html_url":"https://github.com/bamlab/theodo_analysis","commit_stats":null,"previous_names":["bamlab/theodo_analysis"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bamlab%2Ftheodo_analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bamlab%2Ftheodo_analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bamlab%2Ftheodo_analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bamlab%2Ftheodo_analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bamlab","download_url":"https://codeload.github.com/bamlab/theodo_analysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243826826,"owners_count":20354220,"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":["dart","dcm","flutter","lint"],"created_at":"2024-09-25T01:06:20.429Z","updated_at":"2026-01-03T11:20:15.640Z","avatar_url":"https://github.com/bamlab.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# THEODO Analysis\n\n\u003cp\u003e\n  \u003ca href=\"https://apps.theodo.com\"\u003e\n  \u003cimg  alt=\"logo\" src=\"https://raw.githubusercontent.com/bamlab/theodo_analysis/main/doc/theodo_apps_white.png\" width=\"200\"/\u003e\n  \u003c/a\u003e\n  \u003c/br\u003e\n  \u003cp\u003eLint and dcm rules for Dart and Flutter used internally at \u003ca href=\"https://apps.theodo.com\"\u003eTheodo Apps\u003c/a\u003e ❤️💙💛.\u003c/p\u003e\n  \u003cb\u003eNote:\u003c/b\u003e This package was heavily inspired by \u003ca href=\"https://github.com/VeryGoodOpenSource/very_good_analysis\"\u003every_good_analysis\u003c/a\u003e.\n\u003c/p\u003e\n\n---\n\n## 🧑‍💻 Usage\n\nTo use the lints, add as a dev dependency in your `pubspec.yaml`:\n\n```yaml\ndart pub add dev:theodo_analysis\n# or\nflutter pub add dev:theodo_analysis\n```\n\nThen, add an include in `analysis_options.yaml`:\n\n```yaml\ninclude: package:theodo_analysis/analysis_options.yaml\n```\n**Optional**: enable DCM.\nThis packages also include a subset of [dcm](https://dcm.dev) rules. Since dcm needs an API key to start. You can skip this part. Also, we consider it as a great tool, and we recommend it's usage.\n\nFirst instal dcm:\n```bash\n$ brew tap CQLabs/dcm\n$ brew install dcm\n```\nThen, [activate the license](https://dcm.dev/docs/getting-started/#activating-the-license):\n```bash\ndcm activate --license-key=YOUR_KEY\n```\n\n## ⚙️ Customize rules\n\nTo add or suppress a specific rules, you can edit the `analysis_options.yaml` file.\n\nSuppression: \n```yaml\ninclude: package:theodo_analysis/theodo_analysis.yaml\nlinter:\n  rules:\n    public_member_api_docs: false\ndart_code_metrics:\n  rules:\n    - member-ordering: false\n```\nAddition:\n```yaml\ninclude: package:theodo_analysis/theodo_analysis.yaml\nlinter:\n  rules:\n    - no_leading_underscores_for_local_identifiers\ndart_code_metrics:\n  rules:\n    - avoid-inferrable-type-arguments\n```\n\u003e The list of all available dart rule can be found [here](https://dart.dev/tools/linter-rules/all).\n\u003e And the list of all available dcm rules can be found [here](https://dcm.dev/docs/rules/).\n\nYou can also disable it for specific files or folder. By default, theodo_analysis will not be applied to generated files.\n```yaml\ninclude: package:theodo_analysis/theodo_analysis.yaml\nanalyzer:\n  exclude:\n    - \"**/*.g.dart\"\n    - \"**/*.freezed.dart\"\n    - \"**/*.graphql.dart\"\ndart_code_metrics:\n  rules-exclude:\n    - \"**/*.g.dart\"\n    - \"**/*.freezed.dart\"\n    - \"**/*.graphql.dart\"\n```\n## 👉 About Theodo Apps\n\nWe are a 130 people company developing and designing universal applications with [React Native](https://apps.theodo.com/expertise/react-native) and [Flutter](https://apps.theodo.com/expertise/flutter) using the Lean \u0026 Agile methodology. To get more information on the solutions that would suit your needs, feel free to get in touch by [email](mailto://contact-apps@theodo.com) or through or [contact form](https://apps.theodo.com/contact)!\n\nWe will always answer you with pleasure 😁","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbamlab%2Ftheodo_analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbamlab%2Ftheodo_analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbamlab%2Ftheodo_analysis/lists"}