A task runner that defines tasks inline with Markdown or org-mode documentation, making scripts discoverable and self-documenting.
xc is a task runner similar to Make or npm run, but with a focus on discoverability and approachability. It solves the problem of scripts being maintained separately from their documentation by defining tasks inline within Markdown or org-mode files, ensuring documentation stays updated with script changes.
Developers and teams looking for a simple, self-documenting task runner to manage project scripts without the complexity of traditional tools like Makefiles.
Developers choose xc because it combines scripts with their documentation in a human-readable format, making tasks easily discoverable and reducing maintenance overhead compared to separate script and documentation files.
Markdown defined task runner.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Tasks are defined as code blocks within Markdown or org-mode files, ensuring script updates are immediately reflected in documentation, as shown in the README's 'tag' task example.
Even without xc installed, users can read plain Markdown files to find and run commands manually, making project scripts approachable for all team members.
Supports VSCode, Vim, and Emacs with extensions or configs for listing and running tasks seamlessly within popular IDEs, enhancing developer workflow.
Uses familiar Markdown or org-mode, reducing the learning curve compared to complex Makefiles or JSON scripts, as emphasized in the project's philosophy.
Designed for convenience over power, xc lacks features for advanced workflows like parallel execution, conditional logic, or task caching, which are standard in tools like Make.
Tasks must be defined in Markdown or org-mode files, which may not fit all project structures or documentation practices, potentially limiting adoption in diverse environments.
Compared to established task runners, xc has fewer community plugins, integrations, or tooling support, which could require custom solutions for specialized needs.