A minimalist starting point for your next Vue composable.

  • ? TypeScript by default
  • ?️‍♀️ Vue as peer dependency (minimal bundle size)
  • ? Vue 2 & 3 support using vue-demi
  • ? Testing using Jest
  • ? Exports cjs, esm and global bundles
  • ? Demo ready to be written and bundled using Vite
  • ? Edit variables, implement, test, publish


Build the package:

yarn build

Build with watcher:

yarn dev

Run the demo:

yarn dev:demo

Build the demo:

yarn build:demo

Lint the package:

yarn link

Run test suite:

yarn test

Test typings:

yarn test:types


  • [ ] Edit package.json name, description, repository and author keys.
  • [ ] Remove .vscode folder (containing recommended extensions)
  • [ ] Edit
  • [ ] Implement my composable.
  • [ ] Test my composable.
  • [ ] Make a demo of my composable in the demo folder.
  • [ ] Document my composable.
  • [ ] Publish on NPM, awesome-vue, vue-forum, Vue Discord.


You are more than welcome to improve this starter template.

Just submit your changes via pull request and I will review them before merging.

If you are making a fix on the template, you can use the main branch and send a pull request.

If you are adding a new features, please create a new branch with a name describing your feature (my-new-feature), push to your branch and then submit a pull request.