Repository navigation
Add self command with install and upgrade subcommands #83
Copy link
Copy link
Open
Labels
Epic:ReleaseDistributionRelease, distribution, and self-installRelease, distribution, and self-installfeatureDeliverable unit within an epicDeliverable unit within an epic
Description
Summary
All three CLI tools — lore, writ, and star — share the same self command with two subcommands:
- self install: Generate completions, man pages, config. No network required. Has
--prefixargument. - self upgrade: Check for and install latest LKG release. No arguments - upgrade is in-place.
Plan Document
See docs/plans/self-command.md for full specification.
Commands
lore self install # Generate man pages, completions, config (default: ~/.local)
lore self install --prefix /usr/local
lore self upgrade # Check for and download latest LKG (in-place)
writ self install
writ self upgrade
star self install
star self upgradeKey Differences
| Command | --prefix | Network | Purpose |
|---|---|---|---|
self install |
Yes (default: ~/.local) | No | Generate local files |
self upgrade |
No (in-place) | Yes | Download newer binary |
Auto-Upgrade Configuration
When deployed as part of an automation config (e.g., star-managed repos), self-upgrade should support unattended operation via config settings:
| Setting | Values | Default | Description |
|---|---|---|---|
auto-upgrade.enable |
true / false |
false |
Enable automatic upgrade checks |
auto-upgrade.prompt |
true / false |
true |
Prompt before upgrading (when enable=true) |
auto-upgrade.channel |
stable / preview |
stable |
Release channel to track |
Silent upgrade mode: When auto-upgrade.enable=true and auto-upgrade.prompt=false, check for updates after any command and upgrade without prompting. This supports CI/CD and managed workstation scenarios.
Config commands:
lore config set auto-upgrade.enable true
lore config set auto-upgrade.prompt false
lore config set auto-upgrade.channel stablePrior art: Azure CLI uses the same pattern — az config set auto-upgrade.enable=yes.
Consolidated from noblefactor PROC-004 (Self-Upgrade with Automation Config).
Prior Art
| Tool | update | upgrade |
|---|---|---|
| apt | Refresh package index | Install newer versions |
| brew | Fetch newest formulae | Install newer versions |
| port | selfupdate = refresh + upgrade | - |
Our self upgrade = install newer version (like apt upgrade, brew upgrade).
Reference
- noblefactor-ops#27 - Star release and self-install plan
- noblefactor-ops#39 - Closed, superseded by this issue (star moved to devlore-cli)
- Implement versioning with timestamps and commit hashes #82 - Versioning scheme (dependency)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Epic:ReleaseDistributionRelease, distribution, and self-installRelease, distribution, and self-installfeatureDeliverable unit within an epicDeliverable unit within an epic
Activity
[-]Add self command with install and update subcommands[/-][+]Add self command with install and upgrade subcommands[/+]docs: add self command plan for install and upgrade (#83)
fix: address Claude judgment errors - stub functions, legacy code, se…
chore: consolidate TODOs and plans into GitHub issues, add graph oper…
chore: consolidate TODOs and plans into GitHub issues, add graph oper…
chore: consolidate TODOs and plans into GitHub issues, add graph oper…
David-Noble-at-work commentedon Mar 11, 2026
Status Update (2026-03-10)
self-install is implemented
lore self-installandwrit self-installexist atinternal/cli/selfinstall.go. Both root commands register it viacli.NewSelfInstallCmd()(lore:internal/lore/root.go:113-117, writ:internal/writ/root.go:103-107). Supports--prefixflag.Note: command name is
self-install(hyphenated), notself install(subcommand).self upgrade is not implemented
No
self upgradeorself-upgradecommand exists. Checking for and downloading the latest LKG release is not implemented.Auto-upgrade configuration
Not implemented. No
auto-upgrade.enable,auto-upgrade.prompt, orauto-upgrade.channelconfig settings exist.Updated acceptance criteria
self-installgenerates completions, man pages, config with--prefixself upgradechecks for and downloads latest LKG releasechore(docs): Architecture status audit, bug triage, GitHub issue anal…