https://github.com/joerdav/xc Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + For + Enterprise + Teams + Startups + Education + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} joerdav / xc Public * Notifications * Fork 4 * Star 203 Create executable documentation. License MIT license 203 stars 4 forks Star Notifications * Code * Issues 3 * Pull requests 0 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights joerdav/xc This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 2 branches 65 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/j] Use Git or checkout with SVN using the web URL. [gh repo clone joerda] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @joerdav joerdav chore: add a few more unit tests (#40) ... caeb101 Feb 22, 2023 chore: add a few more unit tests (#40) caeb101 Git stats * 164 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github cmd/xc doc models parser run .gitignore .golangci.yaml .goreleaser.yml CODE_OF_CONDUCT.md LICENSE README.md flake.lock flake.nix go.mod go.sum update-nix.sh xc.gif xc.nix xc.nix.tmpl View code [ ] xc - Simple, Convenient, Markdown defined task runner. Installation Features Example Tasks test lint build tag update-nix install-hugo run-docs README.md xc - Simple, Convenient, Markdown defined task runner. test docs Go Reference Mentioned in Awesome Go Go Report Card Coverage Status xc Docs | Getting Started | Github xc is a task runner designed to maximise convenience, and minimise complexity. Each xc task is defined in simple, human-readable Markdown. Meaning that for people without the xc tool installed there is a clear source of useful commands in the README.md file. Installation Installation instructions are defined at https://xcfile.dev/ getting-started/#installation. Features vscode demo * Markdown defined tasks. * Editor tools: + VSCode (list and run xc tasks) + Vim (recommended config for listing and running xc tasks) Example Take the tag task in the README.md of the xc repository: ## tag Deploys a new tag for the repo. Requires: test ``` export VERSION=`git rev-list --count HEAD` echo Adding git tag with version v0.0.${VERSION} git tag v0.0.${VERSION} git push origin v0.0.${VERSION} ``` The task could be run simply with xc tag, but a side-effect of it being an xc task is that the steps for pushing a tag without the use of xc are clearly documented too. $ xc tag + go test ./... ? github.com/joerdav/xc/cmd/xc [no test files] ? github.com/joerdav/xc/models [no test files] ok github.com/joerdav/xc/parser (cached) ok github.com/joerdav/xc/run (cached) + export VERSION=78 + echo Adding git tag with version v0.0.78 Adding git tag with version v0.0.78 + git tag v0.0.78 + git push origin v0.0.78 Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 To github.com:joerdav/xc * [new tag] v0.0.78 -> v0.0.78 Tasks test Test the project. go test ./... lint Run linters. golangci-lint run build Builds the xc binary. go build ./cmd/xc tag Deploys a new tag for the repo. Requires: test export VERSION=`git rev-list --count HEAD` echo Adding git tag with version v0.0.${VERSION} git tag v0.0.${VERSION} git push origin v0.0.${VERSION} update-nix Updates nix flake. sh ./update-nix.sh install-hugo Install hugo via go install. go install github.com/gohugoio/hugo@latest run-docs Run the hugo development server. Directory: doc hugo serve About Create executable documentation. Topics go golang documentation task-runner build-tool Resources Readme License MIT license Code of conduct Code of conduct Stars 203 stars Watchers 7 watching Forks 4 forks Releases 45 v0.0.159 Latest Feb 20, 2023 + 44 releases Contributors 5 * @joerdav * @a-h * @PeteXC * @mxcl * @laurabirchIW Languages * Go 94.2% * Nix 3.2% * Shell 2.6% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.