{"id":42949382,"url":"https://github.com/jabworks/style-guide","last_synced_at":"2026-04-20T13:02:09.681Z","repository":{"id":296510422,"uuid":"993307246","full_name":"jabworks/style-guide","owner":"jabworks","description":"Opinionated shared configs and plugins by @jabworks – ESLint, Prettier, Stylelint \u0026 more, built for consistency across projects.","archived":false,"fork":false,"pushed_at":"2026-01-31T06:42:03.000Z","size":533,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-31T10:01:06.422Z","etag":null,"topics":["config","developer-tools","eslint","eslint-config","eslint-plugin","eslintconfig","eslintplugin","formatter","linting","opinionated","prettier","prettier-config","shared-config","style-guide","stylelint","stylelint-config","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jabworks.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-30T15:05:17.000Z","updated_at":"2026-01-31T06:41:33.000Z","dependencies_parsed_at":"2026-01-31T10:01:12.095Z","dependency_job_id":null,"html_url":"https://github.com/jabworks/style-guide","commit_stats":null,"previous_names":["hieu1871998/style-guide","jabworks/style-guide"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/jabworks/style-guide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabworks%2Fstyle-guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabworks%2Fstyle-guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabworks%2Fstyle-guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabworks%2Fstyle-guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jabworks","download_url":"https://codeload.github.com/jabworks/style-guide/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabworks%2Fstyle-guide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29436194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T03:34:37.767Z","status":"ssl_error","status_checked_at":"2026-02-14T03:34:09.092Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["config","developer-tools","eslint","eslint-config","eslint-plugin","eslintconfig","eslintplugin","formatter","linting","opinionated","prettier","prettier-config","shared-config","style-guide","stylelint","stylelint-config","typescript"],"created_at":"2026-01-30T21:04:28.683Z","updated_at":"2026-02-14T09:12:51.513Z","avatar_url":"https://github.com/jabworks.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Style Guide Configurations\n\n[![ESLint Plugin](https://img.shields.io/npm/v/%40jabworks%2Feslint-plugin?style=flat-square\u0026logo=npm\u0026label=%40jabworks%2Feslint-plugin)](https://www.npmjs.com/package/@jabworks/eslint-plugin)\n[![Prettier Config](https://img.shields.io/npm/v/%40jabworks%2Fprettier-config?style=flat-square\u0026logo=npm\u0026label=%40jabworks%2Fprettier-config)](https://www.npmjs.com/package/@jabworks/prettier-config)\n[![Stylelint Config](https://img.shields.io/npm/v/%40jabworks%2Fstylelint-config?style=flat-square\u0026logo=npm\u0026label=%40jabworks%2Fstylelint-config)](https://www.npmjs.com/package/@jabworks/stylelint-config)\n\nA comprehensive **Turborepo monorepo** containing shareable configurations for linting, formatting, and TypeScript compilation. These opinionated configurations provide a consistent development experience across JavaScript, TypeScript, React, and Next.js projects.\n\n## What's inside?\n\nThis repository includes the following packages:\n\n### Packages\n\n- **`@jabworks/eslint-plugin`**: Comprehensive ESLint plugin with modular flat configs for JavaScript, TypeScript, React, Next.js, and Vitest. Features zero-tolerance for warnings and support for modern development patterns.\n- **`@jabworks/prettier-config`**: Opinionated Prettier configuration with essential plugins for Tailwind CSS class sorting, JSON formatting, and package.json organization.\n- **`@jabworks/typescript-config`**: Shared TypeScript configurations (`base`, `nextjs`, `react-library`) with strict settings and modern module resolution.\n- **`@jabworks/stylelint-config`**: Shareable Stylelint configuration for modern CSS, PostCSS, and CSS Modules. Tailwind-aware defaults and sensible ordering rules.\n\n### Apps\n\n- **`apps/web/`**: Next.js demo application showcasing all configurations with Vitest browser testing setup\n- **`apps/docs/`**: Documentation site for the style guide packages\n\nAll packages are built with modern tooling and 100% [TypeScript](https://www.typescriptlang.org/) support.\n\n## Quick Start\n\n### Using the ESLint Plugin\n\n```bash\nnpm install -D @jabworks/eslint-plugin\n```\n\n```javascript\n// eslint.config.mjs\nimport { plugin } from '@jabworks/eslint-plugin';\n\nexport default [\n  {\n    plugins: { '@jabworks/eslint-plugin': plugin },\n  },\n  ...plugin.configs.next, // or .base, .react, .typescript\n];\n```\n\n### Using the Prettier Config\n\n```bash\nnpm install -D @jabworks/prettier-config\n```\n\n```javascript\n// prettier.config.js\nimport { config } from '@jabworks/prettier-config';\n\nexport default config;\n```\n\n### Using the Stylelint Config\n\n```bash\nnpm install -D stylelint @jabworks/stylelint-config\n```\n\nCommonJS (`.stylelintrc.cjs`):\n\n```js\nmodule.exports = {\n  extends: ['@jabworks/stylelint-config'],\n};\n```\n\nESM (`stylelint.config.mjs`):\n\n```js\nexport default {\n  extends: ['@jabworks/stylelint-config'],\n};\n```\n\n### Using TypeScript Configs\n\n```bash\nnpm install -D @jabworks/typescript-config\n```\n\n```json\n// tsconfig.json\n{\n  \"extends\": \"@jabworks/typescript-config/base.json\"\n}\n```\n\n## Development\n\nThis monorepo uses [Turborepo](https://turbo.build/) for efficient task orchestration and [pnpm](https://pnpm.io/) for package management.\n\n### Setup\n\n```bash\n# Install dependencies\npnpm install\n\n# Run all apps in development\npnpm dev\n\n# Build all packages\npnpm build\n\n# Lint everything\npnpm lint\n\n# Type check all packages\npnpm check-types\n```\n\n### Tools \u0026 Standards\n\n- **[TypeScript](https://www.typescriptlang.org/)** - Static type checking with strict configuration\n- **[ESLint](https://eslint.org/)** - Code linting with zero tolerance for warnings\n- **[Prettier](https://prettier.io)** - Code formatting with plugin ecosystem\n- **[Turborepo](https://turbo.build/)** - Monorepo orchestration and caching\n- **[Changesets](https://github.com/changesets/changesets)** - Version management and publishing\n- **[Vitest](https://vitest.dev/)** - Fast unit testing with browser mode support\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjabworks%2Fstyle-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjabworks%2Fstyle-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjabworks%2Fstyle-guide/lists"}