npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

kakle

v1.0.0-alpha

Published

> If Commit Then That

Downloads

5

Readme

kakle

If Commit Then That

When working on big or small teams, there comes a time when one of your team members adds a frontend dependency, adds code that requires database migration, or just adds a patch that simply requires you to run a command. kakle does exactly this. If some file is changed, run a command. If a commit message contains a tag, run a command. If you don't want to automatically run commands, you can just get a reminder that you should do it your self. kakle can be summarized as If Commit, Then That.

See more documentation in the docs

Example Usage

kakle uses a local config file (.kaklerc) in your repo which you can use to add hooks for commits. Or you can use the CLI to add interactively:

⇝ kakle add
? type (tag, regex or glob) glob
? glob package.json
? command npm install
? should run automatically Yes

{
  "glob": "package.json",
  "command": "npm install",
  "autorun": true
}

? Does this look good? Yes
√ Added new hook

This adds a tag hook to your git messages, and when you merge in or rebase in a new commit with the text [run] in the message, the command curl http://localhost:3000 will automatically run – given that you have activated the kakle hooks. You can check this by doing:

⇝ kakle hooks status
Hooks not yet activated.
Run `kakle hooks activate` to activate hooks.

and activate it by doing:

⇝ kakle hooks activate
Activated hooks

See other commands by doing kakle help or help on a specific topic by doing kakle help <topic> (e.g. kakle help hooks).

Usage

⇝ kakle -h

Usage: kakle [options] <sub-task>


Commands:

  hooks <command>     activate, deactivate or show current status of git hooks in a repo
  exec <manifest>     execute kakle on manifestfile (mostly used by hooks)
  add [hook-type]     Add tags, regexes and/or globs
  remove [hook-type]  Remove tags, regexes and/or globs
  list [hook-type]    List different tags, regexes and/or globs
  help [cmd]          display help for [cmd]

# Kakle
When working on big or small teams, there comes a time when one of your team
members adds a frontend dependency, adds code that requires database migration,
or just adds a patch that simply requires you to run a command. kakle does
exactly this. If some file is changed, run a command. If a commit message
contains a tag, run a command. If you don't want to automatically run commands,
you can just get a reminder that you should do it your self. kakle can be
summarized as If Commit, Then That.

Options:

  -h, --help     output usage information
  -V, --version  output the version number

Examples

Adding

kakle add tag
> tag: <>
> command: <>
> autorun: true|false
kakle add regex
> regex: <>
> command: <>
> autorun: true|false
kakle add glob
> glob: <>
> command: <>
> autorun: true|false

Hooks

kakle hooks activate
kakle hooks deactivate
kakle hooks status

List

kakle list
# List all tags/regex/globs

Executing

kakle exec ./path/to/.kaklerc