Open-source projects for the parts of web development you keep redoing.
Modulane is a set of projects I build for my own web development work and publish for anyone who finds them useful. Each one takes a job I kept redoing by hand, from finding and running project scripts to rebuilding the same website parts, and makes it something I set up once and stop thinking about.
| Project | What it does | Install |
|---|---|---|
| Dev Workspace CLI | Browse the projects in your development folder and run their scripts from one interactive menu, with npm, pnpm, Yarn or Bun detected automatically. | npm install -g @modulane/dev-workspace-cli |
| Nuxt Core | Build websites with Nuxt from tested building blocks: accessible unstyled components, a design system, or both, as Nuxt layers that a site extends and can override. | None yet: not on npm until it is usable |
| AI Disclosure | A GitHub Action that fails a pull request until its description says whether AI tools were used, and how. No token, no checkout, safe on forks. | uses: modulane/ai-disclosure@v1 in a workflow |
These hold the setup that modulane repositories share, so each one stops carrying its own copy. They are built for this organisation first: anyone can use the public ones, but they follow what modulane repositories need.
| Repository | What it holds | Install |
|---|---|---|
| configs | The shared Prettier options and ESLint flat configs for Node.js packages and Nuxt projects, each published on npm on its own. | npm install -D @modulane/prettier-config @modulane/eslint-config |
| workflows | Reusable GitHub Actions workflows that every modulane repository calls, so a fix reaches all of them at once: pull request title and labels, AI disclosure, label sync and zizmor. | uses: modulane/workflows/.github/workflows/<name>.yml@<sha> |
| repo-template (private) | The reference GitHub setup every modulane repository starts from and follows: rulesets, CI ending in a single CI passed job, the calls to the shared workflows, Dependabot for actions and semantic-release. | Not published |
Nothing here is on npm yet. These repositories are private until they are usable, and each one moves up to a section above when it is released.
| Project | What it will do | Status |
|---|---|---|
| Nuxt Extras | Small Nuxt modules that work alongside Nuxt Core, each released on its own. The first one, nuxt-ripple, adds a v-ripple directive. |
In development |
| create-modulane-nuxt | Start a Nuxt site on Nuxt Core in one command, with linting, CI and releases set up: npm create @modulane/nuxt. |
Planned |
| terminal-ui | The mouse-first, keyboard-complete terminal menus from Dev Workspace CLI, as a library, so every modulane CLI looks and behaves the same. | Planned |
| branch-pruner | Review stale Git branches in an interactive menu, squash merges included, before anything is deleted locally or on GitHub. | Planned |
| repo-check | Check that a modulane repository still matches the reference setup, as a CLI and as a GitHub Action, and report what has drifted. | Planned |
Watch this organisation or star the repositories to hear when one is released.
- Built from real use. Every project starts as something I needed in my own work, and I keep using it after it ships.
- Focused. One job per project, few dependencies, sensible defaults.
- Works everywhere. Tools run on Windows, macOS and Linux. Website building blocks work on every screen size, with a keyboard and with assistive technology.
- Open source. Released under the MIT License unless a repository says otherwise.
Modulane is built and maintained by one person. If these projects save you time, you can support them on Patreon, where I also post what I am working on and what comes next.
- Questions and ideas: open a discussion or issue in the relevant repository.
- Bugs: open an issue in the relevant repository.
- Security vulnerabilities: never open a public issue. Use Report a vulnerability in the repository's Security tab. See the security policy.
Contributions are welcome. Each repository has its own CONTRIBUTING.md with setup and workflow details. Issues labelled good first issue or help wanted are ready to pick up.