An open-source guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day.
This is the source code for the guide. To read it, go to clig.dev.
Join us on Discord if you want to discuss the guide, or just chat about CLI design.
The content of the guide lives in a single Markdown file, content/_index.md. The website is built using Hugo.
To run Hugo locally to see your changes, run:
$ brew install hugo
$ cd <path>/<to>/cli-guidelines/
$ hugo server
To view the site on an external mobile device, run:
hugo server --bind 0.0.0.0 --baseURL http://$(hostname -f):1313
The site is hosted on Cloudflare Workers as a static-assets project, built and deployed from this repo:
build.shinstalls a pinned Hugo and builds the site intopublic/.wrangler.tomlrunsbuild.shand uploadspublic/as the Worker's static assets. The Cloudflare deploy command isnpx wrangler deploy.public/_headers(fromassets/_headers) makes Cloudflare serve/llms.txtastext/markdown.
Two zone-level Cloudflare Rules support the site (these are not part of the deploy):
- a URL Rewrite rule that serves
/llms.txtfor requests to/sending anAccept: text/markdownheader; - a Redirect rule from
www.clig.devto the apexclig.dev.
Provision or update both (idempotent) with:
$ CLOUDFLARE_API_TOKEN=... ./scripts/cloudflare-transform-rule.sh
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.