Commit graph

209 commits

Author SHA1 Message Date
lew
4d61a6913c feat: exempt config/doctor from config errors, run doctor on failure
When the config file is malformed, config and doctor commands now
proceed with defaults (showing a warning). All other commands print
the parse error and automatically run doctor to aid diagnosis.
2026-02-11 23:57:55 +00:00
lew
ed1a562c2c refactor(doctor): replace hand-maintained configDiffs with configFields 2026-02-11 23:53:33 +00:00
lew
bc9d95e8d5 fix(config): accept case-insensitive booleans in config set 2026-02-11 23:52:44 +00:00
lew
abf0c86ab0 feat(config): add config edit subcommand 2026-02-11 23:51:29 +00:00
lew
4afc0fd8ce feat(config): add config set subcommand with type validation 2026-02-11 23:49:44 +00:00
lew
c9b448d508 refactor(msg): single space between keyword and message, improve config suggestions
Tightens keyword formatting (ok/FAIL/hint/etc.) from two spaces to one.
Makes config key suggestions more generous: normalises spaces to
underscores, matches against leaf segments, and uses substring matching.
Updates all golden files.
2026-02-11 23:47:59 +00:00
lew
db607ac696 feat(config): add config init subcommand with --new flag 2026-02-11 23:43:21 +00:00
lew
6bba227654 feat(config): add config get subcommand with suggestions 2026-02-11 23:37:52 +00:00
lew
cc19ee5c0f feat(config): add config list subcommand 2026-02-11 23:35:51 +00:00
lew
e4a5e7f715 feat(config): add config parent command and path subcommand 2026-02-11 23:34:20 +00:00
lew
3f6ddfbcd4 feat(config): add reflection-based configFields framework 2026-02-11 23:29:54 +00:00
lew
55b2e7f6cb feat: makes ls list all stores by default, with config option to disable. adds --store glob support 2026-02-11 23:04:14 +00:00
lew
b6248e409f refactor(home)!: moves home to PDA_HOME, out of PDA_HOME/stores/ 2026-02-11 21:51:58 +00:00
lew
11276fcf25 feat(doctor): full implementation of doctor health checks 2026-02-11 21:44:35 +00:00
lew
0c5b73154d feat(doctor): initial doctor command 2026-02-11 20:10:35 +00:00
lew
ce7336324f feat(list): adds plain json formatting 2026-02-11 19:34:29 +00:00
lew
15c1d6733c feat(lss): adds --no-header and --short flags, and lowercases all flag descriptions 2026-02-11 19:29:14 +00:00
lew
4e5064d07a feat(stores): adds mvs, and flags to bring store commands on par with key commands 2026-02-11 18:53:55 +00:00
lew
b89db8dc48 feat(set): adds --file flag to input from a file path 2026-02-11 18:27:22 +00:00
lew
59cb09a8e7 feat(version): adds --short flag to only show release information 2026-02-11 18:16:37 +00:00
lew
9130c09e56 feat(rm): adds --yes flag to auto-accept all prompts 2026-02-11 17:57:05 +00:00
lew
cf7dbf5bee feat(sync): adds --message flag for manual commit message 2026-02-11 17:49:02 +00:00
lew
ac847f34ca feat(set): adds --safe flag for preventing accidental overwrites 2026-02-11 17:38:36 +00:00
lew
6e1af5ba28 feat(get): adds --exists flag for checking existence of a key 2026-02-11 17:36:49 +00:00
lew
ad98a1e6c4 feat(list): adds --count flag for returning a count of matches 2026-02-11 17:24:55 +00:00
lew
e04bcfb306 fix: artifacts in comments from copying the commands over initially 2026-02-11 17:24:32 +00:00
lew
3c2a0129c0 style: renames testdata so tests can actually be parsed at a glance 2026-02-11 16:38:09 +00:00
lew
a4d2e919dc feat: command rename finalising 2026-02-11 16:13:49 +00:00
lew
8ea865b2ce feat: removes table from readme 2026-02-11 16:09:38 +00:00
lew
d3b4bef531 feat: adds some test cases where they were missing, and some minor readme additions 2026-02-11 16:07:19 +00:00
lew
bb57b23224 docs: erroneous escape chars 2026-02-11 15:31:30 +00:00
lew
572e27589b feat: adds --drop mention to readme 2026-02-11 15:27:47 +00:00
lew
d0926c2c1d fix: fixes a collision when -i is used with input passed via stdin, uses /dev/tty instead 2026-02-11 15:27:29 +00:00
lew
5145816b0a feat: splits --glob into --key and --value searches 2026-02-11 15:21:05 +00:00
lew
1f4732823d feat: underlined header texts, and one-space right pad 2026-02-11 14:17:48 +00:00
lew
24853bfce8 feat: default ttl and header visibility, and removed unnecessray padding from tab output 2026-02-11 14:14:02 +00:00
lew
07330be10b feat: include summary of omitted binary data 2026-02-11 13:17:23 +00:00
lew
d63c1fd77b fix: no need to care about identities when making a deletion 2026-02-11 12:51:27 +00:00
lew
9bdc9c30c6 feat: encryption with age 2026-02-11 12:36:42 +00:00
lew
ba93931c33 chore: swaps out a %q for '%s' for glob-sep flags 2026-02-11 02:17:25 +00:00
lew
0114b01fb3 fix: silence usage on cp command 2026-02-11 02:16:26 +00:00
lew
fb75758986 docs: updates messaging in README 2026-02-11 02:13:32 +00:00
lew
b52a5bfdb7 feat: huge overhaul of messaging into FAIL, WARN, hint, ok, prompt, and progress types 2026-02-11 02:11:58 +00:00
lew
6ccd801c89 docs: revise list output and Git versioning description 2026-02-11 01:38:25 +00:00
lew
20b65e280d docs: update README for NDJSON migration and removed features
Remove references to badger, --secret flag, --force flag, and snapshot
command. Rename dump/restore to export/import as primary commands, fix
rm/rm-store to document --interactive instead of --force, and remove
the entire Secrets section.
2026-02-11 01:32:50 +00:00
lew
52c108f7d3 refactor: vcs simplification pass 2026-02-11 00:53:14 +00:00
lew
2c9ecd7caf refactor: remove --encoding flag from list/export commands
The auto-detection mode (encodeJsonEntry) is always correct —
it uses text for valid UTF-8 and base64 for binary data. The
explicit base64 and text modes added no practical value and
had zero test coverage.
2026-02-11 00:50:06 +00:00
lew
08025903ad chore: add .worktrees to gitignore 2026-02-11 00:31:21 +00:00
lew
cb441b112c refactor(massive simplification of vcs now that we're using ndjson natively): 2026-02-11 00:28:56 +00:00
lew
84c55311d1 chore: add license headers and --drop golden test 2026-02-11 00:08:34 +00:00