alpinejs/alpine

A rugged, minimal framework for composing JavaScript behavior in your markup.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 25 minutes ago
Added to GitGenius on September 13th, 2026
Created on November 28th, 2019
Open Issues & Pull Requests: 11 (+0)
GitHub issues: Enabled
Number of forks: 1,389
Total Stargazers: 31,924 (+0)
Total Subscribers: 226 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.3 hours
Mean response time: 40.1 hours
90th percentile: 6.7 days
Tracked items: 45

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 12% of issues opened in the past year have been closed. Three people close 59% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 3
Closed in 7 days: 0
Avg open age: 5 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 3
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • documentation (1)
  • question (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Alpine.js is a lightweight JavaScript framework for adding interactive behavior directly within HTML markup.

The tool addresses the need for minimal, pragmatic interactivity in web pages without the overhead of a full single-page application framework. It works by allowing developers to compose JavaScript behavior inline using HTML attributes and directives, keeping logic close to the markup it affects. This approach reduces the cognitive load of context-switching between separate template and script files while maintaining a small bundle size.

Alpine.js suits projects where you want progressive enhancement or scattered interactivity across server-rendered pages rather than a client-side application architecture. It works well for adding form validation, toggling UI elements, managing focus, persisting state, or triggering actions based on viewport intersection. The ecosystem includes plugins for common patterns like smooth collapse animations, text input masking, HTML morphing, and binding data to query parameters. Developers choosing Alpine should expect a framework designed for simplicity and directness rather than comprehensive tooling; it intentionally stays minimal and leaves many architectural decisions to the developer.

The project maintains a monorepo structure using npm workspaces, with the core Alpine package alongside several focused plugins. Development uses ESBuild for bundling, Cypress for integration testing, and Vitest for unit tests. The repository accepts documentation contributions and provides clear guidance for local setup and building. The codebase is organized to support both CDN distribution via self-initializing builds and module imports for different environments.