{"id":26282862,"url":"https://github.com/runmedev/runme","last_synced_at":"2026-01-12T02:47:15.119Z","repository":{"id":47794477,"uuid":"515087779","full_name":"runmedev/runme","owner":"runmedev","description":"DevOps Notebooks Built with Markdown","archived":false,"fork":false,"pushed_at":"2025-08-12T20:51:17.000Z","size":99897,"stargazers_count":1502,"open_issues_count":129,"forks_count":64,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-08-14T23:13:49.228Z","etag":null,"topics":["cloud","devops","markdown","notebooks","workflows"],"latest_commit_sha":null,"homepage":"https://runme.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/runmedev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2022-07-18T07:58:54.000Z","updated_at":"2025-08-13T23:28:03.000Z","dependencies_parsed_at":"2023-02-14T20:45:55.109Z","dependency_job_id":"f8802376-94a6-4c26-af73-62fe2d371188","html_url":"https://github.com/runmedev/runme","commit_stats":{"total_commits":539,"total_committers":24,"mean_commits":"22.458333333333332","dds":0.6493506493506493,"last_synced_commit":"390020e25ef7d66461eaf245f0e95e7a59340560"},"previous_names":["stateful/rdme","runmedev/runme","stateful/runme"],"tags_count":287,"template":false,"template_full_name":null,"purl":"pkg:github/runmedev/runme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmedev%2Frunme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmedev%2Frunme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmedev%2Frunme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmedev%2Frunme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/runmedev","download_url":"https://codeload.github.com/runmedev/runme/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmedev%2Frunme/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271279898,"owners_count":24731910,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"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":["cloud","devops","markdown","notebooks","workflows"],"created_at":"2025-03-14T17:01:28.582Z","updated_at":"2026-01-12T02:47:15.058Z","avatar_url":"https://github.com/runmedev.png","language":"Go","readme":"[![Runme](./.github/images/github-header.png)](https://runme.dev)\n\n# Runme runs Markdown [![ci](https://github.com/runmedev/runme/actions/workflows/ci.yml/badge.svg)](https://github.com/runmedev/runme/actions/workflows/ci.yml) [![Join us on Discord](https://img.shields.io/discord/1102639988832735374?color=5b39df\u0026label=Join%20us%20on%20Discord)](https://discord.gg/runme)\n\n\u003e Discover and run code snippets directly from your markdown files, e.g. runbooks, docs, or READMEs. Read the [docs](https://docs.runme.dev).\n\n[Runme](https://runme.dev) is a tool that makes runbooks actually runnable, making it easier to follow step-by-step instructions. Shell/Bash, Python, Ruby, JavaScript/TypeScript, Lua, PHP, Perl, and many other runtimes are supported via Runme's shebang feature. Runme allows users to execute instructions, check intermediate results, and ensure the desired outputs are achieved. This makes it an excellent solution for runbooks, playbooks, and documentation that requires users to complete runnable steps incrementally—making operational docs reliable and much less susceptible to bitrot.\n\nRunme achieves this by literally running markdown. More specifically, Runme runs your commands (shell, bash, zsh) or code inside your fenced code blocks. It's 100% compatible with your programming language's task definitions (Makefile, Gradle, Grunt, NPM scripts, Pipfile or Deno tasks, etc.) and markdown-native. Much like a terminal session, environment variables are retained across execution, and it is possible to pipe previous cells' output into successive cells. Runme persists your runbooks in markdown, which your docs are likely already using.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./.github/images/hello-world.gif\" /\u003e\n\u003c/p\u003e\n\nWatch full video at [Runme](https://runme.dev).\n\n## Installation\n\nTo get started with Runme on MacOS, the recommended method of installation is using Homebrew, a popular package manager that simplifies the installation process. First, ensure your Homebrew is up to date to avoid any compatibility issues:\n\n```sh { name=update-brew }\n$ brew update\n\n```\n\nWith Homebrew updated, proceed to install Runme. This command will fetch the latest stable release of Runme and install it on your system:\n\n```sh { name=install-runme }\n$ brew install runme\n\n```\n\nIf you prefer using NPM (Node Package Manager) for managing your packages, Runme can also be installed globally via the following command:\n\n```sh { name=install-npm }\n$ npm install -g runme\n\n```\n\nFor users with different setups, you can visit [Runme's releases page](https://github.com/runmedev/runme/releases) and download a binary suitable for your operating system. For those with Go developer tools set up, Runme can be installed using the `go install` command:\n\n```sh { name=install-via-go }\n$ go install github.com/runmedev/runme/v3@main\n\n```\n\n## Commands\n\nRunme’s CLI (Command Line Interface) offers a set of commands designed to help you seamlessly discover and execute workflows within your project. Below are examples demonstrating the use of these commands:\n\n### Run Workflows\n\nSuppose you have a `README.md` file in your project directory with the following content:\n\n````md\n# My Project\n\n## Install\n\nTo initiate the installation process, start by updating Brew dependencies with the following command:\n\n```sh { name=update-brew }\nbrew update\n...\n```\n````\n\nTo execute the `update-brew` code cell from the `README.md` file, simply use the runme run command followed by the name of the code cell:\n\n```sh\n$ runme run update-brew\n\n```\n\nFor more details and advanced configurations for code cells, refer to the [Runme documentation](https://docs.runme.dev/configuration).\n\n### List\n\nTo navigate through and identify available workflows in your project, use the `runme list` command. This command will display a list of all workflows you can run:\n\n```sh { name=runme-list closeTerminalOnSuccess=false interactive=false }\n$ runme list\n\n```\n\n### Print\n\nThe `print` command is useful when you need to review the code within a code cell without executing it. It outputs the code present in the specified code cell, providing a quick way to inspect the code:\n\n```sh { name=runme-print interactive=false }\n$ runme print hello-js\n\n```\n\n### Help\n\nFind help and information on parameters and configurations.\nIf you need assistance or information regarding various parameters and configurations available with Runme, the `help` command provides quick access to helpful information:\n\n```sh {\"id\":\"01J86DCNWW7W7R73NKB51QAS2V\",\"interactive\":\"false\",\"name\":\"runme-help\"}\n$ runme help\n\n```\n\nFeel free to explore further and experiment with the commands to get a deeper understanding of Runme’s functionalities!\n\n## Documentation\n\nCheck out the full documentation available at [Runme](https://docs.runme.dev).\n\n## Feedback\n\nLet us know what you think via [GitHub issues](https://github.com/runmedev/runme/issues/new) or submit a PR. Join the conversation [on Discord](https://discord.gg/runme). We're looking forward to hearing from you.\n\n## Community\n\nThe Runme community is growing, join us!\n\n- Ask questions and be curious with us [on Discord](https://discord.gg/runme)\n- Read about real live Runme examples and use cases in [our blog](https://runme.dev/blog)\n- Subscribe for updates to [our newsletter](https://runme.dev/list)\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for more information or just click on:\n\n[![Run with Runme](https://badgen.net/badge/Run%20with/Runme/5B3ADF?icon=https://runme.dev/img/logo.svg)](https://runme.dev/api/runme?repository=https%3A%2F%2Fgithub.com%2Fstateful%2Frunme.git\u0026fileToOpen=CONTRIBUTING.md)\n\n## LICENSE\n\nApache License, Version 2.0\n","funding_links":[],"categories":["Go","markdown"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunmedev%2Frunme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frunmedev%2Frunme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunmedev%2Frunme/lists"}