{"id":13416532,"url":"https://github.com/hotwired/stimulus","last_synced_at":"2025-12-12T04:33:31.832Z","repository":{"id":37464125,"uuid":"76694515","full_name":"hotwired/stimulus","owner":"hotwired","description":"A modest JavaScript framework for the HTML you already have","archived":false,"fork":false,"pushed_at":"2025-03-27T05:59:48.000Z","size":4255,"stargazers_count":12890,"open_issues_count":52,"forks_count":428,"subscribers_count":192,"default_branch":"main","last_synced_at":"2025-05-05T15:59:38.117Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://stimulus.hotwired.dev/","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/hotwired.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-12-17T00:19:29.000Z","updated_at":"2025-05-05T04:08:31.000Z","dependencies_parsed_at":"2022-07-14T04:10:28.109Z","dependency_job_id":"ad033d30-4895-4e64-b987-ef3e7dda1f1c","html_url":"https://github.com/hotwired/stimulus","commit_stats":{"total_commits":1001,"total_committers":94,"mean_commits":"10.648936170212766","dds":0.6103896103896104,"last_synced_commit":"101a060f961e9240b55b29e25fdfe82c79b9c5b0"},"previous_names":["stimulusjs/stimulus"],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotwired%2Fstimulus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotwired%2Fstimulus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotwired%2Fstimulus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotwired%2Fstimulus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hotwired","download_url":"https://codeload.github.com/hotwired/stimulus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253092154,"owners_count":21852749,"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":"2024-07-30T21:01:00.317Z","updated_at":"2025-12-12T04:33:31.779Z","avatar_url":"https://github.com/hotwired.png","language":"TypeScript","readme":"# \u003cimg src=\"assets/logo.svg?sanitize=true\" width=\"24\" height=\"24\" alt=\"Stimulus\"\u003e Stimulus\n\n### A modest JavaScript framework for the HTML you already have\n\nStimulus is a JavaScript framework with modest ambitions. It doesn't seek to take over your entire front-end—in fact, it's not concerned with rendering HTML at all. Instead, it's designed to augment your HTML with just enough behavior to make it shine. Stimulus pairs beautifully with [Turbo](https://turbo.hotwired.dev) to provide a complete solution for fast, compelling applications with a minimal amount of effort.\n\nHow does it work? Sprinkle your HTML with controller, target, and action attributes:\n\n```html\n\u003cdiv data-controller=\"hello\"\u003e\n  \u003cinput data-hello-target=\"name\" type=\"text\"\u003e\n\n  \u003cbutton data-action=\"click-\u003ehello#greet\"\u003eGreet\u003c/button\u003e\n\n  \u003cspan data-hello-target=\"output\"\u003e\u003c/span\u003e\n\u003c/div\u003e\n```\n\nThen write a compatible controller. Stimulus brings it to life automatically:\n\n```js\n// hello_controller.js\nimport { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n  static targets = [ \"name\", \"output\" ]\n\n  greet() {\n    this.outputTarget.textContent =\n      `Hello, ${this.nameTarget.value}!`\n  }\n}\n```\n\nStimulus continuously watches the page, kicking in as soon as attributes appear or disappear. It works with any update to the DOM, regardless of whether it comes from a full page load, a [Turbo](https://turbo.hotwired.dev) page change, or an Ajax request. Stimulus manages the whole lifecycle.\n\nYou can write your first controller in five minutes by following along in the [Stimulus Handbook](https://stimulus.hotwired.dev/handbook/introduction).\n\nYou can read more about why we created this new framework in [The Origin of Stimulus](https://stimulus.hotwired.dev/handbook/origin).\n\n## Installing Stimulus\n\nYou can use Stimulus with any asset packaging systems. And if you prefer no build step at all, just drop a `\u003cscript\u003e` tag on the page and get right down to business.\n\nSee the [Installation Guide](https://stimulus.hotwired.dev/handbook/installing) for detailed instructions.\n\n## Getting Help\n\nLooking for the docs? Once you've read through the Handbook, consult the [Stimulus Reference](https://stimulus.hotwired.dev/reference/controllers) for API details.\n\nHave a question about Stimulus? Connect with other Stimulus developers on the [Hotwire Discourse](https://discuss.hotwired.dev/) community forum.\n\n## Contributing Back\n\nFind a bug? Head over to our [issue tracker](https://github.com/hotwired/stimulus/issues) and we'll do our best to help. We love pull requests, too!\n\nWe expect all Stimulus contributors to abide by the terms of our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n### Development\n\n- Fork the project locally\n- `yarn install`\n- `yarn start` - to run the local dev server with examples\n- `yarn test` - to run the unit tests\n- `yarn lint` - to run the linter with ESLint\n- `yarn format` - to format changes with Prettier\n\n## Acknowledgments\n\nStimulus is [MIT-licensed](LICENSE.md) open-source software from [Basecamp](https://basecamp.com/), the creators of [Ruby on Rails](https://rubyonrails.org).\n\n---\n\n© 2024 Basecamp, LLC.\n","funding_links":[],"categories":["TypeScript","Official Documentation","🔧 Utilities \u0026 Miscellaneous","others","**Awesome Hotwire** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)"],"sub_categories":["Stimulus"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhotwired%2Fstimulus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhotwired%2Fstimulus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhotwired%2Fstimulus/lists"}