aliasmate 2.0.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +38 -3
  2. package/README.md +43 -10
  3. package/dist/cli/completion.js +4 -4
  4. package/dist/cli/completion.js.map +1 -1
  5. package/dist/cli/manage.d.ts +2 -3
  6. package/dist/cli/manage.d.ts.map +1 -1
  7. package/dist/cli/manage.js +44 -26
  8. package/dist/cli/manage.js.map +1 -1
  9. package/dist/cli/run.d.ts.map +1 -1
  10. package/dist/cli/run.js +14 -12
  11. package/dist/cli/run.js.map +1 -1
  12. package/dist/cli/save.d.ts +7 -8
  13. package/dist/cli/save.d.ts.map +1 -1
  14. package/dist/cli/save.js +71 -33
  15. package/dist/cli/save.js.map +1 -1
  16. package/dist/cli/transfer.d.ts +1 -0
  17. package/dist/cli/transfer.d.ts.map +1 -1
  18. package/dist/cli/transfer.js +40 -59
  19. package/dist/cli/transfer.js.map +1 -1
  20. package/dist/core/commands.d.ts +2 -0
  21. package/dist/core/commands.d.ts.map +1 -1
  22. package/dist/core/commands.js +40 -2
  23. package/dist/core/commands.js.map +1 -1
  24. package/dist/core/transfer.d.ts +20 -0
  25. package/dist/core/transfer.d.ts.map +1 -0
  26. package/dist/core/transfer.js +110 -0
  27. package/dist/core/transfer.js.map +1 -0
  28. package/dist/index.js +14 -11
  29. package/dist/index.js.map +1 -1
  30. package/dist/ui/format.d.ts +4 -1
  31. package/dist/ui/format.d.ts.map +1 -1
  32. package/dist/ui/format.js +61 -18
  33. package/dist/ui/format.js.map +1 -1
  34. package/dist/ui/interactive.d.ts +59 -3
  35. package/dist/ui/interactive.d.ts.map +1 -1
  36. package/dist/ui/interactive.js +604 -94
  37. package/dist/ui/interactive.js.map +1 -1
  38. package/dist/ui/onboarding.d.ts.map +1 -1
  39. package/dist/ui/onboarding.js +7 -7
  40. package/dist/ui/onboarding.js.map +1 -1
  41. package/dist/ui/prompts.d.ts +1 -12
  42. package/dist/ui/prompts.d.ts.map +1 -1
  43. package/dist/ui/prompts.js +45 -91
  44. package/dist/ui/prompts.js.map +1 -1
  45. package/dist/ui/table.d.ts +18 -0
  46. package/dist/ui/table.d.ts.map +1 -0
  47. package/dist/ui/table.js +54 -0
  48. package/dist/ui/table.js.map +1 -0
  49. package/dist/ui/theme.d.ts +8 -6
  50. package/dist/ui/theme.d.ts.map +1 -1
  51. package/dist/ui/theme.js +33 -18
  52. package/dist/ui/theme.js.map +1 -1
  53. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -6,6 +6,41 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
 
9
+ ## [2.3.0] - 2026-07-06
10
+
11
+ ### Added
12
+ - **In-TUI export/import**: `x` exports a full backup (real secret values) to a prefilled `~/aliasmate-backup-<date>.json` path, `i` imports from a JSON file — with inline error handling, conflict skipping, and automatic pre-import backup
13
+ - CLI import now asks once about conflicts instead of per command
14
+
15
+ ### Changed
16
+ - Project moved to **github.com/akhshyganesh/aliasmate** (old URLs redirect); installer, docs, and package metadata updated
17
+ - Export/import logic extracted to `core/transfer` and shared by CLI and TUI; `~` is expanded in file paths
18
+
19
+ ## [2.2.0] - 2026-07-06
20
+
21
+ ### Added
22
+ - **Rename commands**: `aliasmate rename <old> <new>` (alias `mv`), or simply change the name field in the TUI edit form — shortcut aliases and run history follow the new name
23
+ - **Standalone binaries** (no Node.js/npm needed): esbuild bundle + Node SEA build script, `install.sh` one-liner installer, and a GitHub Actions release workflow producing macOS (x64/arm64), Linux (x64/arm64), and Windows binaries on every tag
24
+ - **`export --full`**: restorable backups that keep real secret env values (default export still masks them for safe sharing)
25
+ - **Caret editing in TUI form fields**: ←/→, home/end (ctrl+a/ctrl+e), delete-forward, ctrl+u, and mid-string insertion
26
+
27
+ ## [2.1.0] - 2026-07-06
28
+
29
+ Complete visual redesign and a real full-screen TUI.
30
+
31
+ ### Added
32
+ - **Full-screen TUI** (`aliasmate` with no args): browse commands sorted by usage with a live detail pane (command, directory, env, run history); run with `enter`, fuzzy filter with `/`, create with `n`, edit with `e`, delete with `d`, stats with `s` — everything in-screen
33
+ - **In-TUI forms** for creating and editing commands (name validation, path-mode toggle, env capture) — no more prompt round-trips
34
+ - `aliasmate prev [name]` opens the TUI form prefilled with your captured command; still saves directly when run non-interactively (scripts/CI)
35
+ - `aliasmate save` and `aliasmate edit <name>` open the TUI form
36
+
37
+ ### Changed
38
+ - **New design language**: terracotta accent, quiet grays, flat borderless tables, lowercase labels — content first, chrome barely visible
39
+ - `list`/`search` render a flat width-aware table; `stats` and `recent` restyled to match
40
+ - Filter matches on command names rank above matches in command text/directories
41
+ - Clearing a filter keeps the same row highlighted
42
+ - Removed the `inquirer` dependency entirely (lighter install, faster startup)
43
+
9
44
  ## [2.0.0] - 2026-07-06
10
45
 
11
46
  Complete ground-up rewrite focused on performance, modularity, and day-to-day usability. Your saved commands, aliases, and run history carry over unchanged.
@@ -390,6 +425,6 @@ Complete ground-up rewrite focused on performance, modularity, and day-to-day us
390
425
  - Input validation and error handling
391
426
  - Beautiful CLI output with chalk
392
427
 
393
- [1.2.0]: https://github.com/aliasmate/aliasmate/releases/tag/v1.2.0
394
- [1.1.0]: https://github.com/aliasmate/aliasmate/releases/tag/v1.1.0
395
- [1.0.0]: https://github.com/aliasmate/aliasmate/releases/tag/v1.0.0
428
+ [1.2.0]: https://github.com/akhshyganesh/aliasmate/releases/tag/v1.2.0
429
+ [1.1.0]: https://github.com/akhshyganesh/aliasmate/releases/tag/v1.1.0
430
+ [1.0.0]: https://github.com/akhshyganesh/aliasmate/releases/tag/v1.0.0
package/README.md CHANGED
@@ -7,47 +7,71 @@ Save shell commands with their working directories and re-run them from anywhere
7
7
 
8
8
  ## Install
9
9
 
10
+ **Standalone (no Node.js required):**
11
+
10
12
  ```bash
11
- npm i -g aliasmate
13
+ curl -fsSL https://raw.githubusercontent.com/akhshyganesh/aliasmate/main/install.sh | sh
12
14
  ```
13
15
 
14
- Requires Node.js 18+. Works on macOS, Linux, and Windows.
16
+ Downloads a self-contained binary for macOS (Intel/Apple Silicon) or Linux (x64/arm64). Windows users: grab `aliasmate-win-x64.exe` from the [latest release](https://github.com/akhshyganesh/aliasmate/releases/latest).
17
+
18
+ **Via npm** (requires Node.js 18+):
19
+
20
+ ```bash
21
+ npm i -g aliasmate
22
+ ```
15
23
 
16
24
  ## Quick start
17
25
 
18
26
  ```bash
19
- # Run any command, then save it under a name
27
+ # Run any command, then capture it the TUI opens with everything prefilled
20
28
  npm run build -- --production
21
29
  aliasmate prev build
22
30
 
23
31
  # Run it later, from any directory — it executes back in the project folder
24
32
  aliasmate run build
25
33
 
26
- # Or just open the interactive menu
34
+ # Or open the full-screen TUI
27
35
  aliasmate
28
36
  ```
29
37
 
30
- Running `aliasmate` with no arguments opens an interactive menu: browse your commands sorted by how often you use them, and run, edit, or delete with a couple of keystrokes.
38
+ Running `aliasmate` with no arguments opens a full-screen TUI: your commands sorted by usage with a live detail pane. Everything happens in-screen:
39
+
40
+ | Key | Action |
41
+ |-----|--------|
42
+ | `↑↓` / `jk` | move |
43
+ | `enter` | run selected command |
44
+ | `/` | fuzzy filter (type to narrow) |
45
+ | `n` | new command (in-TUI form) |
46
+ | `e` | edit selected (in-TUI form) |
47
+ | `d` | delete (with confirm) |
48
+ | `←→` | move the caret while editing form fields |
49
+ | `s` | usage stats |
50
+ | `x` | export a full backup (JSON) |
51
+ | `i` | import commands from a JSON file |
52
+ | `q` / `esc` | quit |
31
53
 
32
54
  ## Commands
33
55
 
34
56
  | Command | Description |
35
57
  |---------|-------------|
36
- | `aliasmate` | Interactive menu (run/save/edit/delete/stats) |
37
- | `aliasmate prev <name>` | Save your previous shell command |
38
- | `aliasmate save` | Save a command interactively |
58
+ | `aliasmate` | Full-screen TUI (browse/run/create/edit/delete/stats) |
59
+ | `aliasmate prev [name]` | Capture your last shell command → TUI form, prefilled (saves directly when scripted) |
60
+ | `aliasmate save` | Open the TUI with a blank new-command form |
39
61
  | `aliasmate run <name> [path]` | Run a saved command, optionally in a different directory |
40
62
  | `aliasmate run @0` | Re-run your most recent command (`@1`, `@2`, …) |
41
63
  | `aliasmate run <name> --dry-run [--verbose]` | Preview without executing |
42
64
  | `aliasmate list` (`ls`) | List commands (`--format table\|json\|yaml\|compact`) |
43
65
  | `aliasmate search <query>` (`find`) | Search by name, text, or directory |
44
- | `aliasmate edit <name>` | Edit a command (text, directory, path mode, env vars) |
66
+ | `aliasmate edit <name>` | Edit a command in the TUI form (change the name field to rename) |
67
+ | `aliasmate rename <old> <new>` (`mv`) | Rename a command — aliases and run history follow |
45
68
  | `aliasmate delete <name>` (`rm`) | Delete a command (`-f` skips confirmation) |
46
69
  | `aliasmate alias <short> <name>` | Create a shortcut alias (`--list`, `--remove <a>`) |
47
70
  | `aliasmate recent` | Recently run commands with `@N` indices (`--clear`) |
48
71
  | `aliasmate stats` | Usage statistics: most-used commands, total runs |
49
72
  | `aliasmate validate [name]` | Check commands, directories, and env vars |
50
- | `aliasmate export <file>` | Export to JSON/YAML — secrets masked |
73
+ | `aliasmate export <file>` | Export to JSON/YAML — secrets masked for sharing |
74
+ | `aliasmate export <file> --full` | Restorable backup with real secret values |
51
75
  | `aliasmate import <file>` | Import from JSON (backs up your config first) |
52
76
  | `aliasmate completion install` | Install tab completion (bash/zsh/fish) |
53
77
  | `aliasmate config` | Show where your data is stored |
@@ -66,6 +90,15 @@ When saving, you can capture user-defined env vars (`NODE_ENV`, `API_URL`, …)
66
90
  - All writes to your config are atomic; a crash can never corrupt your data.
67
91
  - `import` writes a timestamped backup of your existing config before touching it.
68
92
 
93
+ ### Backup & restore
94
+
95
+ ```bash
96
+ aliasmate export backup.json --full # everything, including real env secrets
97
+ aliasmate import backup.json # restore (auto-backs up current state first)
98
+ ```
99
+
100
+ Default exports mask secret values so they're safe to share with a team; `--full` keeps them intact for personal backups.
101
+
69
102
  ### Recent commands & stats
70
103
  Every run is tracked. `aliasmate run @0` re-runs your latest command, `aliasmate recent` lists history, and `aliasmate stats` shows your most-used commands.
71
104
 
@@ -39,7 +39,7 @@ const os = __importStar(require("os"));
39
39
  const path = __importStar(require("path"));
40
40
  const commands_1 = require("../core/commands");
41
41
  const theme_1 = require("../ui/theme");
42
- const SUBCOMMANDS = 'run save prev list search edit delete export import alias recent validate stats completion config help';
42
+ const SUBCOMMANDS = 'run save prev list search edit rename delete export import alias recent validate stats completion config help';
43
43
  function savedNames() {
44
44
  return [...Object.keys((0, commands_1.listCommands)()), ...Object.keys((0, commands_1.listAliases)())].join(' ');
45
45
  }
@@ -51,7 +51,7 @@ _aliasmate_complete() {
51
51
  prev="\${COMP_WORDS[COMP_CWORD-1]}"
52
52
  if [ "$COMP_CWORD" -eq 1 ]; then
53
53
  COMPREPLY=( $(compgen -W "${SUBCOMMANDS}" -- "$cur") )
54
- elif [ "$prev" = "run" ] || [ "$prev" = "edit" ] || [ "$prev" = "delete" ] || [ "$prev" = "rm" ] || [ "$prev" = "validate" ]; then
54
+ elif [ "$prev" = "run" ] || [ "$prev" = "edit" ] || [ "$prev" = "rename" ] || [ "$prev" = "mv" ] || [ "$prev" = "delete" ] || [ "$prev" = "rm" ] || [ "$prev" = "validate" ]; then
55
55
  COMPREPLY=( $(compgen -W "$(aliasmate completion --names 2>/dev/null)" -- "$cur") )
56
56
  fi
57
57
  }
@@ -65,7 +65,7 @@ _aliasmate() {
65
65
  subcmds=(${SUBCOMMANDS})
66
66
  if (( CURRENT == 2 )); then
67
67
  _describe 'command' subcmds
68
- elif [[ \${words[2]} == (run|edit|delete|rm|validate) ]]; then
68
+ elif [[ \${words[2]} == (run|edit|rename|mv|delete|rm|validate) ]]; then
69
69
  local -a names
70
70
  names=($(aliasmate completion --names 2>/dev/null))
71
71
  _describe 'saved command' names
@@ -78,7 +78,7 @@ function fishScript() {
78
78
  return `# aliasmate fish completion
79
79
  complete -c aliasmate -f
80
80
  complete -c aliasmate -n "__fish_use_subcommand" -a "${SUBCOMMANDS}"
81
- complete -c aliasmate -n "__fish_seen_subcommand_from run edit delete rm validate" -a "(aliasmate completion --names 2>/dev/null)"
81
+ complete -c aliasmate -n "__fish_seen_subcommand_from run edit rename mv delete rm validate" -a "(aliasmate completion --names 2>/dev/null)"
82
82
  `;
83
83
  }
84
84
  function detectShell() {
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/cli/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/cli/completion.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,8 @@ export declare function searchHandler(query: string): void;
4
4
  export declare function deleteHandler(name: string, options: {
5
5
  force?: boolean;
6
6
  }): Promise<void>;
7
- export declare function editHandler(name: string, options: {
8
- validate?: boolean;
9
- }): Promise<void>;
7
+ export declare function editHandler(name: string): Promise<void>;
8
+ export declare function renameHandler(from: string, to: string): Promise<void>;
10
9
  export declare function aliasHandler(shortAlias: string | undefined, commandName: string | undefined, options: {
11
10
  list?: boolean;
12
11
  remove?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/cli/manage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,eAAe,CAAC;AAmBvD,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAYpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASjD;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7F;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAe9F;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,IAAI,CAsBN;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA+BhF;AAED,wBAAgB,YAAY,IAAI,IAAI,CAoBnC;AAED,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CA6BnD"}
1
+ {"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/cli/manage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,eAAe,CAAC;AAuBvD,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAiBpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASjD;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7F;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB7D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3E;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,IAAI,CAsBN;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA+BhF;AAED,wBAAgB,YAAY,IAAI,IAAI,CAmBnC;AAED,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CA6BnD"}
@@ -37,6 +37,7 @@ exports.listHandler = listHandler;
37
37
  exports.searchHandler = searchHandler;
38
38
  exports.deleteHandler = deleteHandler;
39
39
  exports.editHandler = editHandler;
40
+ exports.renameHandler = renameHandler;
40
41
  exports.aliasHandler = aliasHandler;
41
42
  exports.recentHandler = recentHandler;
42
43
  exports.statsHandler = statsHandler;
@@ -46,8 +47,12 @@ const recent_1 = require("../core/recent");
46
47
  const validate_1 = require("../core/validate");
47
48
  const format_1 = require("../ui/format");
48
49
  const theme_1 = require("../ui/theme");
49
- function runCountMap() {
50
- return new Map((0, recent_1.getUsageStats)().map((s) => [s.name, s.runCount]));
50
+ function usageMaps() {
51
+ const stats = (0, recent_1.getUsageStats)();
52
+ return {
53
+ runCounts: new Map(stats.map((s) => [s.name, s.runCount])),
54
+ lastRuns: new Map(stats.map((s) => [s.name, s.lastRunAt])),
55
+ };
51
56
  }
52
57
  function listHandler(format) {
53
58
  const commands = (0, commands_1.listCommands)();
@@ -57,9 +62,13 @@ function listHandler(format) {
57
62
  console.log(`\n${theme_1.icons.spark} Save your last command with ${theme_1.theme.name('aliasmate prev <name>')}`);
58
63
  return;
59
64
  }
60
- if (format === 'table')
61
- console.log(theme_1.theme.heading(`\nSaved commands (${count}):\n`));
62
- console.log((0, format_1.render)(commands, format, { runCounts: runCountMap() }));
65
+ if (format === 'table') {
66
+ console.log(`\n${(0, theme_1.brandLine)( ${count} command${count > 1 ? 's' : ''}`)}\n`);
67
+ }
68
+ console.log((0, format_1.render)(commands, format, usageMaps()));
69
+ if (format === 'table') {
70
+ console.log(theme_1.theme.faint('\n ⁺N saved env vars · aliasmate run <name>'));
71
+ }
63
72
  }
64
73
  function searchHandler(query) {
65
74
  const matches = (0, commands_1.searchCommands)(query);
@@ -68,8 +77,8 @@ function searchHandler(query) {
68
77
  console.log(theme_1.theme.dim(`No commands match "${query}".`));
69
78
  return;
70
79
  }
71
- console.log(theme_1.theme.heading(`\n${count} match${count > 1 ? 'es' : ''} for "${query}":\n`));
72
- console.log((0, format_1.render)(matches, 'table', { runCounts: runCountMap() }));
80
+ console.log(`\n${(0, theme_1.brandLine)(${count} match${count > 1 ? 'es' : ''} for "${query}"`)}\n`);
81
+ console.log((0, format_1.render)(matches, 'table', usageMaps()));
73
82
  }
74
83
  async function deleteHandler(name, options) {
75
84
  const cmd = (0, commands_1.getCommand)(name);
@@ -89,22 +98,32 @@ async function deleteHandler(name, options) {
89
98
  (0, commands_1.deleteCommand)(name);
90
99
  (0, theme_1.ok)(`Deleted ${theme_1.theme.name(name)}`);
91
100
  }
92
- async function editHandler(name, options) {
101
+ async function editHandler(name) {
93
102
  const existing = (0, commands_1.getCommand)(name);
94
103
  if (!existing) {
95
104
  (0, theme_1.fail)(`Command "${name}" not found`);
96
105
  process.exitCode = 1;
97
106
  return;
98
107
  }
99
- const { promptCommandDetails } = await Promise.resolve().then(() => __importStar(require('../ui/prompts')));
100
- const details = await promptCommandDetails({ name, ...existing }, process.cwd());
101
- const { saveCommand } = await Promise.resolve().then(() => __importStar(require('../core/commands')));
102
- saveCommand(details);
103
- if (options.validate !== false) {
104
- for (const issue of (0, validate_1.validateSavedCommand)((0, commands_1.getCommand)(name)))
105
- (0, theme_1.warn)(issue.message);
108
+ if (!process.stdin.isTTY || !process.stdout.isTTY) {
109
+ (0, theme_1.fail)('Editing needs an interactive terminal.');
110
+ process.exitCode = 1;
111
+ return;
106
112
  }
107
- (0, theme_1.ok)(`Updated ${theme_1.theme.name(name)}`);
113
+ const { interactiveHome } = await Promise.resolve().then(() => __importStar(require('../ui/interactive')));
114
+ await interactiveHome({
115
+ name,
116
+ command: existing.command,
117
+ directory: existing.directory,
118
+ pathMode: existing.pathMode ?? 'saved',
119
+ env: existing.env,
120
+ editing: name,
121
+ });
122
+ }
123
+ async function renameHandler(from, to) {
124
+ const { renameCommand } = await Promise.resolve().then(() => __importStar(require('../core/commands')));
125
+ renameCommand(from, to);
126
+ (0, theme_1.ok)(`renamed ${theme_1.theme.name(from)} ${theme_1.theme.dim('→')} ${theme_1.theme.name(to)}`);
108
127
  }
109
128
  function aliasHandler(shortAlias, commandName, options) {
110
129
  if (options.remove) {
@@ -154,30 +173,29 @@ function recentHandler(options) {
154
173
  break;
155
174
  }
156
175
  const counts = new Map(stats.map((s) => [s.name, s.runCount]));
157
- console.log(theme_1.theme.heading('\nRecent commands:\n'));
176
+ console.log(`\n${(0, theme_1.brandLine)('· recent')}\n`);
158
177
  rows.forEach((row, i) => {
159
178
  const runs = counts.get(row.name) ?? 0;
160
- console.log(` ${theme_1.theme.accent(`@${i}`)} ${theme_1.theme.name(row.name.padEnd(20))} ${theme_1.theme.dim(`${(0, format_1.timeAgo)(row.at)} · ${runs} run${runs === 1 ? '' : 's'}`)}`);
179
+ console.log(` ${theme_1.theme.accent(`@${i}`.padEnd(4))} ${theme_1.theme.name(row.name.padEnd(20))} ${theme_1.theme.dim(`${(0, format_1.timeAgo)(row.at)} · ${runs} run${runs === 1 ? '' : 's'}`)}`);
161
180
  });
162
- console.log(theme_1.theme.dim('\nRe-run instantly: aliasmate run @0'));
181
+ console.log(theme_1.theme.faint('\n re-run instantly: aliasmate run @0'));
163
182
  }
164
183
  function statsHandler() {
165
184
  const stats = (0, recent_1.getUsageStats)();
166
185
  const commands = (0, commands_1.listCommands)();
167
186
  const total = (0, recent_1.getExecutionHistory)().length;
168
- console.log(theme_1.theme.heading('\n📊 Your AliasMate stats\n'));
169
- console.log(` ${theme_1.theme.dim('Saved commands:')} ${Object.keys(commands).length}`);
170
- console.log(` ${theme_1.theme.dim('Total runs:')} ${total}\n`);
187
+ console.log(`\n${(0, theme_1.brandLine)('· stats')}\n`);
188
+ console.log(` ${theme_1.theme.faint('commands'.padEnd(10))}${Object.keys(commands).length}`);
189
+ console.log(` ${theme_1.theme.faint('runs'.padEnd(10))}${total}\n`);
171
190
  const top = stats.slice(0, 10);
172
191
  if (top.length === 0) {
173
- console.log(theme_1.theme.dim(' Run something to start building stats!'));
192
+ console.log(theme_1.theme.dim(' Run something to start building stats.'));
174
193
  return;
175
194
  }
176
- console.log(theme_1.theme.heading(' Most used:\n'));
177
195
  const max = top[0].runCount;
178
196
  for (const s of top) {
179
- const bar = ''.repeat(Math.max(1, Math.round((s.runCount / max) * 20)));
180
- console.log(` ${theme_1.theme.name(s.name.padEnd(20))} ${theme_1.theme.accent(bar)} ${s.runCount} ${theme_1.theme.dim((0, format_1.timeAgo)(s.lastRunAt))}`);
197
+ const bar = ''.repeat(Math.max(1, Math.round((s.runCount / max) * 24)));
198
+ console.log(` ${theme_1.theme.name(s.name.padEnd(20))} ${theme_1.theme.accent(bar)} ${theme_1.theme.dim(String(s.runCount))} ${theme_1.theme.faint((0, format_1.timeAgo)(s.lastRunAt))}`);
181
199
  }
182
200
  }
183
201
  function validateHandler(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/cli/manage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/cli/manage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAsBD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAqBf"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAyBD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAyBf"}
package/dist/cli/run.js CHANGED
@@ -3,25 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runHandler = runHandler;
4
4
  const runner_1 = require("../core/runner");
5
5
  const env_1 = require("../core/env");
6
+ const format_1 = require("../ui/format");
6
7
  const theme_1 = require("../ui/theme");
7
8
  function printDryRun(plan, verbose) {
8
- console.log(theme_1.theme.heading('\n🔍 Dry run — nothing will be executed\n'));
9
- console.log(` ${theme_1.theme.dim('Command:')} ${plan.saved.command}`);
10
- console.log(` ${theme_1.theme.dim('Directory:')} ${plan.cwd} ${theme_1.theme.dim(`(${plan.cwdSource})`)}`);
9
+ const label = (t) => theme_1.theme.faint(t.padEnd(9));
10
+ console.log(`\n${theme_1.icons.dot} ${theme_1.theme.heading(plan.name)} ${theme_1.theme.dim('· dry run — nothing will execute')}\n`);
11
+ console.log(` ${label('command')}${plan.saved.command}`);
12
+ console.log(` ${label('where')}${theme_1.theme.dim(`${(0, format_1.prettyPath)(plan.cwd)} (${plan.cwdSource})`)}`);
11
13
  const env = plan.saved.env ?? {};
12
14
  const envCount = Object.keys(env).length;
13
15
  if (envCount > 0) {
14
- console.log(` ${theme_1.theme.dim('Env vars:')} ${envCount}`);
16
+ console.log(` ${label('env')}${theme_1.theme.dim(`${envCount} variable${envCount > 1 ? 's' : ''}`)}`);
15
17
  if (verbose) {
16
18
  for (const [k, v] of Object.entries((0, env_1.maskSensitive)(env))) {
17
- console.log(` ${theme_1.theme.dim(`${k}=${v}`)}`);
19
+ console.log(` ${' '.repeat(9)}${theme_1.theme.dim(`${k}=${v}`)}`);
18
20
  }
19
21
  }
20
22
  }
21
23
  for (const danger of plan.dangers) {
22
- (0, theme_1.warn)(`This command looks dangerous: ${danger}`);
24
+ (0, theme_1.warn)(`looks dangerous: ${danger}`);
23
25
  }
24
- console.log(theme_1.theme.dim('\nRun without --dry-run to execute.'));
26
+ console.log(theme_1.theme.faint('\n run without --dry-run to execute'));
25
27
  }
26
28
  async function runHandler(name, pathOverride, options) {
27
29
  const plan = (0, runner_1.planRun)(name, pathOverride);
@@ -29,17 +31,17 @@ async function runHandler(name, pathOverride, options) {
29
31
  printDryRun(plan, options.verbose ?? false);
30
32
  return;
31
33
  }
32
- console.log(`${theme_1.icons.run} ${theme_1.theme.name(plan.name)} ${theme_1.theme.dim('in')} ${theme_1.theme.dim(plan.cwd)}`);
33
- console.log(theme_1.theme.dim(` ${plan.saved.command}\n`));
34
+ console.log(`${theme_1.icons.dot} ${theme_1.theme.heading(plan.name)} ${theme_1.theme.faint('·')} ${theme_1.theme.dim(plan.saved.command)}`);
35
+ console.log(` ${theme_1.theme.faint((0, format_1.prettyPath)(plan.cwd))}\n`);
34
36
  for (const danger of plan.dangers) {
35
- (0, theme_1.warn)(`This command looks dangerous: ${danger}`);
37
+ (0, theme_1.warn)(`looks dangerous: ${danger}`);
36
38
  }
37
39
  const result = await (0, runner_1.executePlan)(plan);
38
40
  if (result.success) {
39
- console.log(`\n${theme_1.icons.ok} ${theme_1.theme.dim(`Done in ${(result.durationMs / 1000).toFixed(1)}s`)}`);
41
+ console.log(`\n${theme_1.icons.ok} ${theme_1.theme.faint(`done · ${(result.durationMs / 1000).toFixed(1)}s`)}`);
40
42
  }
41
43
  else {
42
- console.error(`\n${theme_1.icons.fail} ${theme_1.theme.error(`Exited with code ${result.exitCode}`)}`);
44
+ console.error(`\n${theme_1.icons.fail} ${theme_1.theme.error(`exit ${result.exitCode}`)} ${theme_1.theme.faint(`· ${(result.durationMs / 1000).toFixed(1)}s`)}`);
43
45
  process.exitCode = result.exitCode;
44
46
  }
45
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- /** `aliasmate save` — interactive save. */
2
- export declare function saveHandler(options: {
3
- validate?: boolean;
4
- }): Promise<void>;
5
- /** `aliasmate prev <name>` save the last command from shell history. */
6
- export declare function prevHandler(name: string, options: {
7
- validate?: boolean;
8
- }): Promise<void>;
1
+ /** `aliasmate save` — opens the TUI with a blank new-command form. */
2
+ export declare function saveHandler(): Promise<void>;
3
+ /**
4
+ * `aliasmate prev [name]` — captures your last shell command and opens the
5
+ * TUI form prefilled with it. In scripts (no TTY) it saves directly.
6
+ */
7
+ export declare function prevHandler(name: string | undefined): Promise<void>;
9
8
  //# sourceMappingURL=save.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/cli/save.ts"],"names":[],"mappings":"AA6BA,2CAA2C;AAC3C,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;AAED,0EAA0E;AAC1E,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9F"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/cli/save.ts"],"names":[],"mappings":"AAWA,sEAAsE;AACtE,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCzE"}