f2g-telco 0.1.3 → 0.1.4

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.
@@ -1,20 +1,66 @@
1
1
  import chalk from 'chalk';
2
- import { loadConfig } from '../utils/config.js';
2
+ import fs from 'fs-extra';
3
+ import path from 'path';
4
+ import os from 'os';
5
+ import { loadConfig, getToolPaths } from '../utils/config.js';
3
6
  import { log } from '../utils/logger.js';
4
7
  export async function statusCommand() {
5
8
  const config = await loadConfig();
6
9
  if (!config) {
7
- log.error('No F2G-Telco config found. Run: f2g-telco init');
10
+ log.error('No F2G-Telco config found. Run: npx f2g-telco init');
8
11
  return;
9
12
  }
13
+ const home = os.homedir();
14
+ const paths = getToolPaths(config.tool);
15
+ // MCP config check
16
+ let mcpCount = 0;
17
+ try {
18
+ if (config.tool === 'crush') {
19
+ const crush = await fs.readJson(paths.mcpConfig);
20
+ mcpCount = Object.keys(crush.mcp || {}).length;
21
+ }
22
+ else {
23
+ const kiro = await fs.readJson(paths.mcpConfig);
24
+ mcpCount = Object.keys(kiro.mcpServers || {}).length;
25
+ }
26
+ }
27
+ catch { /* config unreadable */ }
28
+ // Skills count
29
+ let skillCount = 0;
30
+ try {
31
+ const entries = await fs.readdir(paths.skills);
32
+ skillCount = entries.length;
33
+ }
34
+ catch { /* dir missing */ }
35
+ // Inventory check
36
+ const invExists = await fs.pathExists(config.paths.inventory);
37
+ let invLines = 0;
38
+ if (invExists) {
39
+ const content = await fs.readFile(config.paths.inventory, 'utf-8');
40
+ invLines = content.split('\n').length;
41
+ }
42
+ // Providers from config
43
+ const providers = config.provider ? config.provider.split(',').map(p => p.trim()) : ['unknown'];
10
44
  console.log(`
11
- ${chalk.bold('F2G-Telco')} v${config.version}
45
+ ${chalk.bold.blue('F2G-Telco')} v${config.version}
46
+ ${'─'.repeat(40)}
47
+
48
+ ${chalk.bold('Tool')} ${chalk.cyan(config.tool)}
49
+ ${chalk.bold('Providers')} ${providers.map(p => chalk.cyan(p)).join(', ')}
50
+ ${chalk.bold('MCPs')} ${chalk.green(String(config.installedMcps.length))} configured (${mcpCount} in ${config.tool} config)
51
+ ${chalk.bold('Skills')} ${chalk.green(String(skillCount))} in ${paths.skills}
52
+ ${chalk.bold('Inventory')} ${invExists ? chalk.green(`${invLines} lines`) : chalk.red('missing')}
53
+
54
+ ${chalk.bold('Configured MCPs:')}
55
+ ${config.installedMcps.map(m => ' ' + chalk.dim('• ') + m).join('\n ')}
12
56
 
13
- Tool: ${chalk.cyan(config.tool)}
14
- Provider: ${chalk.cyan(config.provider)}
15
- MCPs: ${chalk.green(String(config.installedMcps.length))} installed
16
- Config: ${chalk.dim(config.paths.config)}
17
- Inventory: ${chalk.dim(config.paths.inventory)}
57
+ ${chalk.bold('Paths:')}
58
+ ${chalk.dim(' Config: ')} ${config.paths.config}
59
+ ${chalk.dim(' Skills: ')} ${paths.skills}
60
+ ${chalk.dim(' Agents: ')} ${paths.agents}
61
+ ${chalk.dim(' MCP file: ')} ${paths.mcpConfig}
62
+ ${chalk.dim(' Inventory: ')} ${config.paths.inventory}
63
+ ${chalk.dim(' Log: ')} ${path.join(home, '.f2g-telco', 'f2g-telco.log')}
18
64
  `);
19
65
  }
20
66
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC;IACV,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,OAAO;;eAE/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;eACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;eAC3B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;eAChD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;eAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;GAC7C,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,94 @@
1
+ import chalk from 'chalk';
1
2
  import { execSync } from 'child_process';
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import os from 'os';
2
6
  import ora from 'ora';
7
+ import { loadConfig, getToolPaths } from '../utils/config.js';
3
8
  import { log } from '../utils/logger.js';
4
- import { loadConfig } from '../utils/config.js';
5
9
  export async function updateCommand() {
6
10
  log.header('F2G-Telco Update');
7
11
  const config = await loadConfig();
8
12
  if (!config) {
9
- log.error('No F2G-Telco config found. Run: f2g-telco init');
13
+ log.error('No F2G-Telco config found. Run: npx f2g-telco init');
10
14
  return;
11
15
  }
12
- // Update the CLI itself
13
- const spinner = ora('Updating f2g-telco...').start();
16
+ const home = os.homedir();
17
+ let updated = 0;
18
+ // 1. Check for CLI updates via npm
19
+ const s1 = ora('Checking for f2g-telco updates...').start();
14
20
  try {
15
- execSync('npm update -g f2g-telco', { stdio: 'pipe', timeout: 60_000 });
16
- spinner.succeed('f2g-telco updated');
21
+ const latest = execSync('npm view f2g-telco version 2>/dev/null', {
22
+ encoding: 'utf-8', timeout: 15_000,
23
+ }).trim();
24
+ if (latest && latest !== config.version) {
25
+ s1.succeed(`New version available: ${chalk.green(latest)} (current: ${config.version})`);
26
+ console.log(chalk.dim(` Run: npx f2g-telco@${latest} init to upgrade`));
27
+ }
28
+ else {
29
+ s1.succeed(`f2g-telco is up to date (v${config.version})`);
30
+ }
17
31
  }
18
32
  catch {
19
- spinner.info('f2g-telco is up to date (or not installed globally)');
33
+ s1.info('Could not check npm registry (offline?)');
20
34
  }
21
- // Update skill repos
22
- const spinner2 = ora('Updating skill repositories...').start();
23
- try {
24
- const agentsDir = `${process.env.HOME}/.agents`;
25
- const dirs = ['awesome-copilot', 'agency-agents'];
26
- for (const dir of dirs) {
27
- try {
28
- execSync(`git -C ${agentsDir}/${dir} pull --ff-only 2>/dev/null`, {
29
- stdio: 'pipe', timeout: 30_000,
30
- });
35
+ // 2. Update skill repositories
36
+ const skillDirs = ['awesome-copilot', 'agency-agents', 'claude-best-practices'];
37
+ const agentsDir = path.join(home, '.agents');
38
+ for (const dir of skillDirs) {
39
+ const repoPath = path.join(agentsDir, dir);
40
+ if (!await fs.pathExists(path.join(repoPath, '.git')))
41
+ continue;
42
+ const s = ora(`Updating ${dir}...`).start();
43
+ try {
44
+ const result = execSync(`git -C "${repoPath}" pull --ff-only 2>&1`, {
45
+ encoding: 'utf-8', timeout: 30_000,
46
+ });
47
+ if (result.includes('Already up to date')) {
48
+ s.succeed(`${dir} — already up to date`);
49
+ }
50
+ else {
51
+ s.succeed(`${dir} — ${chalk.green('updated')}`);
52
+ updated++;
31
53
  }
32
- catch { /* skip if not cloned */ }
33
54
  }
34
- spinner2.succeed('Skill repositories updated');
55
+ catch {
56
+ s.warn(`${dir} — could not update (check manually)`);
57
+ }
58
+ }
59
+ // 3. Refresh MCP config from registry
60
+ const s3 = ora('Refreshing MCP configuration...').start();
61
+ try {
62
+ const registryPath = path.resolve(path.dirname(new URL(import.meta.url).pathname), '..', '..', 'registry', 'mcps.json');
63
+ // For npx usage, registry is bundled — just confirm config is intact
64
+ const paths = getToolPaths(config.tool);
65
+ if (await fs.pathExists(paths.mcpConfig)) {
66
+ s3.succeed('MCP configuration intact');
67
+ }
68
+ else {
69
+ s3.warn('MCP config file missing — run: npx f2g-telco init');
70
+ }
35
71
  }
36
72
  catch {
37
- spinner2.warn('Some repositories could not be updated');
73
+ s3.info('MCP config check skipped');
74
+ }
75
+ // 4. Verify INVENTORY.md
76
+ const s4 = ora('Checking INVENTORY.md...').start();
77
+ if (await fs.pathExists(config.paths.inventory)) {
78
+ s4.succeed('INVENTORY.md present');
79
+ }
80
+ else {
81
+ s4.warn('INVENTORY.md missing — run: npx f2g-telco init');
82
+ }
83
+ // Summary
84
+ console.log('');
85
+ if (updated > 0) {
86
+ log.success(`Update complete — ${updated} skill source(s) updated.`);
87
+ }
88
+ else {
89
+ log.success('Everything is up to date.');
38
90
  }
39
- log.success('Update complete. Run: f2g-telco doctor');
91
+ console.log(chalk.dim(' Run: npx f2g-telco doctor to verify health'));
92
+ console.log('');
40
93
  }
41
94
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,IAAI,CAAC;QACH,QAAQ,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACtE,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC;QAChD,MAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,CAAC,UAAU,SAAS,IAAI,GAAG,6BAA6B,EAAE;oBAChE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACtC,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC1D,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "f2g-telco",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "CLI tool to supercharge AI coding environments — installs MCPs, skills, agents, and memory pipelines",
5
5
  "type": "module",
6
6
  "bin": {