{"id":17188278,"url":"https://github.com/jclem/konk","last_synced_at":"2025-04-13T19:14:00.082Z","repository":{"id":59046706,"uuid":"496709216","full_name":"jclem/konk","owner":"jclem","description":"Run commands serially or concurrently","archived":false,"fork":false,"pushed_at":"2024-12-24T18:47:46.000Z","size":122,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T17:31:10.820Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://npm.im/konk","language":"Go","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/jclem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-26T17:18:19.000Z","updated_at":"2024-12-24T18:47:50.000Z","dependencies_parsed_at":"2024-02-15T18:47:54.094Z","dependency_job_id":"b2e91bad-e300-492d-8f78-7e96577dc06e","html_url":"https://github.com/jclem/konk","commit_stats":{"total_commits":86,"total_committers":3,"mean_commits":"28.666666666666668","dds":0.03488372093023251,"last_synced_commit":"08667b1aa3cb820969b84bac7ea430c84cbb56a3"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jclem%2Fkonk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jclem%2Fkonk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jclem%2Fkonk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jclem%2Fkonk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jclem","download_url":"https://codeload.github.com/jclem/konk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248262434,"owners_count":21074308,"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-10-15T01:08:34.497Z","updated_at":"2025-04-13T19:14:00.054Z","avatar_url":"https://github.com/jclem.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Konk\n\nKonk runs a series of commands serially or concurrently. It is especially\nwell-suited to running multiple npm scripts.\n\n## Why?\n\nThere are two npm packages I frequently already use for running npm scripts\nserially or concurrently: `npm-run-all` and `concurrently`. I built konk because\nI wanted something that could run serially and concurrently and did not need to\nbe installed as an npm package (note, however, that konk _can_ be installed from\nnpm). In addition, I wanted to be able to use the same command line interface to\nrun processes defined in a Procfile. Finally, I have always been curious how to\nbuild such a command line interface, so this is also a learning exercise for me.\n\nThere are currently feature gaps between `npm-run-all` and `concurrently`, but I\nam working to fill them when I have time.\n\n## Installation\n\nInstall via Homebrew:\n\n```shell\n$ brew install jclem/tap/konk\n```\n\nOr, use or install directly from npm:\n\n```shell\n$ npx konk      # Run from npm\n$ npm i -g konk # Install from npm\n```\n\n## konk\n\nKonk is a tool for running multiple processes\n\n### Options\n\n```\n  -D, --debug   debug mode\n  -h, --help    help for konk\n```\n\n### SEE ALSO\n\n- [konk completion](#konk-completion) - Generate the autocompletion script for the specified shell\n- [konk docs](#konk-docs) - Print documentation\n- [konk proc](#konk-proc) - Run commands defined in a Procfile (alias: p)\n- [konk run](#konk-run) - Run commands serially or concurrently (alias: r)\n\n## konk completion\n\nGenerate the autocompletion script for the specified shell\n\n### Synopsis\n\nGenerate the autocompletion script for konk for the specified shell.\nSee each sub-command's help for details on how to use the generated script.\n\n### Options\n\n```\n  -h, --help   help for completion\n```\n\n### Options inherited from parent commands\n\n```\n  -D, --debug   debug mode\n```\n\n### SEE ALSO\n\n- [konk](#konk) - Konk is a tool for running multiple processes\n- [konk completion bash](#konk-completion-bash) - Generate the autocompletion script for bash\n- [konk completion fish](#konk-completion-fish) - Generate the autocompletion script for fish\n- [konk completion powershell](#konk-completion-powershell) - Generate the autocompletion script for powershell\n- [konk completion zsh](#konk-completion-zsh) - Generate the autocompletion script for zsh\n\n## konk completion bash\n\nGenerate the autocompletion script for bash\n\n### Synopsis\n\nGenerate the autocompletion script for the bash shell.\n\nThis script depends on the 'bash-completion' package.\nIf it is not installed already, you can install it via your OS's package manager.\n\nTo load completions in your current shell session:\n\n    source \u003c(konk completion bash)\n\nTo load completions for every new session, execute once:\n\n#### Linux:\n\n    konk completion bash \u003e /etc/bash_completion.d/konk\n\n#### macOS:\n\n    konk completion bash \u003e $(brew --prefix)/etc/bash_completion.d/konk\n\nYou will need to start a new shell for this setup to take effect.\n\n```\nkonk completion bash\n```\n\n### Options\n\n```\n  -h, --help              help for bash\n      --no-descriptions   disable completion descriptions\n```\n\n### Options inherited from parent commands\n\n```\n  -D, --debug   debug mode\n```\n\n### SEE ALSO\n\n- [konk completion](#konk-completion) - Generate the autocompletion script for the specified shell\n\n## konk completion fish\n\nGenerate the autocompletion script for fish\n\n### Synopsis\n\nGenerate the autocompletion script for the fish shell.\n\nTo load completions in your current shell session:\n\n    konk completion fish | source\n\nTo load completions for every new session, execute once:\n\n    konk completion fish \u003e ~/.config/fish/completions/konk.fish\n\nYou will need to start a new shell for this setup to take effect.\n\n```\nkonk completion fish [flags]\n```\n\n### Options\n\n```\n  -h, --help              help for fish\n      --no-descriptions   disable completion descriptions\n```\n\n### Options inherited from parent commands\n\n```\n  -D, --debug   debug mode\n```\n\n### SEE ALSO\n\n- [konk completion](#konk-completion) - Generate the autocompletion script for the specified shell\n\n## konk completion powershell\n\nGenerate the autocompletion script for powershell\n\n### Synopsis\n\nGenerate the autocompletion script for powershell.\n\nTo load completions in your current shell session:\n\n    konk completion powershell | Out-String | Invoke-Expression\n\nTo load completions for every new session, add the output of the above command\nto your powershell profile.\n\n```\nkonk completion powershell [flags]\n```\n\n### Options\n\n```\n  -h, --help              help for powershell\n      --no-descriptions   disable completion descriptions\n```\n\n### Options inherited from parent commands\n\n```\n  -D, --debug   debug mode\n```\n\n### SEE ALSO\n\n- [konk completion](#konk-completion) - Generate the autocompletion script for the specified shell\n\n## konk completion zsh\n\nGenerate the autocompletion script for zsh\n\n### Synopsis\n\nGenerate the autocompletion script for the zsh shell.\n\nIf shell completion is not already enabled in your environment you will need\nto enable it. You can execute the following once:\n\n    echo \"autoload -U compinit; compinit\" \u003e\u003e ~/.zshrc\n\nTo load completions in your current shell session:\n\n    source \u003c(konk completion zsh)\n\nTo load completions for every new session, execute once:\n\n#### Linux:\n\n    konk completion zsh \u003e \"${fpath[1]}/_konk\"\n\n#### macOS:\n\n    konk completion zsh \u003e $(brew --prefix)/share/zsh/site-functions/_konk\n\nYou will need to start a new shell for this setup to take effect.\n\n```\nkonk completion zsh [flags]\n```\n\n### Options\n\n```\n  -h, --help              help for zsh\n      --no-descriptions   disable completion descriptions\n```\n\n### Options inherited from parent commands\n\n```\n  -D, --debug   debug mode\n```\n\n### SEE ALSO\n\n- [konk completion](#konk-completion) - Generate the autocompletion script for the specified shell\n\n## konk docs\n\nPrint documentation\n\n```\nkonk docs [flags]\n```\n\n### Options\n\n```\n  -f, --format string   output format (default \"markdown\")\n  -h, --help            help for docs\n```\n\n### Options inherited from parent commands\n\n```\n  -D, --debug   debug mode\n```\n\n### SEE ALSO\n\n- [konk](#konk) - Konk is a tool for running multiple processes\n\n## konk proc\n\nRun commands defined in a Procfile (alias: p)\n\n```\nkonk proc [flags]\n```\n\n### Options\n\n```\n  -c, --continue-on-error          continue running commands after a failure\n  -e, --env-file string            Path to the env file (default \".env\")\n  -h, --help                       help for proc\n  -C, --no-color                   do not colorize label output\n  -E, --no-env-file                Don't load the env file\n  -B, --no-label                   do not attach label/prefix to output\n  -S, --no-subshell                do not run commands in a subshell\n      --omit-env                   Omit any existing runtime environment variables\n  -p, --procfile string            Path to the Procfile (default \"Procfile\")\n  -w, --working-directory string   set the working directory for all commands\n```\n\n### Options inherited from parent commands\n\n```\n  -D, --debug   debug mode\n```\n\n### SEE ALSO\n\n- [konk](#konk) - Konk is a tool for running multiple processes\n\n## konk run\n\nRun commands serially or concurrently (alias: r)\n\n```\nkonk run \u003csubcommand\u003e [flags]\n```\n\n### Options\n\n```\n  -b, --bun                        Run npm commands with Bun\n  -L, --command-as-label           use each command as its own label\n  -c, --continue-on-error          continue running commands after a failure\n  -h, --help                       help for run\n  -l, --label stringArray          label prefix for the command\n  -C, --no-color                   do not colorize label output\n  -B, --no-label                   do not attach label/prefix to output\n  -S, --no-subshell                do not run commands in a subshell\n  -n, --npm stringArray            npm command\n  -w, --working-directory string   set the working directory for all commands\n```\n\n### Options inherited from parent commands\n\n```\n  -D, --debug   debug mode\n```\n\n### SEE ALSO\n\n- [konk](#konk) - Konk is a tool for running multiple processes\n- [konk run concurrently](#konk-run-concurrently) - Run commands concurrently (alias: c)\n- [konk run serially](#konk-run-serially) - Run commands serially (alias: s)\n\n## konk run concurrently\n\nRun commands concurrently (alias: c)\n\n```\nkonk run concurrently \u003ccommand...\u003e [flags]\n```\n\n### Examples\n\n```\n# Run two commands concurrently\n\nkonk run concurrently \"script/api-server\" \"script/frontend-server\"\n\n# Run a set of npm commands concurrently\n\nkonk run concurrently -n lint -n test\n\n# Run a set of npm commands concurrently, but aggregate their output\n\nkonk run concurrently -g -n lint -n test\n\n# Run all npm commands prefixed with \"check:\" concurrently using Bun, ignore\n# errors, aggregate output, and use the script name as the label\n\nkonk run concurrently -bgcL -n \"check:*\"\n```\n\n### Options\n\n```\n  -g, --aggregate-output   aggregate command output\n  -h, --help               help for concurrently\n```\n\n### Options inherited from parent commands\n\n```\n  -b, --bun                        Run npm commands with Bun\n  -L, --command-as-label           use each command as its own label\n  -c, --continue-on-error          continue running commands after a failure\n  -D, --debug                      debug mode\n  -l, --label stringArray          label prefix for the command\n  -C, --no-color                   do not colorize label output\n  -B, --no-label                   do not attach label/prefix to output\n  -S, --no-subshell                do not run commands in a subshell\n  -n, --npm stringArray            npm command\n  -w, --working-directory string   set the working directory for all commands\n```\n\n### SEE ALSO\n\n- [konk run](#konk-run) - Run commands serially or concurrently (alias: r)\n\n## konk run serially\n\nRun commands serially (alias: s)\n\n```\nkonk run serially \u003ccommand...\u003e [flags]\n```\n\n### Examples\n\n```\n# Run two commands in serial\n\nkonk run serially \"echo foo\" \"echo bar\"\n\n# Run a set of npm commands in serial\n\nkonk run serially -n build -n deploy\n```\n\n### Options\n\n```\n  -h, --help   help for serially\n```\n\n### Options inherited from parent commands\n\n```\n  -b, --bun                        Run npm commands with Bun\n  -L, --command-as-label           use each command as its own label\n  -c, --continue-on-error          continue running commands after a failure\n  -D, --debug                      debug mode\n  -l, --label stringArray          label prefix for the command\n  -C, --no-color                   do not colorize label output\n  -B, --no-label                   do not attach label/prefix to output\n  -S, --no-subshell                do not run commands in a subshell\n  -n, --npm stringArray            npm command\n  -w, --working-directory string   set the working directory for all commands\n```\n\n### SEE ALSO\n\n- [konk run](#konk-run) - Run commands serially or concurrently (alias: r)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjclem%2Fkonk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjclem%2Fkonk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjclem%2Fkonk/lists"}