devlore-cli

module
v0.1.0-dev.20260127210505 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2026 License: MIT

README

devlore-cli

Monorepo for the lore and writ command-line tools.

  • lore — The tribal knowledge package deployer
  • writ — Dotfiles manager with platform-aware symlinks

Building

make build          # Build both binaries to bin/
make lore           # Build lore only
make writ           # Build writ only

Installing

make install        # Install binaries to ~/.local/bin (or GOBIN)
make install-all    # Install binaries, completions, and man pages

On-Demand Generation

Both tools generate shell completions and man pages on demand:

# Shell completions
lore completion bash              # Output to stdout
lore completion bash --install    # Install to XDG_DATA_HOME

writ completion zsh               # Output to stdout
writ completion zsh --install     # Install to XDG_DATA_HOME

# Man pages
lore man                          # Display with pager
lore man --install                # Install to XDG_DATA_HOME/man/man1

writ man deploy                   # Display man page for subcommand
writ man --install                # Install all man pages

XDG Compliance

All paths follow the XDG Base Directory Specification:

Artifact Default Path
Config $XDG_CONFIG_HOME/lore/ (~/.config/lore/)
Data $XDG_DATA_HOME/lore/ (~/.local/share/lore/)
Cache $XDG_CACHE_HOME/lore/ (~/.cache/lore/)
State $XDG_STATE_HOME/lore/ (~/.local/state/lore/)
Man pages $XDG_DATA_HOME/man/man1/
Bash completions $XDG_DATA_HOME/bash-completion/completions/
Zsh completions $XDG_DATA_HOME/zsh/site-functions/
Fish completions $XDG_CONFIG_HOME/fish/completions/

Project Structure

devlore-cli/
├── cmd/
│   ├── lore/main.go           # lore entry point
│   └── writ/main.go           # writ entry point
├── internal/
│   ├── cli/                   # Shared CLI infrastructure
│   │   ├── completion.go      # completion command
│   │   ├── man.go             # man command
│   │   ├── version.go         # version command
│   │   └── xdg.go             # XDG path helpers
│   ├── lore/                  # Lore-specific commands
│   └── writ/                  # Writ-specific commands
├── docs/                      # Generated documentation
├── Makefile
└── go.mod

License

MIT License. See LICENSE for details.

Directories

Path Synopsis
cmd
bindgen command
bindgen generates Starlark bindings from CLI metadata.
bindgen generates Starlark bindings from CLI metadata.
docgen command
Command docgen generates Docker-style CLI reference documentation for the writ and lore commands.
Command docgen generates Docker-style CLI reference documentation for the writ and lore commands.
lore command
Command lore is the tribal knowledge package deployer.
Command lore is the tribal knowledge package deployer.
pipeline command
Command pipeline runs lore package phase scripts sequentially.
Command pipeline runs lore package phase scripts sequentially.
writ command
Command writ is the dotfiles manager with platform-aware symlinks.
Command writ is the dotfiles manager with platform-aware symlinks.
internal
ai
Package ai provides AI provider abstraction and lazy configuration.
Package ai provides AI provider abstraction and lazy configuration.
bindgen
Package bindgen provides tools for generating Starlark bindings from CLI metadata.
Package bindgen provides tools for generating Starlark bindings from CLI metadata.
bindgen/cobra
Package cobra extracts command metadata from Go source files using Cobra.
Package cobra extracts command metadata from Go source files using Cobra.
cli
Package cli provides shared CLI infrastructure for lore and writ.
Package cli provides shared CLI infrastructure for lore and writ.
engine
Package engine provides a common execution engine for graph-based operations.
Package engine provides a common execution engine for graph-based operations.
host
Package host provides platform-specific bindings for lore's Starlark runtime.
Package host provides platform-specific bindings for lore's Starlark runtime.
lore
Package lore implements the lore CLI commands.
Package lore implements the lore CLI commands.
pwsh
Package pwsh provides a persistent PowerShell session for lore.
Package pwsh provides a persistent PowerShell session for lore.
registry
Package registry provides the client interface for accessing the devlore registry.
Package registry provides the client interface for accessing the devlore registry.
shell
Package shell provides audited command execution for lore.
Package shell provides audited command execution for lore.
starlark
Package starlark provides the Starlark runtime and host bindings for lore.
Package starlark provides the Starlark runtime and host bindings for lore.
tools/docgen
Package docgen generates Docker-style CLI reference documentation in Markdown with Astro frontmatter from Cobra command trees.
Package docgen generates Docker-style CLI reference documentation in Markdown with Astro frontmatter from Cobra command trees.
writ
Package writ implements the writ CLI commands.
Package writ implements the writ CLI commands.
writ/identity
Package identity provides age identity loading for writ.
Package identity provides age identity loading for writ.
writ/manifest
Package manifest provides loading and validation for packages-manifest files.
Package manifest provides loading and validation for packages-manifest files.
writ/receipt
Package receipt provides deployment receipt tracking for writ.
Package receipt provides deployment receipt tracking for writ.
writ/secrets
Package secrets handles encryption/decryption operations via SOPS.
Package secrets handles encryption/decryption operations via SOPS.
writ/segment
Package segment provides segment-based directory matching for writ.
Package segment provides segment-based directory matching for writ.
writ/state
Package state provides merged deployment state tracking for writ.
Package state provides merged deployment state tracking for writ.
writ/status
Package status provides symlink status checking for writ deployments.
Package status provides symlink status checking for writ deployments.
writ/tree
Package tree provides deployment tree building for writ.
Package tree provides deployment tree building for writ.
Package schema provides embedded JSON schemas and default configs for the devlore ecosystem.
Package schema provides embedded JSON schemas and default configs for the devlore ecosystem.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL