feat: scaffold howtos project
Collection of usage guides and cheatsheets. Includes project docs, topic template, and directory structure.
This commit is contained in:
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
.DS_Store
|
||||||
31
PROJECT.md
Normal file
31
PROJECT.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# Project: howtos
|
||||||
|
|
||||||
|
## Motivation
|
||||||
|
|
||||||
|
Scattered notes, bookmarks, and `history | grep` are poor substitutes for well-organized reference material. This project centralizes practical knowledge into a consistent, maintainable format.
|
||||||
|
|
||||||
|
## Goals
|
||||||
|
|
||||||
|
- Provide quick-reference guides for daily tools and workflows
|
||||||
|
- Maintain a consistent structure across all topics
|
||||||
|
- Keep content concise and actionable — no tutorials, just references
|
||||||
|
- Make it easy to add new topics via a template
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
Flat file collection — no build step, no dependencies. Plain Markdown rendered by any viewer (terminal, browser, editor).
|
||||||
|
|
||||||
|
```
|
||||||
|
topics/<topic>.md # Individual howto files
|
||||||
|
docs/TEMPLATE.md # Template for new topics
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
None. Plain Markdown files. Optionally viewed with `glow`, `bat`, or any Markdown renderer.
|
||||||
|
|
||||||
|
## Non-Goals
|
||||||
|
|
||||||
|
- Not a tutorial site or blog
|
||||||
|
- Not a wiki with cross-linking
|
||||||
|
- Not auto-generated from `--help` output
|
||||||
41
README.md
Normal file
41
README.md
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# howtos
|
||||||
|
|
||||||
|
A curated collection of usage guides and cheatsheets for tools, languages, and workflows.
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
Quick-reference documentation — concise, searchable, copy-pasteable. Each topic lives in its own file under `topics/`.
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
topics/
|
||||||
|
<topic>.md # One file per subject
|
||||||
|
docs/
|
||||||
|
USAGE.md # How to use this collection
|
||||||
|
CHEATSHEET.md # Meta cheatsheet (formatting conventions)
|
||||||
|
INSTALL.md # Setup (minimal)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
Browse `topics/` and open any `.md` file. Each howto follows a consistent format:
|
||||||
|
|
||||||
|
- **Title** — what the tool/topic is
|
||||||
|
- **Common commands** — the 20% you use 80% of the time
|
||||||
|
- **Examples** — real-world usage
|
||||||
|
- **Gotchas** — things that bite
|
||||||
|
|
||||||
|
## Adding a New Topic
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp docs/TEMPLATE.md topics/<topic>.md
|
||||||
|
# Edit and fill in sections
|
||||||
|
```
|
||||||
|
|
||||||
|
## Conventions
|
||||||
|
|
||||||
|
- One topic per file, lowercase hyphenated names (`docker-compose.md`, `git-rebase.md`)
|
||||||
|
- Code blocks with language hints for syntax highlighting
|
||||||
|
- Keep each file under 200 lines — split if larger
|
||||||
|
- Mark optional flags/args with `[]`
|
||||||
24
ROADMAP.md
Normal file
24
ROADMAP.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Roadmap
|
||||||
|
|
||||||
|
## v0.1 — Foundation
|
||||||
|
|
||||||
|
- [x] Project scaffold (README, docs, template)
|
||||||
|
- [ ] First batch of topics (5-10 core tools)
|
||||||
|
- [ ] Establish formatting conventions
|
||||||
|
|
||||||
|
## v0.2 — Core Coverage
|
||||||
|
|
||||||
|
- [ ] 20+ topics covering daily workflow
|
||||||
|
- [ ] Index/table of contents generation
|
||||||
|
- [ ] Tagging system (categories in frontmatter)
|
||||||
|
|
||||||
|
## v1.0 — Complete Reference
|
||||||
|
|
||||||
|
- [ ] 50+ topics
|
||||||
|
- [ ] Search script or integration
|
||||||
|
- [ ] Consistent quality across all files
|
||||||
|
|
||||||
|
## Future
|
||||||
|
|
||||||
|
- Topic freshness tracking (last-reviewed dates)
|
||||||
|
- Automated linting for format consistency
|
||||||
12
TASKS.md
Normal file
12
TASKS.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Tasks
|
||||||
|
|
||||||
|
## Current
|
||||||
|
|
||||||
|
- [x] Scaffold project structure
|
||||||
|
- [ ] Create topic template
|
||||||
|
- [ ] Write first topic
|
||||||
|
|
||||||
|
## Backlog
|
||||||
|
|
||||||
|
- [ ] Decide on category/tagging approach
|
||||||
|
- [ ] Add table of contents to README
|
||||||
20
TODO.md
Normal file
20
TODO.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# TODO
|
||||||
|
|
||||||
|
## Topics to Write
|
||||||
|
|
||||||
|
- [ ] git — common workflows, rebase, stash, bisect
|
||||||
|
- [ ] ansible — playbook patterns, inventory, vault
|
||||||
|
- [ ] podman — build, run, compose, volumes
|
||||||
|
- [ ] jq — filters, select, map, slurp
|
||||||
|
- [ ] curl — headers, auth, methods, output
|
||||||
|
- [ ] systemd — units, journalctl, timers
|
||||||
|
- [ ] ssh — config, tunnels, keys, agent
|
||||||
|
- [ ] bash — parameter expansion, arrays, traps
|
||||||
|
- [ ] make — targets, variables, patterns
|
||||||
|
- [ ] vim — motions, registers, macros
|
||||||
|
|
||||||
|
## Improvements
|
||||||
|
|
||||||
|
- [ ] Format linter script
|
||||||
|
- [ ] Auto-generate index from topics/
|
||||||
|
- [ ] Add last-reviewed date to template
|
||||||
23
docs/CHEATSHEET.md
Normal file
23
docs/CHEATSHEET.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Cheatsheet
|
||||||
|
|
||||||
|
## Quick Reference
|
||||||
|
|
||||||
|
| Action | Command |
|
||||||
|
|---------------------|--------------------------------------|
|
||||||
|
| List topics | `ls topics/` |
|
||||||
|
| Read topic | `bat topics/<name>.md` |
|
||||||
|
| Add topic | `cp docs/TEMPLATE.md topics/<n>.md` |
|
||||||
|
| Search across all | `grep -ri <term> topics/` |
|
||||||
|
|
||||||
|
## File Format
|
||||||
|
|
||||||
|
Each topic file follows `docs/TEMPLATE.md`:
|
||||||
|
|
||||||
|
```
|
||||||
|
# <Topic>
|
||||||
|
## Overview — one-liner description
|
||||||
|
## Common Commands — daily-driver commands
|
||||||
|
## Examples — real-world patterns
|
||||||
|
## Gotchas — pitfalls and edge cases
|
||||||
|
## See Also — related topics, links
|
||||||
|
```
|
||||||
23
docs/INSTALL.md
Normal file
23
docs/INSTALL.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Install
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
None. This is a plain Markdown collection.
|
||||||
|
|
||||||
|
## Optional Tools
|
||||||
|
|
||||||
|
For better terminal rendering:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# bat — syntax-highlighted cat
|
||||||
|
sudo apt install bat
|
||||||
|
|
||||||
|
# glow — terminal markdown renderer
|
||||||
|
sudo apt install glow
|
||||||
|
```
|
||||||
|
|
||||||
|
## Clone
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone <repo-url> ~/git/howtos
|
||||||
|
```
|
||||||
26
docs/TEMPLATE.md
Normal file
26
docs/TEMPLATE.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Topic Name
|
||||||
|
|
||||||
|
> One-line description of what this tool/subject is.
|
||||||
|
|
||||||
|
## Common Commands
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# description
|
||||||
|
command --flag argument
|
||||||
|
```
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Practical example with context
|
||||||
|
command --option value
|
||||||
|
```
|
||||||
|
|
||||||
|
## Gotchas
|
||||||
|
|
||||||
|
- Known pitfall or surprising behavior
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
- `related-topic` — brief note
|
||||||
|
- [External reference](https://example.com)
|
||||||
29
docs/USAGE.md
Normal file
29
docs/USAGE.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# Usage
|
||||||
|
|
||||||
|
## Browsing Topics
|
||||||
|
|
||||||
|
Each topic is a standalone Markdown file in `topics/`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# List available topics
|
||||||
|
ls topics/
|
||||||
|
|
||||||
|
# Read a topic in terminal
|
||||||
|
cat topics/git.md # plain
|
||||||
|
bat topics/git.md # syntax highlighted
|
||||||
|
glow topics/git.md # rendered markdown
|
||||||
|
```
|
||||||
|
|
||||||
|
## Adding a New Topic
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp docs/TEMPLATE.md topics/<name>.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Edit the file following the template structure. Keep it under 200 lines.
|
||||||
|
|
||||||
|
## Naming Conventions
|
||||||
|
|
||||||
|
- Lowercase, hyphenated: `docker-compose.md`, `git-rebase.md`
|
||||||
|
- One topic per file
|
||||||
|
- Use the tool/subject name as the filename
|
||||||
Reference in New Issue
Block a user