@orbitpanel/cli 0.2.0 → 0.2.1

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.
@@ -0,0 +1,6 @@
1
+ import { Hook } from '@oclif/core';
2
+ /**
3
+ * Init hook — redirects bare `orbit` (no args) to `orbit shell`.
4
+ */
5
+ declare const hook: Hook.Init;
6
+ export default hook;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Init hook — redirects bare `orbit` (no args) to `orbit shell`.
3
+ */
4
+ const hook = async function (options) {
5
+ // If no command was specified (bare `orbit`), run the shell
6
+ if (!options.id && (!options.argv || options.argv.length === 0)) {
7
+ const { startShell } = await import('../lib/shell.js');
8
+ await startShell(options.config.version);
9
+ process.exit(0);
10
+ }
11
+ };
12
+ export default hook;
13
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/hooks/init.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,IAAI,GAAc,KAAK,WAAW,OAAO;IAC7C,4DAA4D;IAC5D,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Interactive shell for @orbitpanel/cli.
3
- * Modern REPL with branded UI, menus, spinners.
3
+ * Stile v6: gradient, colori, sparkles, apparizione progressiva.
4
4
  */
5
5
  export declare function startShell(version: string): Promise<void>;
package/dist/lib/shell.js CHANGED
@@ -1,11 +1,10 @@
1
1
  /**
2
2
  * Interactive shell for @orbitpanel/cli.
3
- * Modern REPL with branded UI, menus, spinners.
3
+ * Stile v6: gradient, colori, sparkles, apparizione progressiva.
4
4
  */
5
5
  import * as p from '@clack/prompts';
6
6
  import chalk from 'chalk';
7
7
  import gradient from 'gradient-string';
8
- import boxen from 'boxen';
9
8
  import ora from 'ora';
10
9
  import { loadConfig } from './config.js';
11
10
  import { OrbitClient } from './client.js';
@@ -13,83 +12,98 @@ import { loadSiteLink } from './site.js';
13
12
  import { loadActiveSession, createSession, addNote, endSession } from './session.js';
14
13
  import { getGitBranch, getGitCommitHead, getGitDiffStat } from './git.js';
15
14
  import { buildReportPayload } from './report-builder.js';
16
- const orbitGradient = gradient(['#0D9488', '#14B8A6', '#1B2A4A']);
17
- const TEAL = chalk.hex('#0D9488');
18
- const DIM_TEAL = chalk.hex('#0D9488').dim;
19
- function showHeader(version) {
15
+ // Brand colors
16
+ const B = chalk.rgb(37, 99, 235);
17
+ const BL = chalk.hex('#60A5FA');
18
+ const BB = chalk.bold.rgb(37, 99, 235);
19
+ const GREEN = chalk.hex('#22C55E');
20
+ const YELLOW = chalk.hex('#EAB308');
21
+ const DIM = chalk.dim;
22
+ const BOLD = chalk.bold;
23
+ const WHITE = chalk.white;
24
+ const orbitGrad = gradient(['#2563EB', '#3B82F6', '#60A5FA', '#0D9488']);
25
+ const sparkle = BL('✦');
26
+ const sep = () => console.log(orbitGrad(' ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
27
+ function sleep(ms) {
28
+ return new Promise(r => setTimeout(r, ms));
29
+ }
30
+ const logoLines = [
31
+ ' ██████╗ ██████╗ ██████╗ ██╗████████╗',
32
+ ' ██╔═══██╗██╔══██╗██╔══██╗██║╚══██╔══╝',
33
+ ' ██║ ██║██████╔╝██████╔╝██║ ██║ ',
34
+ ' ██║ ██║██╔══██╗██╔══██╗██║ ██║ ',
35
+ ' ╚██████╔╝██║ ██║██████╔╝██║ ██║ ',
36
+ ' ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝ ',
37
+ ];
38
+ async function showHeader(version) {
39
+ console.clear();
40
+ console.log('');
41
+ for (const line of logoLines) {
42
+ console.log(orbitGrad(line));
43
+ await sleep(60);
44
+ }
45
+ await sleep(150);
20
46
  console.log('');
21
- console.log(orbitGradient(' ┌──────────────────────────────────────────┐'));
22
- console.log(orbitGradient(' │') + ' ' + orbitGradient('│'));
23
- console.log(orbitGradient(' │') + ` ${chalk.bold.hex('#0D9488')('ORBIT')} ${chalk.hex('#CBD5E1')('Panel CLI')} ${chalk.dim(`v${version}`)} ` + orbitGradient('│'));
24
- console.log(orbitGradient(' │') + chalk.hex('#64748B')(' Gestione hosting AI-powered') + ' ' + orbitGradient('│'));
25
- console.log(orbitGradient(' │') + ' ' + orbitGradient('│'));
26
- console.log(orbitGradient(' └──────────────────────────────────────────┘'));
47
+ console.log(` ${chalk.bgRgb(37, 99, 235).white.bold(' CLI ')} ${chalk.bgHex('#1E293B').hex('#60A5FA')(` v${version} `)} ${DIM('·')} ${BL('Gestione Orbit Panel AI-powered')}`);
27
48
  console.log('');
49
+ sep();
28
50
  }
29
- async function showStatusPanel(config) {
51
+ async function showStatus() {
52
+ const config = await loadConfig();
30
53
  const defaultSite = config.default_site;
31
54
  const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
32
55
  const siteLink = await loadSiteLink(process.cwd());
33
56
  const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
34
- const lines = [];
35
- // Auth status
57
+ const parts = [];
36
58
  if (tokenEntry) {
37
- const masked = `${tokenEntry.token.slice(0, 12)}...`;
38
- lines.push(`${chalk.dim('Auth')} ${chalk.green('●')} ${chalk.dim('Connesso')} ${chalk.dim(`(${masked})`)}`);
59
+ parts.push(`${GREEN('●')} ${WHITE('Connesso')}`);
39
60
  }
40
61
  else {
41
- lines.push(`${chalk.dim('Auth')} ${chalk.red('●')} ${chalk.dim('Non configurato')}`);
62
+ parts.push(`${chalk.red('●')} ${DIM('Non connesso')}`);
42
63
  }
43
- // Site
44
64
  if (siteLink) {
45
- lines.push(`${chalk.dim('Sito')} ${TEAL(siteLink.orbit_site_id.slice(0, 16))} ${chalk.dim(`(${siteLink.platform})`)}`);
46
- if (siteLink.final_url) {
47
- lines.push(`${chalk.dim('URL')} ${chalk.underline.dim(siteLink.final_url)}`);
48
- }
49
- }
50
- else {
51
- lines.push(`${chalk.dim('Sito')} ${chalk.yellow('●')} ${chalk.dim('Non collegato')}`);
65
+ parts.push(`${BL(siteLink.final_url ?? siteLink.orbit_site_id.slice(0, 16))}`);
52
66
  }
53
- // Session
54
67
  if (session) {
55
68
  const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
56
- lines.push(`${chalk.dim('Sessione')} ${chalk.green('●')} ${chalk.green('Attiva')} ${chalk.dim(`(${elapsed}min · ${session.notes.length} note)`)} ${session.git_branch ? chalk.dim(`[${session.git_branch}]`) : ''}`);
69
+ parts.push(`${GREEN('●')} ${WHITE('Sessione')} ${DIM(`${elapsed}min`)}`);
70
+ if (session.git_branch)
71
+ parts.push(`${BL(session.git_branch)}`);
72
+ }
73
+ if (parts.length > 0) {
74
+ console.log('');
75
+ console.log(` ${parts.join(` ${DIM('│')} `)}`);
57
76
  }
58
- else {
59
- lines.push(`${chalk.dim('Sessione')} ${chalk.dim('●')} ${chalk.dim('Nessuna')}`);
60
- }
61
- console.log(boxen(lines.join('\n'), {
62
- padding: { top: 0, bottom: 0, left: 1, right: 1 },
63
- margin: { top: 0, bottom: 0, left: 2, right: 0 },
64
- borderStyle: 'round',
65
- borderColor: '#0D9488',
66
- dimBorder: true,
67
- }));
68
77
  }
69
78
  export async function startShell(version) {
70
- showHeader(version);
71
- const config = await loadConfig();
72
- await showStatusPanel(config);
79
+ await showHeader(version);
80
+ await showStatus();
81
+ console.log('');
82
+ sep();
73
83
  console.log('');
74
84
  let running = true;
75
85
  while (running) {
76
86
  const action = await p.select({
77
- message: TEAL('Cosa vuoi fare?'),
87
+ message: `${B('?')} ${BOLD('Cosa vuoi fare?')}`,
78
88
  options: [
79
- { value: 'status', label: `${chalk.bold('Stato')}`, hint: 'panoramica completa' },
80
- { value: 'session', label: `${chalk.bold('Sessione')}`, hint: 'avvia · termina · note' },
81
- { value: 'report', label: `${chalk.bold('Report')}`, hint: 'invia report a Orbit' },
82
- { value: 'intervention', label: `${chalk.bold('Interventi')}`, hint: 'lista · dettaglio · modifica' },
83
- { value: 'doctor', label: `${chalk.bold('Diagnostica')}`, hint: 'verifica configurazione' },
84
- { value: 'config', label: `${chalk.bold('Configurazione')}`, hint: 'login · link · setup' },
85
- { value: 'quit', label: chalk.dim('Esci'), hint: 'ctrl+c' },
89
+ { value: 'status', label: BB('Stato'), hint: BL('panoramica completa') },
90
+ { value: 'session', label: BB('Sessione'), hint: 'avvia · termina · note' },
91
+ { value: 'report', label: BB('Report'), hint: 'invia report a Orbit' },
92
+ { value: 'intervention', label: BB('Interventi'), hint: 'lista · dettaglio' },
93
+ { value: 'doctor', label: BB('Diagnostica'), hint: 'verifica configurazione' },
94
+ { value: 'config', label: BB('Configurazione'), hint: 'login · link · setup' },
95
+ { value: 'quit', label: DIM('Esci'), hint: DIM('ctrl+c') },
86
96
  ],
87
97
  });
88
98
  if (p.isCancel(action) || action === 'quit') {
89
- p.outro(chalk.dim('Alla prossima! 👋'));
99
+ p.outro(DIM('Alla prossima!'));
90
100
  running = false;
91
101
  continue;
92
102
  }
103
+ console.log('');
104
+ sep();
105
+ console.log('');
106
+ const config = await loadConfig();
93
107
  switch (action) {
94
108
  case 'status':
95
109
  await handleStatus(config);
@@ -110,64 +124,70 @@ export async function startShell(version) {
110
124
  await handleConfig();
111
125
  break;
112
126
  }
127
+ console.log('');
128
+ sep();
129
+ console.log('');
113
130
  }
114
131
  }
115
132
  async function handleStatus(config) {
116
- const spinner = ora({ text: 'Caricamento stato...', color: 'cyan' }).start();
133
+ console.log(` ${sparkle} ${BB('Stato')}`);
134
+ console.log('');
117
135
  const defaultSite = config.default_site;
118
136
  const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
119
137
  if (!tokenEntry) {
120
- spinner.warn('Nessun token configurato');
138
+ console.log(` ${chalk.red('✗')} ${WHITE('Token')} ${DIM('non configurato')}`);
121
139
  return;
122
140
  }
123
141
  const client = new OrbitClient(tokenEntry.token, config.api_url);
142
+ const spinner = ora({ text: 'Verifica connessione...', color: 'blue', indent: 5 }).start();
124
143
  const validation = await client.validateToken();
125
144
  if (!validation.valid) {
126
145
  spinner.fail(`API non raggiungibile: ${validation.error}`);
127
146
  return;
128
147
  }
148
+ spinner.stop();
149
+ console.log(` ${GREEN('✓')} ${WHITE('Token')} ${DIM(tokenEntry.token.slice(0, 15) + '...')}`);
150
+ console.log(` ${GREEN('✓')} ${WHITE('API')} ${GREEN('raggiungibile')}`);
129
151
  try {
130
152
  const stats = await client.getStats();
131
153
  const total = stats.total_interventions ?? 0;
132
154
  const byStatus = stats.by_status ?? {};
133
- spinner.succeed(`${total} interventi totali`);
155
+ console.log('');
156
+ console.log(` ${BL(String(total))} ${WHITE('interventi totali')}`);
134
157
  if (total > 0) {
135
158
  const parts = [];
136
159
  if (byStatus.scheduled)
137
160
  parts.push(chalk.blue(`${byStatus.scheduled} pianificati`));
138
161
  if (byStatus.in_progress)
139
- parts.push(chalk.yellow(`${byStatus.in_progress} in corso`));
162
+ parts.push(YELLOW(`${byStatus.in_progress} in corso`));
140
163
  if (byStatus.completed)
141
- parts.push(chalk.green(`${byStatus.completed} completati`));
164
+ parts.push(GREEN(`${byStatus.completed} completati`));
142
165
  if (byStatus.verified)
143
- parts.push(TEAL(`${byStatus.verified} verificati`));
144
- p.log.info(parts.join(chalk.dim(' · ')));
166
+ parts.push(B(`${byStatus.verified} verificati`));
167
+ console.log(` ${parts.join(DIM(' · '))}`);
145
168
  }
146
169
  }
147
- catch {
148
- spinner.fail('Stats non disponibili');
149
- }
150
- console.log('');
170
+ catch { }
151
171
  }
152
172
  async function handleSession() {
153
173
  const siteLink = await loadSiteLink(process.cwd());
154
174
  if (!siteLink) {
155
- p.log.warn('Nessun sito collegato. Vai in Configurazione > Link sito.');
175
+ console.log(` ${chalk.red('✗')} ${DIM('Nessun sito collegato. Vai in Configurazione.')}`);
156
176
  return;
157
177
  }
158
178
  const session = await loadActiveSession(siteLink.orbit_site_id);
159
179
  const action = await p.select({
160
- message: TEAL('Sessione'),
180
+ message: `${sparkle} ${BB('Sessione')}`,
161
181
  options: session
162
182
  ? [
163
- { value: 'info', label: 'Info sessione attiva', hint: `${session.id} · ${session.notes.length} note` },
164
- { value: 'note', label: 'Aggiungi nota', hint: 'registra un\'azione' },
165
- { value: 'end', label: 'Chiudi sessione', hint: 'termina e prepara report' },
166
- { value: 'back', label: chalk.dim('Indietro') },
183
+ { value: 'info', label: WHITE('Info sessione'), hint: `${BL(session.id)} · ${session.notes.length} note` },
184
+ { value: 'note', label: WHITE('Aggiungi nota'), hint: 'registra azione' },
185
+ { value: 'end', label: WHITE('Chiudi sessione'), hint: 'termina e prepara report' },
186
+ { value: 'back', label: DIM('Indietro') },
167
187
  ]
168
188
  : [
169
- { value: 'start', label: 'Avvia sessione', hint: 'inizia tracciamento' },
170
- { value: 'back', label: chalk.dim('Indietro') },
189
+ { value: 'start', label: WHITE('Avvia sessione'), hint: 'inizia tracciamento' },
190
+ { value: 'back', label: DIM('Indietro') },
171
191
  ],
172
192
  });
173
193
  if (p.isCancel(action) || action === 'back')
@@ -175,101 +195,89 @@ async function handleSession() {
175
195
  if (action === 'start') {
176
196
  const branch = await getGitBranch();
177
197
  const commit = await getGitCommitHead();
178
- const note = await p.text({
179
- message: 'Nota iniziale (opzionale)',
180
- placeholder: 'es. Refactor homepage per nuovo design',
181
- });
182
- const spinner = ora({ text: 'Avvio sessione...', color: 'cyan' }).start();
183
- const newSession = await createSession(siteLink.orbit_site_id, {
198
+ const note = await p.text({ message: 'Nota iniziale (opzionale)', placeholder: 'es. Refactor homepage' });
199
+ const spinner = ora({ text: 'Avvio sessione...', color: 'blue', indent: 2 }).start();
200
+ const s = await createSession(siteLink.orbit_site_id, {
184
201
  git_branch: branch ?? undefined,
185
202
  git_commit: commit ?? undefined,
186
203
  note: typeof note === 'string' ? note : undefined,
187
204
  });
188
- spinner.succeed(`Sessione avviata ${chalk.dim(`(${newSession.id})`)}`);
205
+ spinner.succeed(`Sessione avviata`);
206
+ console.log('');
207
+ console.log(` ${DIM('ID')} ${BL(s.id)}`);
189
208
  if (branch)
190
- p.log.info(`Branch: ${chalk.bold(branch)}`);
209
+ console.log(` ${DIM('Branch')} ${WHITE(branch)}`);
210
+ if (commit)
211
+ console.log(` ${DIM('Commit')} ${BL(commit)}`);
191
212
  }
192
213
  if (action === 'note' && session) {
193
- const text = await p.text({
194
- message: 'Testo della nota',
195
- placeholder: 'es. Fixato layout mobile homepage',
196
- validate: (v) => !v || v.length === 0 ? 'Inserisci il testo' : undefined,
197
- });
214
+ const text = await p.text({ message: 'Testo della nota', validate: (v) => !v || v.length === 0 ? 'Inserisci il testo' : undefined });
198
215
  if (p.isCancel(text))
199
216
  return;
200
- const priority = await p.select({
217
+ const prio = await p.select({
201
218
  message: 'Priorita',
202
219
  options: [
203
- { value: 'low', label: chalk.dim('Bassa') },
204
- { value: 'medium', label: 'Media' },
205
- { value: 'high', label: chalk.yellow('Alta') },
220
+ { value: 'low', label: DIM('Bassa') },
221
+ { value: 'medium', label: WHITE('Media') },
222
+ { value: 'high', label: YELLOW('Alta') },
206
223
  { value: 'critical', label: chalk.red('Critica') },
207
224
  ],
208
225
  });
209
- if (p.isCancel(priority))
226
+ if (p.isCancel(prio))
210
227
  return;
211
- await addNote(session.id, text, priority);
212
- p.log.success(`Nota aggiunta ${chalk.dim(`(${session.notes.length + 1} totali)`)}`);
228
+ await addNote(session.id, text, prio);
229
+ console.log(` ${GREEN('✓')} ${GREEN.bold('Nota aggiunta')} ${DIM(`(${session.notes.length + 1} totali)`)}`);
230
+ console.log(` ${B('│')} ${WHITE(text)}`);
213
231
  }
214
232
  if (action === 'end' && session) {
215
- const summary = await p.text({
216
- message: 'Summary finale (opzionale)',
217
- placeholder: 'es. Completato refactor homepage',
218
- });
233
+ const summary = await p.text({ message: 'Summary finale (opzionale)', placeholder: 'es. Completato refactor' });
219
234
  const commitEnd = await getGitCommitHead();
220
- const spinner = ora({ text: 'Chiusura sessione...', color: 'cyan' }).start();
221
- await endSession(session.id, {
222
- git_commit_end: commitEnd ?? undefined,
223
- summary: typeof summary === 'string' ? summary : undefined,
224
- });
235
+ const spinner = ora({ text: 'Chiusura sessione...', color: 'blue', indent: 2 }).start();
236
+ await endSession(session.id, { git_commit_end: commitEnd ?? undefined, summary: typeof summary === 'string' ? summary : undefined });
225
237
  const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
226
- spinner.succeed(`Sessione chiusa ${chalk.dim(`(${elapsed}min · ${session.notes.length} note)`)}`);
227
- p.log.info(chalk.dim('Usa "Report" per inviare a Orbit'));
238
+ spinner.succeed(`Sessione chiusa ${DIM(`(${elapsed}min · ${session.notes.length} note)`)}`);
239
+ console.log(` ${DIM('Usa "Report" per inviare a Orbit')}`);
228
240
  }
229
241
  if (action === 'info' && session) {
230
242
  const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
231
- p.log.info(`ID: ${chalk.bold(session.id)}`);
232
- p.log.info(`Durata: ${elapsed} min`);
243
+ console.log(` ${sparkle} ${BB('Sessione attiva')}`);
244
+ console.log('');
245
+ console.log(` ${DIM('ID')} ${BL(session.id)}`);
246
+ console.log(` ${DIM('Durata')} ${WHITE(`${elapsed} min`)}`);
233
247
  if (session.git_branch)
234
- p.log.info(`Branch: ${session.git_branch}`);
235
- p.log.info(`Note: ${session.notes.length}`);
236
- if (session.notes.length > 0) {
237
- for (const note of session.notes.slice(-5)) {
238
- p.log.message(` ${chalk.dim('·')} ${note.text}`);
239
- }
248
+ console.log(` ${DIM('Branch')} ${BL(session.git_branch)}`);
249
+ console.log(` ${DIM('Note')} ${WHITE(String(session.notes.length))}`);
250
+ for (const note of session.notes.slice(-5)) {
251
+ console.log(` ${DIM('·')} ${WHITE(note.text)}`);
240
252
  }
241
253
  }
242
- console.log('');
243
254
  }
244
255
  async function handleReport(config) {
256
+ console.log(` ${sparkle} ${BB('Report')}`);
257
+ console.log('');
245
258
  const defaultSite = config.default_site;
246
259
  const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
247
260
  if (!tokenEntry) {
248
- p.log.warn('Token non configurato');
261
+ console.log(` ${chalk.red('✗')} ${DIM('Token non configurato')}`);
249
262
  return;
250
263
  }
251
264
  const siteLink = await loadSiteLink(process.cwd());
252
265
  if (!siteLink) {
253
- p.log.warn('Nessun sito collegato');
266
+ console.log(` ${chalk.red('✗')} ${DIM('Nessun sito collegato')}`);
254
267
  return;
255
268
  }
256
269
  let session = await loadActiveSession(siteLink.orbit_site_id);
257
- const title = await p.text({
258
- message: 'Titolo del report',
259
- placeholder: 'es. Fix homepage layout mobile',
260
- validate: (v) => !v || v.length === 0 ? 'Inserisci un titolo' : undefined,
261
- });
270
+ const title = await p.text({ message: 'Titolo', placeholder: 'es. Fix homepage layout mobile', validate: (v) => !v || v.length === 0 ? 'Inserisci un titolo' : undefined });
262
271
  if (p.isCancel(title))
263
272
  return;
264
273
  const typeTag = await p.select({
265
- message: 'Tipo di intervento',
274
+ message: 'Tipo',
266
275
  options: [
267
- { value: 'fix', label: '🔧 Fix', hint: 'correzione bug' },
268
- { value: 'feature', label: ' Feature', hint: 'nuova funzionalita' },
269
- { value: 'update', label: '📦 Update', hint: 'aggiornamento' },
270
- { value: 'security', label: '🛡️ Security', hint: 'sicurezza' },
271
- { value: 'optimization', label: ' Optimization', hint: 'performance' },
272
- { value: 'backup', label: '💾 Backup', hint: 'backup/ripristino' },
276
+ { value: 'fix', label: `${B('●')} ${BB('Fix')}`, hint: 'correzione bug' },
277
+ { value: 'feature', label: `${DIM('○')} Feature`, hint: 'nuova funzionalita' },
278
+ { value: 'update', label: `${DIM('○')} Update`, hint: 'aggiornamento' },
279
+ { value: 'security', label: `${DIM('○')} Security`, hint: 'sicurezza' },
280
+ { value: 'optimization', label: `${DIM('○')} Optimization`, hint: 'performance' },
273
281
  ],
274
282
  });
275
283
  if (p.isCancel(typeTag))
@@ -277,22 +285,19 @@ async function handleReport(config) {
277
285
  const priority = await p.select({
278
286
  message: 'Priorita',
279
287
  options: [
280
- { value: 'LOW', label: chalk.dim('Bassa') },
281
- { value: 'MEDIUM', label: 'Media' },
282
- { value: 'HIGH', label: chalk.yellow('Alta') },
288
+ { value: 'LOW', label: DIM('Bassa') },
289
+ { value: 'MEDIUM', label: BB('Media') },
290
+ { value: 'HIGH', label: YELLOW('Alta') },
283
291
  { value: 'URGENT', label: chalk.red('Urgente') },
284
292
  ],
285
293
  });
286
294
  if (p.isCancel(priority))
287
295
  return;
288
- const confirm = await p.confirm({
289
- message: `Inviare "${title}" a Orbit?`,
290
- });
296
+ const confirm = await p.confirm({ message: `Inviare "${title}" a Orbit?` });
291
297
  if (!confirm || p.isCancel(confirm)) {
292
- p.log.info('Annullato');
298
+ console.log(` ${DIM('Annullato')}`);
293
299
  return;
294
300
  }
295
- // Close active session if exists
296
301
  const commitEnd = await getGitCommitHead();
297
302
  let filesChanged = 0;
298
303
  if (session?.git_commit_start && commitEnd) {
@@ -303,45 +308,36 @@ async function handleReport(config) {
303
308
  session = await endSession(session.id, { git_commit_end: commitEnd ?? undefined });
304
309
  }
305
310
  const payload = buildReportPayload({
306
- session: session ?? {
307
- id: 'no-session',
308
- site_id: siteLink.orbit_site_id,
309
- started_at: new Date().toISOString(),
310
- notes: [],
311
- status: 'completed',
312
- },
313
- title: title,
314
- priority: priority,
315
- type_tag: typeTag,
316
- git_commit_end: commitEnd ?? undefined,
317
- files_changed: filesChanged,
311
+ session: session ?? { id: 'no-session', site_id: siteLink.orbit_site_id, started_at: new Date().toISOString(), notes: [], status: 'completed' },
312
+ title: title, priority: priority, type_tag: typeTag,
313
+ git_commit_end: commitEnd ?? undefined, files_changed: filesChanged,
318
314
  });
319
315
  payload.site_id = siteLink.orbit_site_id;
320
- const spinner = ora({ text: 'Invio report a Orbit...', color: 'cyan' }).start();
316
+ const spinner = ora({ text: 'Invio report a Orbit...', color: 'blue', indent: 2 }).start();
321
317
  const client = new OrbitClient(tokenEntry.token, config.api_url);
322
318
  try {
323
319
  const result = await client.createIntervention(payload);
324
- spinner.succeed(`Report inviato ${chalk.dim(`(${String(result.id).slice(0, 8)})`)}`);
320
+ spinner.succeed(`${GREEN.bold('Report inviato')} ${DIM(String(result.id).slice(0, 8))}`);
325
321
  }
326
322
  catch (err) {
327
- const msg = err instanceof Error ? err.message : String(err);
328
- spinner.fail(`Invio fallito: ${msg}`);
323
+ spinner.fail(`Invio fallito: ${err instanceof Error ? err.message : String(err)}`);
329
324
  }
330
- console.log('');
331
325
  }
332
326
  async function handleIntervention(config) {
327
+ console.log(` ${sparkle} ${BB('Interventi')}`);
328
+ console.log('');
333
329
  const defaultSite = config.default_site;
334
330
  const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
335
331
  if (!tokenEntry) {
336
- p.log.warn('Token non configurato');
332
+ console.log(` ${chalk.red('✗')} ${DIM('Token non configurato')}`);
337
333
  return;
338
334
  }
339
335
  const action = await p.select({
340
- message: TEAL('Interventi'),
336
+ message: BB('Azione'),
341
337
  options: [
342
- { value: 'list', label: 'Lista interventi', hint: 'ultimi 10' },
343
- { value: 'detail', label: 'Dettaglio intervento', hint: 'cerca per ID' },
344
- { value: 'back', label: chalk.dim('Indietro') },
338
+ { value: 'list', label: WHITE('Lista interventi'), hint: 'ultimi 10' },
339
+ { value: 'detail', label: WHITE('Dettaglio'), hint: 'cerca per ID' },
340
+ { value: 'back', label: DIM('Indietro') },
345
341
  ],
346
342
  });
347
343
  if (p.isCancel(action) || action === 'back')
@@ -349,7 +345,7 @@ async function handleIntervention(config) {
349
345
  const client = new OrbitClient(tokenEntry.token, config.api_url);
350
346
  const siteLink = await loadSiteLink(process.cwd());
351
347
  if (action === 'list') {
352
- const spinner = ora({ text: 'Caricamento...', color: 'cyan' }).start();
348
+ const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
353
349
  try {
354
350
  const filters = { limit: 10, sort: '-created_at' };
355
351
  if (siteLink)
@@ -357,160 +353,158 @@ async function handleIntervention(config) {
357
353
  const result = await client.listInterventions(filters);
358
354
  spinner.stop();
359
355
  if (result.items.length === 0) {
360
- p.log.info('Nessun intervento trovato');
356
+ console.log(` ${DIM('Nessun intervento trovato')}`);
361
357
  }
362
358
  else {
363
359
  console.log('');
364
360
  for (const item of result.items) {
365
- const id = chalk.dim(String(item.id ?? '').slice(0, 8));
366
- const titleStr = String(item.title ?? '').slice(0, 45);
367
- const status = item.status;
368
- const statusIcon = status === 'completed' ? chalk.green('●') : status === 'in_progress' ? chalk.yellow('●') : status === 'verified' ? TEAL('●') : chalk.blue('●');
369
- const date = chalk.dim(String(item.created_at ?? '').slice(0, 10));
370
- const originStr = item.origin === 'cli' ? TEAL('CLI') : chalk.dim(String(item.origin));
371
- console.log(` ${statusIcon} ${id} ${titleStr.padEnd(45)} ${originStr.padEnd(12)} ${date}`);
361
+ const id = DIM(String(item.id ?? '').slice(0, 8));
362
+ const t = WHITE(String(item.title ?? '').slice(0, 35).padEnd(35));
363
+ const s = item.status;
364
+ const sIcon = s === 'completed' ? GREEN('●') : s === 'in_progress' ? YELLOW('●') : s === 'verified' ? B('●') : chalk.blue('●');
365
+ const sLabel = s === 'completed' ? GREEN('completato') : s === 'in_progress' ? YELLOW('in corso') : s === 'verified' ? B('verificato') : BL('pianificato');
366
+ const date = DIM(String(item.created_at ?? '').slice(5, 10));
367
+ const origin = item.origin === 'cli' ? B('CLI') : DIM(String(item.origin));
368
+ console.log(` ${sIcon} ${id} ${t} ${sLabel.padEnd(22)} ${origin.padEnd(10)} ${date}`);
372
369
  }
373
370
  console.log('');
374
- p.log.info(chalk.dim(`${result.total} interventi totali`));
371
+ console.log(` ${DIM(`${result.total} interventi`)}`);
375
372
  }
376
373
  }
377
374
  catch (err) {
378
- const msg = err instanceof Error ? err.message : String(err);
379
- spinner.fail(msg);
375
+ spinner.fail(err instanceof Error ? err.message : String(err));
380
376
  }
381
377
  }
382
378
  if (action === 'detail') {
383
- const id = await p.text({
384
- message: 'ID intervento (UUID)',
385
- placeholder: 'abc12345-...',
386
- validate: (v) => !v || v.length < 4 ? 'ID troppo corto' : undefined,
387
- });
379
+ const id = await p.text({ message: 'ID intervento', placeholder: 'uuid...', validate: (v) => !v || v.length < 4 ? 'ID troppo corto' : undefined });
388
380
  if (p.isCancel(id))
389
381
  return;
390
- const spinner = ora({ text: 'Caricamento...', color: 'cyan' }).start();
382
+ const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
391
383
  try {
392
384
  const item = await client.getIntervention(id);
393
385
  spinner.stop();
394
386
  console.log('');
395
- console.log(boxen([
396
- `${chalk.bold(String(item.title))}`,
397
- '',
398
- `${chalk.dim('Stato')} ${item.status}`,
399
- `${chalk.dim('Priorita')} ${item.priority}`,
400
- `${chalk.dim('Origin')} ${item.origin}`,
401
- `${chalk.dim('Tipo')} ${item.type_tag ?? '-'}`,
402
- `${chalk.dim('Creato')} ${item.created_at}`,
403
- item.description ? `\n${chalk.dim(String(item.description).slice(0, 200))}` : '',
404
- ].filter(Boolean).join('\n'), {
405
- padding: 1,
406
- margin: { top: 0, bottom: 0, left: 2, right: 0 },
407
- borderStyle: 'round',
408
- borderColor: '#0D9488',
409
- dimBorder: true,
410
- }));
387
+ console.log(` ${sparkle} ${BB(String(item.title))}`);
388
+ console.log('');
389
+ console.log(` ${DIM('ID')} ${BL(String(item.id))}`);
390
+ console.log(` ${DIM('Stato')} ${WHITE(String(item.status))}`);
391
+ console.log(` ${DIM('Priorita')} ${WHITE(String(item.priority))}`);
392
+ console.log(` ${DIM('Origin')} ${item.origin === 'cli' ? B('CLI') : DIM(String(item.origin))}`);
393
+ if (item.type_tag)
394
+ console.log(` ${DIM('Tipo')} ${BL(String(item.type_tag))}`);
395
+ console.log(` ${DIM('Creato')} ${DIM(String(item.created_at))}`);
396
+ if (item.description) {
397
+ console.log('');
398
+ console.log(` ${DIM(String(item.description).slice(0, 200))}`);
399
+ }
411
400
  }
412
401
  catch (err) {
413
- const msg = err instanceof Error ? err.message : String(err);
414
- spinner.fail(msg);
402
+ spinner.fail(err instanceof Error ? err.message : String(err));
415
403
  }
416
404
  }
417
- console.log('');
418
405
  }
419
406
  async function handleDoctor(config) {
407
+ console.log(` ${sparkle} ${BB('Diagnostica')}`);
408
+ console.log('');
420
409
  const checks = [
421
- { label: 'Token', check: async () => !!config.default_site && !!config.tokens[config.default_site] },
422
- { label: 'API', check: async () => {
410
+ {
411
+ label: 'Token',
412
+ detail: async () => {
413
+ const t = config.default_site ? config.tokens[config.default_site] : undefined;
414
+ return { ok: !!t, info: t ? DIM(t.token.slice(0, 15) + '...') : DIM('non configurato') };
415
+ },
416
+ },
417
+ {
418
+ label: 'API',
419
+ detail: async () => {
423
420
  const t = config.default_site ? config.tokens[config.default_site] : undefined;
424
421
  if (!t)
425
- return false;
422
+ return { ok: false, info: DIM('nessun token') };
426
423
  const c = new OrbitClient(t.token, config.api_url);
427
- return (await c.validateToken()).valid;
428
- } },
429
- { label: 'Sito (.orbit.json)', check: async () => !!(await loadSiteLink(process.cwd())) },
430
- { label: 'Git', check: async () => !!(await getGitBranch()) },
424
+ const start = Date.now();
425
+ const v = await c.validateToken();
426
+ const ms = Date.now() - start;
427
+ return { ok: v.valid, info: v.valid ? `${GREEN('raggiungibile')} ${DIM(`(${ms}ms)`)}` : DIM(v.error ?? 'errore') };
428
+ },
429
+ },
430
+ {
431
+ label: 'Sito',
432
+ detail: async () => {
433
+ const s = await loadSiteLink(process.cwd());
434
+ return { ok: !!s, info: s ? `${BL('.orbit.json')} ${DIM('presente')}` : DIM('non collegato') };
435
+ },
436
+ },
437
+ {
438
+ label: 'Git',
439
+ detail: async () => {
440
+ const b = await getGitBranch();
441
+ return { ok: !!b, info: b ? BL(b) : DIM('nessun repository') };
442
+ },
443
+ },
431
444
  ];
432
- console.log('');
433
- for (const { label, check } of checks) {
434
- const spinner = ora({ text: label, color: 'cyan', indent: 2 }).start();
435
- try {
436
- const ok = await check();
437
- if (ok) {
438
- spinner.succeed(label);
439
- }
440
- else {
441
- spinner.warn(`${label} ${chalk.dim('— non configurato')}`);
442
- }
443
- }
444
- catch {
445
- spinner.fail(label);
446
- }
445
+ for (const { label, detail } of checks) {
446
+ const result = await detail();
447
+ const icon = result.ok ? GREEN('') : YELLOW('!');
448
+ console.log(` ${icon} ${WHITE(label.padEnd(14))} ${result.info}`);
447
449
  }
450
+ const allOk = (await Promise.all(checks.map(c => c.detail()))).every(r => r.ok);
448
451
  console.log('');
452
+ if (allOk) {
453
+ console.log(` ${GREEN.bold('✓ Tutto ok')} ${DIM('— pronto per lavorare')}`);
454
+ }
455
+ else {
456
+ console.log(` ${YELLOW('! Attenzione')} ${DIM('— segui i suggerimenti sopra')}`);
457
+ }
449
458
  }
450
459
  async function handleConfig() {
460
+ console.log(` ${sparkle} ${BB('Configurazione')}`);
461
+ console.log('');
451
462
  const action = await p.select({
452
- message: TEAL('Configurazione'),
463
+ message: BB('Azione'),
453
464
  options: [
454
- { value: 'login', label: 'Login', hint: 'configura token' },
455
- { value: 'link', label: 'Link sito', hint: 'collega directory a sito Orbit' },
456
- { value: 'logout', label: 'Logout', hint: 'rimuovi token' },
457
- { value: 'unlink', label: 'Unlink sito', hint: 'rimuovi collegamento' },
458
- { value: 'back', label: chalk.dim('Indietro') },
465
+ { value: 'login', label: WHITE('Login'), hint: 'configura token' },
466
+ { value: 'link', label: WHITE('Link sito'), hint: 'collega directory' },
467
+ { value: 'logout', label: WHITE('Logout'), hint: 'rimuovi token' },
468
+ { value: 'unlink', label: WHITE('Unlink'), hint: 'rimuovi collegamento' },
469
+ { value: 'back', label: DIM('Indietro') },
459
470
  ],
460
471
  });
461
472
  if (p.isCancel(action) || action === 'back')
462
473
  return;
463
474
  if (action === 'login') {
464
- const token = await p.text({
465
- message: 'Token MCP',
466
- placeholder: 'orbit_mcp_xxx...',
467
- validate: (v) => !v || !v.startsWith('orbit_mcp_') ? 'Deve iniziare con orbit_mcp_' : undefined,
468
- });
475
+ const token = await p.text({ message: 'Token MCP', placeholder: 'orbit_mcp_xxx...', validate: (v) => !v || !v.startsWith('orbit_mcp_') ? 'Deve iniziare con orbit_mcp_' : undefined });
469
476
  if (p.isCancel(token))
470
477
  return;
471
- const spinner = ora({ text: 'Validazione...', color: 'cyan' }).start();
478
+ const spinner = ora({ text: 'Validazione...', color: 'blue', indent: 2 }).start();
472
479
  const client = new OrbitClient(token, 'https://api.orbit.principi.it');
473
480
  const validation = await client.validateToken();
474
481
  if (validation.valid) {
475
482
  const { setToken } = await import('./config.js');
476
- await setToken('default', {
477
- token: token,
478
- label: 'default',
479
- site_id: 'default',
480
- created_at: new Date().toISOString(),
481
- });
482
- spinner.succeed('Autenticazione riuscita');
483
+ await setToken('default', { token: token, label: 'default', site_id: 'default', created_at: new Date().toISOString() });
484
+ spinner.succeed(`${GREEN.bold('Autenticazione riuscita')}`);
483
485
  }
484
486
  else {
485
487
  spinner.fail(`Token non valido: ${validation.error}`);
486
488
  }
487
489
  }
488
490
  if (action === 'link') {
489
- const siteId = await p.text({
490
- message: 'Site ID (UUID)',
491
- placeholder: 'uuid-del-sito-su-orbit',
492
- validate: (v) => !v || v.length < 4 ? 'ID troppo corto' : undefined,
493
- });
491
+ const siteId = await p.text({ message: 'Site ID (UUID)', placeholder: 'uuid-del-sito', validate: (v) => !v || v.length < 4 ? 'ID troppo corto' : undefined });
494
492
  if (p.isCancel(siteId))
495
493
  return;
496
494
  const { saveSiteLink, detectPlatform } = await import('./site.js');
497
495
  const platform = await detectPlatform(process.cwd());
498
- await saveSiteLink(process.cwd(), {
499
- orbit_site_id: siteId,
500
- platform,
501
- });
502
- p.log.success(`Sito collegato ${chalk.dim(`(${platform})`)}`);
496
+ await saveSiteLink(process.cwd(), { orbit_site_id: siteId, platform });
497
+ console.log(` ${GREEN('✓')} ${GREEN.bold('Sito collegato')} ${DIM(`(${platform})`)}`);
503
498
  }
504
499
  if (action === 'logout') {
505
500
  const { removeToken } = await import('./config.js');
506
501
  await removeToken('default');
507
- p.log.success('Token rimosso');
502
+ console.log(` ${GREEN('✓')} ${DIM('Token rimosso')}`);
508
503
  }
509
504
  if (action === 'unlink') {
510
505
  const { removeSiteLink } = await import('./site.js');
511
506
  await removeSiteLink(process.cwd());
512
- p.log.success('Collegamento rimosso');
507
+ console.log(` ${GREEN('✓')} ${DIM('Collegamento rimosso')}`);
513
508
  }
514
- console.log('');
515
509
  }
516
510
  //# sourceMappingURL=shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/lib/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/lib/shell.ts"],"names":[],"mappings":"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"}
@@ -749,5 +749,5 @@
749
749
  ]
750
750
  }
751
751
  },
752
- "version": "0.2.0"
752
+ "version": "0.2.1"
753
753
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbitpanel/cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Orbit CLI — strumento locale per sviluppatori OrbitPanel",
5
5
  "type": "module",
6
6
  "bin": {
@@ -37,7 +37,9 @@
37
37
  "@oclif/core": "^4.0.0",
38
38
  "@oclif/plugin-help": "^6.0.0",
39
39
  "boxen": "^8.0.1",
40
+ "cfonts": "^3.3.1",
40
41
  "chalk": "^5.4.0",
42
+ "chalk-animation": "^2.0.3",
41
43
  "gradient-string": "^3.0.0",
42
44
  "ora": "^9.3.0",
43
45
  "terminal-link": "^5.0.0"
@@ -75,6 +77,7 @@
75
77
  }
76
78
  },
77
79
  "hooks": {
80
+ "init": "./dist/hooks/init",
78
81
  "prerun": "./dist/hooks/prerun"
79
82
  },
80
83
  "plugins": [