devlore-cli

module
v0.1.0-dev.20260223223859 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2026 License: MIT

README

devlore-cli

Monorepo for the lore and writ command-line tools.

  • lore — The tribal knowledge package deployer
  • writ — Portable environment orchestrator

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

Self-Install

Use self-install to install binaries, man pages, and shell completions:

# Install to ~/.local
writ self-install --prefix=~/.local
lore self-install --prefix=~/.local

# Specify shells explicitly (auto-detects by default)
writ self-install --prefix=~/.local --shell bash --shell zsh

# Man pages
lore man                          # Display with pager
writ man deploy                   # Display man page for subcommand

XDG Compliance

All paths follow the XDG Base Directory Specification:

Artifact Default Path
Shared config $XDG_CONFIG_HOME/devlore/config.yaml
Tool configs $XDG_CONFIG_HOME/devlore/config.d/{writ,lore}.yaml
Registry cache $XDG_CACHE_HOME/devlore/registry/
Downloads cache $XDG_CACHE_HOME/devlore/downloads/
Writ layers $XDG_DATA_HOME/devlore/writ/layers/
Writ receipts $XDG_STATE_HOME/devlore/writ/receipts/
Lore receipts $XDG_STATE_HOME/devlore/lore/receipts/
Man pages <prefix>/share/man/man1/
Bash completions <prefix>/share/bash-completion/completions/
Zsh completions <prefix>/share/zsh/site-functions/
Fish completions <prefix>/share/fish/vendor_completions.d/
PowerShell completions <prefix>/share/powershell/completions/

Project Structure

devlore-cli/
├── cmd/
│   ├── lore/main.go           # lore entry point
│   └── writ/main.go           # writ entry point
├── internal/
│   ├── cli/                   # Shared CLI infrastructure
│   │   ├── man.go             # man command
│   │   ├── selfinstall.go     # self-install 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.
indexgen command
Command gen-index generates index.yaml manifests for knowledge domains in the devlore-registry.
Command gen-index generates index.yaml manifests for knowledge domains in the devlore-registry.
lore command
Command lore is the tribal knowledge package deployer.
Command lore is the tribal knowledge package deployer.
writ command
Command writ is the portable environment orchestrator.
Command writ is the portable environment orchestrator.
internal
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 writ and lore commands.
Package cli provides shared CLI infrastructure for writ and lore commands.
config
Package config provides centralized configuration for the devlore ecosystem.
Package config provides centralized configuration for the devlore ecosystem.
console
Package console provides an interactive terminal UI for guided workflows.
Package console provides an interactive terminal UI for guided workflows.
credentials
Package credentials provides secure credential storage using native OS keychains (macOS Keychain, Linux libsecret, Windows Credential Manager) with file-based fallback.
Package credentials provides secure credential storage using native OS keychains (macOS Keychain, Linux libsecret, Windows Credential Manager) with file-based fallback.
e2e
Package e2e provides end-to-end testing infrastructure for LLM-based operations.
Package e2e provides end-to-end testing infrastructure for LLM-based operations.
execution
Package execution orchestrates graph-based action execution.
Package execution orchestrates graph-based action execution.
execution/flow
Package flow implements flow-control actions for execution graphs.
Package flow implements flow-control actions for execution graphs.
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.
lore/onboard
Package onboard implements the multi-phase onboarding pipeline for lore.
Package onboard implements the multi-phase onboarding pipeline for lore.
lorepackage
Package lorepackage provides the client interface for accessing the devlore registry.
Package lorepackage provides the client interface for accessing the devlore registry.
manifest
Package manifest provides loading and validation for packages-manifest files.
Package manifest provides loading and validation for packages-manifest files.
model
Package model provides LLM provider configuration and client implementations.
Package model provides LLM provider configuration and client implementations.
pwsh
Package pwsh provides a persistent PowerShell session for lore.
Package pwsh provides a persistent PowerShell session for lore.
shell
Package shell provides audited command execution for lore.
Package shell provides audited command execution for lore.
signing
Package signing provides cryptographic signing for receipts.
Package signing provides cryptographic signing for receipts.
starlark
Package starlark provides the Starlark scripting runtime for devlore.
Package starlark provides the Starlark scripting runtime for devlore.
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/migrate
Package migrate implements dotfile migration analysis and execution.
Package migrate implements dotfile migration analysis and execution.
writ/reconcile
Package reconcile implements drift detection and repair for writ deployments.
Package reconcile implements drift detection and repair for writ deployments.
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/tree
Package tree builds deployment trees from source and target specifications.
Package tree builds deployment trees from source and target specifications.
pkg
op
Package op owns the concrete graph data model types shared by the execution engine, Starlark layer, and CLI tools.
Package op owns the concrete graph data model types shared by the execution engine, Starlark layer, and CLI tools.
op/provider
Package provider registers all operation graph providers.
Package provider registers all operation graph providers.
op/provider/archive
Package archive provides archive extraction actions for the operation graph.
Package archive provides archive extraction actions for the operation graph.
op/provider/encryption
Package encryption provides encryption and decryption actions for the operation graph.
Package encryption provides encryption and decryption actions for the operation graph.
op/provider/file
Package file provides filesystem actions for the operation graph.
Package file provides filesystem actions for the operation graph.
op/provider/net
Package net provides network actions for the operation graph.
Package net provides network actions for the operation graph.
op/provider/pkg
Package pkg provides package management actions for the operation graph.
Package pkg provides package management actions for the operation graph.
op/provider/service
Package service provides platform-agnostic service management actions.
Package service provides platform-agnostic service management actions.
op/provider/shell
Package shell provides shell command execution actions for the operation graph.
Package shell provides shell command execution actions for the operation graph.
op/provider/template
Package template provides template expansion actions for the operation graph.
Package template provides template expansion actions for the operation graph.
op/provider/ui
Package ui provides user-facing terminal messaging for the operation graph.
Package ui provides user-facing terminal messaging for the operation graph.
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