{"id":14350,"url":"https://github.com/frameworkless-movement/awesome-frameworkless","name":"awesome-frameworkless","description":"A collection of awesome things regarding Frameworkless","projects_count":35,"last_synced_at":"2026-04-09T15:00:35.637Z","repository":{"id":41256854,"uuid":"156696633","full_name":"frameworkless-movement/awesome-frameworkless","owner":"frameworkless-movement","description":"A collection of awesome things regarding Frameworkless","archived":false,"fork":false,"pushed_at":"2025-08-09T08:25:27.000Z","size":68,"stargazers_count":521,"open_issues_count":0,"forks_count":39,"subscribers_count":22,"default_branch":"master","last_synced_at":"2026-02-03T13:00:22.855Z","etag":null,"topics":["frameworkless","hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frameworkless-movement.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.MD","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":"2018-11-08T11:27:54.000Z","updated_at":"2026-01-26T00:33:03.000Z","dependencies_parsed_at":"2024-01-13T01:34:30.978Z","dependency_job_id":"438c09a3-2baa-449d-bcd1-3b59e99998ca","html_url":"https://github.com/frameworkless-movement/awesome-frameworkless","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/frameworkless-movement/awesome-frameworkless","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frameworkless-movement%2Fawesome-frameworkless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frameworkless-movement%2Fawesome-frameworkless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frameworkless-movement%2Fawesome-frameworkless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frameworkless-movement%2Fawesome-frameworkless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frameworkless-movement","download_url":"https://codeload.github.com/frameworkless-movement/awesome-frameworkless/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frameworkless-movement%2Fawesome-frameworkless/sbom","scorecard":{"id":408923,"data":{"date":"2025-08-11","repo":{"name":"github.com/frameworkless-movement/awesome-frameworkless","commit":"8c52b8882ea7109398488fb9b81d588f70c66b97"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":4,"reason":"Found 8/19 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":4,"reason":"5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Creative Commons Zero v1.0 Universal: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 20 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T22:07:47.456Z","repository_id":41256854,"created_at":"2025-08-18T22:07:47.456Z","updated_at":"2025-08-18T22:07:47.456Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29438641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T05:24:35.651Z","status":"ssl_error","status_checked_at":"2026-02-14T05:24:34.830Z","response_time":53,"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"}},"readme":"# Awesome Frameworkless\n\n[![framework less](http://frameworklessmovement.org/img/frameworkless__badge-github.svg)](https://github.com/frameworkless-movement/manifesto)\n[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n[![License CC0](https://img.shields.io/badge/License-CC0-lightgrey.svg)](https://creativecommons.org/publicdomain/zero/1.0/)\n\n\n\nA collection of awesome things regarding [Frameworkless](https://github.com/frameworkless-movement/manifesto)\n\n## Contents\n* [Decision Making](#decision-making)\n* [Java](#java)\n* [JavaScript](#javascript)\n* [Go](#go)\n* [PHP](#php)\n\n## Decision Making\n\n### Posts\n\n* [Framework Compass Chart](https://medium.com/@TheStrazz86/framework-compass-chart-d3851c25b45d) - A tool to choose a framework for your next project\n* [Make the Magic go away](https://blog.cleancoder.com/uncle-bob/2015/08/06/LetTheMagicDie.html) - Thoughts from Uncle Bob about Frameworks\n* [No Frameworks, Part 1](http://matteo.vaccari.name/blog/archives/1019) - Thoughts from Matteo Vaccari about Frameworks\n* [No Frameworks, Part 2](http://matteo.vaccari.name/blog/archives/1022) - Thoughts from Matteo Vaccari about Frameworks\n\n### Videos\n\n* [ViennaJS September 2018 - Framework Compass Chart](https://youtu.be/buFMbKRAUs8) - A tool to choose a framework for your next project\n\n\n## Java\n\n * [8 lines of code](https://www.infoq.com/presentations/8-lines-code-refactoring/) - Greg Young: How to organize code so that we don't need most of the magic provided by frameworks: IoC containers or AoP and dynamic proxies\n * *Going #frameworkless in the backend*: [video](https://www.youtube.com/watch?v=hepg9freOxg), [slides](https://www.slideshare.net/xpmatteo/going-frameworkless-in-the-backend), [repository](https://github.com/xpmatteo/frameworkless-hangman) - Matteo Vaccari: how to take a common Spring-Boot-based microservice and change it to not need Spring anymore\n* [Dependency Injection Containers are Code Polluters](https://www.yegor256.com/2014/10/03/di-containers-are-evil.html) - by [@yegor256](https://github.com/yegor256): How DI containers violate OOP and add boilerplate\n* A series of blog posts by [Alessio Coser](https://www.alessiocoser.com/) about decoding the magic of Spring Boot: [1. Configuration](https://www.alessiocoser.com/escaping-the-magic-of-the-frameworks-1-configuration/), [2. HTTP Routing](https://www.alessiocoser.com/escaping-the-magic-of-the-frameworks-2-http-routing/), [3, Tests](https://www.alessiocoser.com/escaping-the-magic-of-the-frameworks-3-tests/), [4. Dependencies](https://www.alessiocoser.com/escaping-the-magic-of-the-frameworks-4-dependencies/), [5. The framework itself](https://www.alessiocoser.com/escaping-the-magic-of-the-frameworks-5-the-framework/)\n\n## JavaScript\n\n### Book\n\n* Francesco Strazzullo's book [Frameworkless Front-End Development](https://www.goodreads.com/book/show/45288137-frameworkless-front-end-development)\n\n### Course\n\n* [frameworkless.js](https://frameworkless.js.org/) by Mike Timofiiv\n\n### Kit\n\n* [VanillaKit](https://github.com/p-it-nl/vanilla-kit) A minimalist, dependency-light vanilla JS starter kit — framework-free and no node modules required.\n\n### UI Library\n\n* [Corex](https://netoum.com/corex/documentation/introduction.html) A Pure HTML, Vanilla JS \u0026  CSS UI Component Library\n\n### Posts\n\n* [Make a simple spa without any frameworks, transpilers or routers](https://dev.to/rishavs/making-a-single-page-app-in-ye-good-olde-js-es6-3eng)\n* [Vanilla JavaScript and HTML - No frameworks. No libraries. No problem](https://dev.to/pluralsight/vanilla-javascript-and-html-no-frameworks-no-libraries-no-problem-2n99)\n* [A modern JavaScript router in 100 lines](http://krasimirtsonev.com/blog/article/A-modern-JavaScript-router-in-100-lines-history-api-pushState-hash-url) - How to create a router for a single page application\n* [Create a fully Reactive UI Framework with JavaScript Proxies and Virtual DOM](https://medium.com/@TheStrazz86/create-a-fully-reactive-ui-framework-with-javascript-proxies-and-virtual-dom-c6fb28253776) - How to use JavaScript Proxy to create a reactive architecture\n* [What’s the Document Object Model, and why you should know how to use it](https://medium.freecodecamp.org/whats-the-document-object-model-and-why-you-should-know-how-to-use-it-1a2d0bc5429d) - An introduction about Document Object Model and how to manipulate it\n* [Developing small JavaScript components WITHOUT frameworks](https://jack.ofspades.com/developing-small-javascript-components-without-frameworks/) - How to create JavaScript components ([Part 2](https://jack.ofspades.com/frameworkless-javascript-part-2-templates-and-rendering/), [Part 3](https://jack.ofspades.com/frameworkless-javascript-part-3-one-way-data-binding/))\n* [A Simple, Light and Frameworkless web-component, declared as a custom HTML element](https://github.com/vpellegrino/parking-widget) - This tiny project represents a proof of value, following TDD approach, about the possibility to realize interesting UI widget without use any framework (VanillaJS).\n* [Frameworkless Web Development](https://dev.to/misomir/frameworkless-web-development-3n2h) - How to create reusable Web Components in JavaScript using no framework\n* [Frameworkless SPA](https://medium.com/@a.jafari.90/framework-less-single-page-application-a547325f6e0c) - Frameworkless Single Page Application: From Theory to Implementation\n* [You Don’t Need a JavaScript Framework](https://medium.com/better-programming/you-dont-need-a-javascript-framework-df2a36c2dd0a)\n* [HTML web components using Vanilla JavaScript](https://ayushgp.github.io/html-web-components-using-vanilla-js/)\n* [Master the DOM](https://medium.com/re-dom/master-the-dom-bc1a2a06089b) - Master the DOM: It’s not as hard as you might think\n* [On Frameworkless JavaScript](https://tales.mbivert.com/on-frameworkless-js/#comparison-with-react) - Create UIs with a simple VanillaJS pattern; compared with React on its tic-tac-toe tutorial\n\n### Examples\n* [Template/boilerplate for frameworkless Node.js+GraphQL application](https://github.com/app/node-graphql-frameworkless)\n\n\n## Go\n* [The Best Go framework: no framework?](https://threedots.tech/post/best-go-framework/)\n* [When you should not use frameworks](https://threedots.tech/episode/when-you-should-not-use-frameworks/)\n\n## PHP\n\n### Posts\n\n* [Modern PHP Without a Framework](https://kevinsmith.io/modern-php-without-a-framework)\n* [A small tutorial to show how to create a PHP application without a framework](https://github.com/PatrickLouys/no-framework-tutorial)\n* [Frameworkless foundation of your PHP application](https://lessthan12ms.com/frameworkless-foundation-of-your-php-application.html)\n* [Write modern PHP without a framework](https://medium.com/@dhgouveia/write-modern-php-without-framework-d244d8ca2b50)\n\n### Videos\n\n* [Do PHP Frameworks still make Sense? Let’s go Frameworkless to focus on the Domain!](https://www.youtube.com/watch?v=-vFouRoxgsk)\n\n### Examples\n* [stefanotorresi/frameworkless-php-boilerplate](https://github.com/stefanotorresi/frameworkless-php-boilerplate)\n","created_at":"2024-01-12T20:23:55.001Z","updated_at":"2026-04-09T15:00:35.638Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Java","Decision Making","JavaScript","PHP","Go"],"sub_categories":["Videos","Posts","Examples","Book","Course","Kit","UI Library"],"projects_url":"https://awesome.ecosyste.ms/api/v1/lists/frameworkless-movement%2Fawesome-frameworkless/projects"}