@mudah-cli/mudah 0.4.0 → 0.7.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.
@@ -2,6 +2,7 @@ import { existsSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { Command } from '@mudah-cli/console';
4
4
  import { detectCapabilities } from '@mudah-cli/terminal';
5
+ import { Column, Label, List, dumpTree } from '@mudah-cli/tui';
5
6
  /**
6
7
  * Built-in `doctor` command: a quick health check of the runtime, manifest,
7
8
  * scaffolding, and terminal capabilities.
@@ -48,6 +49,11 @@ export default class DoctorCommand extends Command {
48
49
  this.output.keyValue('semantic prompts', caps.osc133 ? 'osc 133' : 'none');
49
50
  this.output.keyValue('graphics', caps.kittyGraphics ? 'kitty' : 'none');
50
51
  this.output.keyValue('keyboard', caps.kittyKeyboard ? 'kitty key-up' : 'legacy');
52
+ this.output.section('TUI');
53
+ const demo = new Column().add(new Label('demo'), new List(['a', 'b']));
54
+ demo.resize(40, 8);
55
+ this.output.keyValue('dump', JSON.stringify(dumpTree(demo)));
56
+ this.output.hint('Mount a layout and call program.dump() or TestTui.tree()');
51
57
  this.output.line();
52
58
  this.output.success('doctor complete');
53
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.command.js","sourceRoot":"","sources":["../../src/commands/doctor.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.command.js","sourceRoot":"","sources":["../../src/commands/doctor.command.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { Command } from '@mudah-cli/console';
2
2
  /**
3
- * Built-in `make` command: scaffold commands, providers, and config files
4
- * with the right structure and imports.
3
+ * Built-in `make` command: scaffold commands, providers, config files, and TUI recipes.
5
4
  */
6
5
  export default class MakeCommand extends Command {
7
6
  signature: string;
@@ -35,18 +35,92 @@ export default defineConfig({
35
35
  // Add configuration for this component.
36
36
  });
37
37
  `;
38
+ const TUI_HINT = 'Use: make {command|provider|config|tui} {name}';
39
+ const TUI_PICKER = (command, className) => `import { Command } from '@mudah-cli/mudah';
40
+ import { Program, Screen } from '@mudah-cli/mudah/tui';
41
+
42
+ export default class ${className} extends Command {
43
+ signature = '${command}';
44
+ description = 'Pick one item';
45
+
46
+ async handle(): Promise<number> {
47
+ if (process.stdout.isTTY !== true) {
48
+ this.output.error('This command needs an interactive terminal.');
49
+ return 2;
50
+ }
51
+ const screen = Screen.picker({ title: '${command}', items: ['one', 'two', 'three'] });
52
+ const program = new Program();
53
+ screen.attach(program);
54
+ const code = await program.run();
55
+ const picked = screen.result();
56
+ if (picked) this.output.success(\`Picked \${picked}.\`);
57
+ return code;
58
+ }
59
+ }
60
+ `;
61
+ const TUI_WIZARD = (command, className) => `import { Command } from '@mudah-cli/mudah';
62
+ import { Program, Screen } from '@mudah-cli/mudah/tui';
63
+
64
+ export default class ${className} extends Command {
65
+ signature = '${command}';
66
+ description = 'Multi-step wizard';
67
+
68
+ async handle(): Promise<number> {
69
+ if (process.stdout.isTTY !== true) {
70
+ this.output.error('This command needs an interactive terminal.');
71
+ return 2;
72
+ }
73
+ const screen = Screen.wizard({
74
+ title: '${command}',
75
+ steps: [
76
+ { name: 'env', kind: 'pick', items: ['staging', 'production'] },
77
+ { name: 'note', kind: 'text', label: 'Note' },
78
+ ],
79
+ });
80
+ const program = new Program();
81
+ screen.attach(program);
82
+ const code = await program.run();
83
+ const result = screen.result();
84
+ if (result) this.output.success(JSON.stringify(result));
85
+ return code;
86
+ }
87
+ }
88
+ `;
89
+ const TUI_DASHBOARD = (command, className) => `import { Command } from '@mudah-cli/mudah';
90
+ import { Program, Screen } from '@mudah-cli/mudah/tui';
91
+
92
+ export default class ${className} extends Command {
93
+ signature = '${command}';
94
+ description = 'Full-screen dashboard';
95
+
96
+ async handle(): Promise<number> {
97
+ if (process.stdout.isTTY !== true) {
98
+ this.output.error('This command needs an interactive terminal.');
99
+ return 2;
100
+ }
101
+ const screen = Screen.dashboard({
102
+ title: '${command}',
103
+ sidebar: ['esc to quit', 'drag the split'],
104
+ columns: [{ header: 'name' }, { header: 'status' }],
105
+ rows: [['api', 'ok'], ['worker', 'ok']],
106
+ });
107
+ const program = new Program({ mouse: true });
108
+ screen.attach(program);
109
+ return program.run();
110
+ }
111
+ }
112
+ `;
38
113
  /**
39
- * Built-in `make` command: scaffold commands, providers, and config files
40
- * with the right structure and imports.
114
+ * Built-in `make` command: scaffold commands, providers, config files, and TUI recipes.
41
115
  */
42
116
  export default class MakeCommand extends Command {
43
117
  signature = 'make {type} {name}';
44
- description = 'Scaffold a command, provider, or config file';
118
+ description = 'Scaffold a command, provider, config file, or TUI screen';
45
119
  async handle() {
46
120
  const type = this.arg('type');
47
121
  const name = this.arg('name');
48
- if (!['command', 'provider', 'config'].includes(type)) {
49
- throw this.usageError(`Unknown make type "${type}".`, 'Use: make {command|provider|config} {name}');
122
+ if (!['command', 'provider', 'config', 'tui'].includes(type)) {
123
+ throw this.usageError(`Unknown make type "${type}".`, TUI_HINT);
50
124
  }
51
125
  if (!/^[a-zA-Z][a-zA-Z0-9-]*$/.test(name)) {
52
126
  throw this.usageError(`Invalid name "${name}".`, 'Use letters, numbers, and dashes (e.g. "deploy-site").');
@@ -63,6 +137,13 @@ export default class MakeCommand extends Command {
63
137
  filePath = join(this.app.basePath, 'src', 'providers', `${className}Provider.ts`);
64
138
  content = PROVIDER_TEMPLATE(`${className}Provider`);
65
139
  }
140
+ else if (type === 'tui') {
141
+ if (!['picker', 'wizard', 'dashboard'].includes(k)) {
142
+ throw this.usageError(`Unknown TUI recipe "${name}".`, 'Use: make tui {picker|wizard|dashboard}');
143
+ }
144
+ filePath = join(this.app.basePath, 'src', 'commands', `${k}.command.ts`);
145
+ content = k === 'wizard' ? TUI_WIZARD(k, className) : k === 'dashboard' ? TUI_DASHBOARD(k, className) : TUI_PICKER(k, className);
146
+ }
66
147
  else {
67
148
  filePath = join(this.app.basePath, 'config', `${k}.ts`);
68
149
  content = CONFIG_TEMPLATE;
@@ -1 +1 @@
1
- {"version":3,"file":"make.command.js","sourceRoot":"","sources":["../../src/commands/make.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make.command.js","sourceRoot":"","sources":["../../src/commands/make.command.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mudah-cli/mudah",
3
- "version": "0.4.0",
3
+ "version": "0.7.0",
4
4
  "description": "An ergonomic, animation-rich CLI framework — speed, sleek design, and developer ergonomics for Node and Bun.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -39,15 +39,15 @@
39
39
  ],
40
40
  "sideEffects": false,
41
41
  "dependencies": {
42
- "@mudah-cli/animation": "^0.4.0",
43
- "@mudah-cli/config": "^0.4.0",
44
- "@mudah-cli/console": "^0.4.0",
45
- "@mudah-cli/container": "^0.4.0",
46
- "@mudah-cli/core": "^0.4.0",
47
- "@mudah-cli/terminal": "^0.4.0",
48
- "@mudah-cli/testing": "^0.4.0",
49
- "@mudah-cli/tui": "^0.4.0",
50
- "@mudah-cli/ui": "^0.4.0"
42
+ "@mudah-cli/animation": "^0.7.0",
43
+ "@mudah-cli/config": "^0.7.0",
44
+ "@mudah-cli/console": "^0.7.0",
45
+ "@mudah-cli/container": "^0.7.0",
46
+ "@mudah-cli/core": "^0.7.0",
47
+ "@mudah-cli/terminal": "^0.7.0",
48
+ "@mudah-cli/testing": "^0.7.0",
49
+ "@mudah-cli/tui": "^0.7.0",
50
+ "@mudah-cli/ui": "^0.7.0"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"