{"id":28174381,"url":"https://github.com/2bad/axiom","last_synced_at":"2025-05-15T22:16:48.897Z","repository":{"id":248876385,"uuid":"816343670","full_name":"2BAD/axiom","owner":"2BAD","description":"Effortless TypeScript linting with zero configuration, inspired by standard","archived":false,"fork":false,"pushed_at":"2025-05-13T13:03:57.000Z","size":971,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-13T13:54:02.272Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/2BAD.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,"zenodo":null}},"created_at":"2024-06-17T14:49:47.000Z","updated_at":"2025-05-13T13:05:44.000Z","dependencies_parsed_at":"2024-09-02T10:56:33.140Z","dependency_job_id":"310dab9e-a86c-4e2a-adb7-a773a1e5f752","html_url":"https://github.com/2BAD/axiom","commit_stats":null,"previous_names":["2bad/eslint-config","2bad/axiom"],"tags_count":16,"template":false,"template_full_name":"2BAD/ts-lib-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2BAD%2Faxiom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2BAD%2Faxiom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2BAD%2Faxiom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2BAD%2Faxiom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2BAD","download_url":"https://codeload.github.com/2BAD/axiom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254430307,"owners_count":22069909,"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":"2025-05-15T22:16:07.118Z","updated_at":"2025-05-15T22:16:48.891Z","avatar_url":"https://github.com/2BAD.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Axiom\n\nEffortless TypeScript linting with zero configuration\n\n## Features\n\n- Zero configuration required\n- Comprehensive set of ESLint rules based on best practices\n- Automatic management of ESLint plugins\n- Customizable plugin selection\n- Simplified setup process\n- Consistent code style across projects\n\n## Overview\n\nAxiom is a zero-configuration ESLint package that not only provides the best set of rules (inspired by StandardJS) but also manages other ESLint plugins. This removes the need for discussing and configuring ESLint rules, as well as maintaining and version tracking of various plugins.\n\nWith ESLint v9 flat configs, configurations can become complex, and mistakes can happen even in the setup. Axiom simplifies this process, allowing developers to focus on writing code rather than configuring linters.\n\n## Quick Start\n\n1. Install Axiom:\n\n```bash\nnpm install --save-dev @2bad/axiom\n```\n\n2. Create an `eslint.config.mjs` file in your project root:\n\n```javascript\nimport { axiom } from '@2bad/axiom'\n\nexport default axiom(import.meta.dirname)\n```\n\nYou can also customize which plugins to enable:\n\n```javascript\nimport { axiom } from '@2bad/axiom'\n\n// Disable vitest and node plugins\nexport default axiom(import.meta.dirname, {\n  vitest: false,\n  node: false\n})\n\n// Or enable only specific plugins\nexport default axiom(import.meta.dirname, {\n  import: true,\n  jsdoc: false,\n  neostandard: false,\n  node: false,\n  promise: false,\n  vitest: false\n})\n```\n\n3. Add a lint script to your `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  }\n}\n```\n\n4. Run the linter:\n\n```bash\nnpm run lint\n```\n\n## Why Axiom?\n\nAxiom aims to solve the following problems:\n\n1. **Configuration Overload**: With the multitude of ESLint plugins and rules available, configuring a linter can be overwhelming. Axiom provides a curated set of rules out of the box.\n\n2. **Plugin Management**: Keeping track of multiple ESLint plugins, their versions, and configurations can be time-consuming. Axiom manages this for you.\n\n3. **Consistency**: By providing a standard set of rules, Axiom ensures consistency across projects and team members.\n\n4. **Focus on Code**: Spend less time configuring and more time coding. Axiom handles the linting details so you can focus on writing great JavaScript.\n\n## Why \"Axiom\"?\n\nIn mathematics and logic, an axiom is a statement that is taken to be true without proof. Similarly, Axiom provides a set of linting rules that are considered best practices without the need for debate or configuration.\n\n## Contributing\n\nContributions are welcome! Please check out the [issues](https://github.com/2bad/axiom/issues) or submit a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2bad%2Faxiom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2bad%2Faxiom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2bad%2Faxiom/lists"}