{"id":15041351,"url":"https://github.com/seyd/spot-css","last_synced_at":"2026-02-25T23:05:49.195Z","repository":{"id":37853899,"uuid":"240253787","full_name":"seyd/spot-css","owner":"seyd","description":"SPOT CSS Framework { Single Place Of Truth Methodology }","archived":false,"fork":false,"pushed_at":"2023-10-09T11:25:57.000Z","size":630,"stargazers_count":25,"open_issues_count":8,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-31T08:43:18.160Z","etag":null,"topics":["css","css-architecture","css-framework","css-methodologies","css-methodology","sass","sass-architecture","sass-framework","sass-mixins"],"latest_commit_sha":null,"homepage":"","language":"SCSS","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/seyd.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}},"created_at":"2020-02-13T12:21:20.000Z","updated_at":"2024-08-06T13:37:54.000Z","dependencies_parsed_at":"2025-05-23T23:09:41.312Z","dependency_job_id":"bceeec9e-fe5e-4367-8dcb-1c2233c9e20b","html_url":"https://github.com/seyd/spot-css","commit_stats":{"total_commits":112,"total_committers":3,"mean_commits":"37.333333333333336","dds":0.4017857142857143,"last_synced_commit":"1bc6fc64a49c7925ef44f719fc9fce2c43437abe"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/seyd/spot-css","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyd%2Fspot-css","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyd%2Fspot-css/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyd%2Fspot-css/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyd%2Fspot-css/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seyd","download_url":"https://codeload.github.com/seyd/spot-css/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyd%2Fspot-css/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29844845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T22:37:40.667Z","status":"ssl_error","status_checked_at":"2026-02-25T22:37:25.960Z","response_time":61,"last_error":"SSL_read: 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":["css","css-architecture","css-framework","css-methodologies","css-methodology","sass","sass-architecture","sass-framework","sass-mixins"],"created_at":"2024-09-24T20:45:59.860Z","updated_at":"2026-02-25T23:05:49.177Z","avatar_url":"https://github.com/seyd.png","language":"SCSS","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://spotcss.io/\" target=\"_blank\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://spotcss.io/img/spot-css-logo-white-small-transparent.png\"\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://spotcss.io/img/spot-css-logo-black-small-transparent.png\"\u003e\n      \u003cimg alt=\"SPOT CSS\" src=\"https://spotcss.io/img/spot-css-logo-white-small.png\" width=\"376\" height=\"140\" style=\"max-width: 100%;\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.npmjs.com/package/spotcss\"\u003e\u003cimg src=\"https://img.shields.io/badge/npm-spotcss-blue\" alt=\"NPM Package\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/seyd/spot-css/releases\"\u003e\u003cimg src=\"https://img.shields.io/badge/version-v2.2.22-green\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/seyd/spot-css/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue\" alt=\"License\"\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/badge/coverage-100%25-green\" alt=\"Unit tests coverage\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e  \n  The ultimate SASS framework and CSS methodology for sustainable styling.\u003cbr /\u003e\n  A clear and semantic way to write CSS.\u003cbr /\u003e\n  Aspiring industry standard for writing styles.\n\u003c/p\u003e\n\n------\n\n\u003cbr /\u003e\n\n## What is it about?\n\n\u003cp\u003eSPOT CSS is a pure SASS framework and is primarily about the structure of CSS code. It is forcing component base approach and relies on maximum semantic code.\u003c/p\u003e\n\u003cp\u003eIf you don't like the approach of utility first frameworks like Tailwind and you don't want to write inline styles on steroids, which is easy to write, but damn hard to read and maintain, this is the framework for you.\u003c/p\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://spotcss.io/\" target=\"_blank\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://spotcss.io/img/spot-css-code-light.gif\"\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://spotcss.io/img/spot-css-code-dark.gif\"\u003e\n      \u003cimg alt=\"SPOT CSS\" src=\"https://spotcss.io/img/spot-css-code-light.jpg\" style=\"max-width: 100%;\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nYou can play with the live demo here: [spotcss.io](https://spotcss.io/)\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Installation\nRun `$ npm i --save-dev spotcss` or `$ yarn add --dev spotcss` to install SPOT CSS package.\n\nInclude line `@import \"~spotcss\";` into your SCSS/SASS files.\n\n\u003cbr /\u003e\n\n## Documentation\n\nWe offer 4 ways to explain our methodology and framework:\n\n- **[Cheat Sheet](https://spotcss.io/cheat-sheet)** - `takes 3 minutes` - Select what you want to do and find out how to do it in SPOT CSS framework.\n\n- **[Quick start guide](https://spotcss.io/quick-start-guide)** - `takes 15 minutes` - The quickest way to see the way style is written in this framework, without explanation of why it is so and what are the advantages of such an approach.\n\n- **[Tutorial](https://spotcss.io/tutorial)** - `takes 1 hour` - A basic overview that is organized so that it can be read from start to end and so that the reader understands the fundamental principles and basic ways of using the framework.\n\n- **[Documentation](https://spotcss.io/docs/intro)** - `takes hours` - Comprehensive documentation of everything, organized by mixins and framework entities, so you can quickly find exactly what you want to learn more about.\n\nChoose the one that fits your current needs best.\n\n\u003cbr /\u003e\n\n## Pros\n\n### Clear to read\nEven those who are not familiar with our methodology and framework understand the written code, because it has an intuitive syntax.\n\n### Easy to write\nBecause every line has a clear meaning and context, you can learn syntax very quickly and parser will help you not to break the rules.\n\n### Natural to think that way\nYou are already thinking in term of components, elements, states, variants an contexts. Just write and read it just like that.\n\n### Just SASS\nPure SASS framework with no other dependencies, javascript, or pre/post processor. So it's usable in any ecosystem (JS, PHP, Rubby, Python...)\n\n\u003cbr /\u003e\n\n## Cons\n\n### SASS syntax\nEveryone uses the SCSS syntax. So why SASS? Because of @include. But you can use the SCSS syntax if you want. But it's ugly and cluttered. See [the differences](https://spotcss.io/docs/sass-syntax).\n\n### New mixins\nSPOT CSS code is based on mixins and functions. Most of them produce selectors. It's easy to learn because they are semantic. See the [Quick start guide](https://spotcss.io/quick-start-guide).\n\n### No utility classes\nIf you are used to using utility classes exclusively, this approach is different. It is component based. But you can use utility classes sometimes, but in moderation.\n\n### Too strict\nSPOT CSS framework forces you to follow many rules and will yell at you when you break some of them. But that's the advantage, it's basically an implicit linter. You can get around partially this with +mode('draft').\n\n\u003cbr /\u003e\n\n## Other benefits\n\n### Universal\nThe SPOT CSS approach is compatible with most types of projects and methodologies. Even with BEM. What it is not compatible with is utility first class frameworks.\n\n### Standardized\nWith SPOT CSS basically everyone writes the same code. Or at least very similar. Therefore, it can serve as a company standard for how to structure and write CSS.\n\n### Easy to refactor\nIf your project is written as component based CSS, but over time you've gotten into an unmaintainable state, refactoring to SPOT CSS is a matter of a few days.\n\n\u003cbr /\u003e\n\n## Community\n\n### Discord\nJoin our SPOT CSS community and enjoy our prompt support on [Discord](https://discord.gg/cyCXkZmJzm).\n\n### Looking for contributors\nIf you are interested in any of this and you know how to code in JS or SASS, we can make amazing and useful tools together. I'm on my own for now on this project and any help will be appreciated. Contact me on our [Discord](https://discord.gg/cyCXkZmJzm) - Johnny Seyd (@Seyd#6245)\n\n\u003cbr /\u003e\n\n## License\n\nThe SPOT CSS Framework and methodology is released under the [MIT License](https://github.com/seyd/spot-css/blob/master/LICENSE).\n\n\u003c!--\n## Naming convention\n\n- **simple selector** - select elements based on name, id, class without relations to parents or siblings (no spaces, +, \u003e, ~), e.g `div.wrapper`.\n\n- **combinator selectors** - select elements based on a specific relationship between them (contains spaces, +, \u003e, or ~), e.g. `.wrapper \u003e a`.\n\n- **single selector** - selector which doesn't contain commas. It could be both: simple selector or combinator selectors.\n\n- **multiple selectors** - more single selectors separated by comma, e.g. `div.wrapper, .wrapper \u003e a`.\n\n- **multiple simple selectors** - more simple selectors separated by comma, e.g. `div.wrapper, a.wrapper`.\n\n- **multiple combinator selectors** - more combinator selectors separated by comma, e.g. `div.wrapper span, .wrapper \u003e a`.\n\n\u003cbr /\u003e\n\n## For contributors\n### Development instructions\nRun `$ npm run test` to run tests once.\n\nRun `$ npm run test:watch` to develop and see the tests result live.\n\nRun `$ npm run doc` to build and open in browser documentation for developers (sassdoc).\n\nIf you have not installed *sassdoc*, run `$ npm install -g sassdoc` at first.\n\nRun `$ npm run doc:build` to just rebuild SASS documentation or `$ npm run doc:view` to open it in browser.\n--\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseyd%2Fspot-css","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseyd%2Fspot-css","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseyd%2Fspot-css/lists"}