{"id":48845935,"url":"https://github.com/uname-n/mk","last_synced_at":"2026-04-15T05:05:05.885Z","repository":{"id":224482814,"uuid":"763372796","full_name":"uname-n/mk","owner":"uname-n","description":"a lightweight and efficient tool designed to manage and run commands at the project level.","archived":false,"fork":false,"pushed_at":"2024-12-29T04:23:17.000Z","size":55,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-29T05:20:09.181Z","etag":null,"topics":["cli-tool","command-orchestration","project-level","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uname-n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-02-26T07:05:41.000Z","updated_at":"2024-12-29T04:23:20.000Z","dependencies_parsed_at":"2024-02-26T08:24:31.660Z","dependency_job_id":"688a0b6e-a580-468e-9ac9-a63f68d92b0d","html_url":"https://github.com/uname-n/mk","commit_stats":null,"previous_names":["uname-n/mk"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/uname-n/mk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uname-n%2Fmk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uname-n%2Fmk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uname-n%2Fmk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uname-n%2Fmk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uname-n","download_url":"https://codeload.github.com/uname-n/mk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uname-n%2Fmk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31826919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cli-tool","command-orchestration","project-level","rust"],"created_at":"2026-04-15T05:05:05.219Z","updated_at":"2026-04-15T05:05:05.866Z","avatar_url":"https://github.com/uname-n.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mk\n\n`mk` is a lightweight and efficient tool designed to manage and run commands at the project level, providing you with a simplified way of handling background tasks and custom command execution.\n\n## Getting Started\n\n### Installation\n\n#### Homebrew\nTo install `mk` using [homebrew](https://brew.sh), run the following:\n```\nbrew tap uname-n/brew\nbrew install mk\n```\n\n#### Manual\nTo install `mk` manually, download the latest [Release](https://github.com/uname-n/mk/releases), make sure to download the correct version for your operating system.\n\n- Make the file executable\n    - `chmod +x mk`\n- Move the file to a directory in your PATH\n    - `mv mk /usr/local/bin`\n\n### Usage\n\nTo instruct `mk` to perform a task, use the syntax:\n\n```bash\nmk \u003ccommand\u003e\n```\n\n### Configuration\n\n`mk` is configured using a TOML file, which specifies the commands and the background tasks associated with them. Here's an example configuration:\n\n```toml\n[local]\ncommands = [\"func start\"]\nbackground_tasks = [\n    [\n        \"azurite\",\n        \"--silent\",\n        \"--location\",\n        \".azurite\",\n        \"--debug\",\n        \"$AZURITE_DEBUG_PATH\",\n    ],\n]\n\n[test]\ncommands = [\"ping localhost\"]\nbackground_tasks = [\"ping localhost\", [\"ping\", \"localhost\"]]\n```\n\n## Example Output\n\nRunning a local command setup will produce output similar to this:\n\n```bash\nproject % mk test\nmk:: running \"test\"\nmk:: [1] background task: [\"ping\", \"localhost\"]\nmk:: [2] background task: [\"ping\", \"localhost\"]\n\nmk:: running [\"ping\", \"localhost\"]\nmk:: = = = = = = = = = = = = = = = = = = = = =\nPING localhost(localhost (::1)) 56 data bytes\n64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.013 ms\n64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.042 ms\n64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.013 ms\n^C\n--- localhost ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2047ms\nrtt min/avg/max/mdev = 0.013/0.022/0.042/0.013 ms\n\nmk:: = = = = = = = = = = = = = = = = = = = = =\nmk:: ctrl-c signal received. Shutting down...\nmk:: = = = = = = = = = = = = = = = = = = = = =\nmk:: exiting background task. pid=28009\nmk:: exiting background task. pid=28010\nmk:: = = = = = = = = = = = = = = = = = = = = =\nmk:: done \n```\n\n## Environment Variables Support\n\n`mk` can utilize environment variables within the configuration. You can set the variables in your environment and then reference them in `mk.toml` as shown below:\n\nSet environment variables in `.env`:\n\n```bash\nAZURITE_DEBUG_PATH=.azurite/debug.log\n```\n\nReference in `mk.toml` configuration:\n\n```toml\n[local]\ncommands = [[\"func\", \"start\"]]\nbackground_tasks = [\n    [\n        \"azurite\",\n        \"--silent\",\n        \"--location\",\n        \".azurite\",\n        \"--debug\",\n        \"$AZURITE_DEBUG_PATH\",\n    ],\n]\n```\n\n## Troubleshooting \u0026 Support\n\nFor troubleshooting assistance or additional support, please refer to the documentation or raise an issue on the project's GitHub repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funame-n%2Fmk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funame-n%2Fmk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funame-n%2Fmk/lists"}