snow-flow 1.1.0 → 1.1.2

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.
package/dist/cli.js CHANGED
@@ -1826,11 +1826,12 @@ program
1826
1826
  // Phase 6: Build project and start MCP servers
1827
1827
  console.log('šŸ”§ Setting up MCP servers...');
1828
1828
  // Check if we're running from npm global install or local dev
1829
- const isGlobalInstall = __dirname.includes('node_modules') || !(0, fs_2.existsSync)((0, path_1.join)(targetDir, 'src'));
1830
- if (!isGlobalInstall) {
1831
- // Only build if we're in development mode with source files
1832
- console.log('šŸ—ļø Building project (compiling TypeScript)...');
1833
- try {
1829
+ let isGlobalInstall = false;
1830
+ try {
1831
+ isGlobalInstall = __dirname.includes('node_modules') || !(0, fs_2.existsSync)((0, path_1.join)(targetDir, 'src'));
1832
+ if (!isGlobalInstall) {
1833
+ // Only build if we're in development mode with source files
1834
+ console.log('šŸ—ļø Building project (compiling TypeScript)...');
1834
1835
  const { spawn } = require('child_process');
1835
1836
  const buildProcess = spawn('npm', ['run', 'build'], {
1836
1837
  cwd: targetDir,
@@ -1848,94 +1849,105 @@ program
1848
1849
  });
1849
1850
  console.log('āœ… Project built successfully');
1850
1851
  }
1851
- catch (error) {
1852
- console.log('āš ļø Build failed - continuing with setup...');
1852
+ else {
1853
+ console.log('āœ… Using pre-built MCP servers from npm package');
1853
1854
  }
1854
- }
1855
- else {
1856
- console.log('āœ… Using pre-built MCP servers from npm package');
1857
- }
1858
- // Run MCP setup script to generate .mcp.json
1859
- console.log('šŸ”§ Generating MCP configuration...');
1860
- const setupProcess = (0, child_process_1.spawn)('npm', ['run', 'setup-mcp'], {
1861
- cwd: targetDir,
1862
- stdio: 'pipe'
1863
- });
1864
- await new Promise((resolve, reject) => {
1865
- setupProcess.on('close', (code) => {
1866
- if (code === 0) {
1867
- resolve(undefined);
1868
- }
1869
- else {
1870
- reject(new Error(`MCP setup failed with code ${code}`));
1871
- }
1855
+ // Run MCP setup script to generate .mcp.json
1856
+ console.log('šŸ”§ Generating MCP configuration...');
1857
+ const setupProcess = (0, child_process_1.spawn)('npm', ['run', 'setup-mcp'], {
1858
+ cwd: targetDir,
1859
+ stdio: 'pipe'
1872
1860
  });
1873
- });
1874
- console.log('āœ… MCP configuration generated with absolute paths');
1875
- // Now initialize and start MCP servers
1876
- const { MCPServerManager } = await Promise.resolve().then(() => __importStar(require('./utils/mcp-server-manager.js')));
1877
- const manager = new MCPServerManager();
1878
- await manager.initialize();
1879
- console.log('āœ… MCP server manager initialized');
1880
- console.log('šŸ“” Starting MCP servers...');
1881
- await manager.startAllServers();
1882
- const status = manager.getServerStatus();
1883
- const running = status.filter(s => s.status === 'running').length;
1884
- const total = status.length;
1885
- if (running > 0) {
1886
- console.log(`āœ… Started ${running}/${total} MCP servers`);
1887
- console.log('šŸŽ‰ MCP servers are now running and available in Claude Code!');
1888
- }
1889
- else {
1890
- console.log('āš ļø MCP servers configured but failed to start');
1891
- }
1892
- // Phase 7: Register MCP servers with Claude Code
1893
- console.log('šŸ“” Registering MCP servers with Claude Code...');
1894
- try {
1895
- const { spawn } = require('child_process');
1896
- const mcpServers = [
1897
- { name: 'servicenow-deployment', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-deployment-mcp.js') },
1898
- { name: 'servicenow-flow-composer', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-flow-composer-mcp.js') },
1899
- { name: 'servicenow-update-set', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-update-set-mcp.js') },
1900
- { name: 'servicenow-intelligent', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-intelligent-mcp.js') },
1901
- { name: 'servicenow-graph-memory', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-graph-memory-mcp.js') },
1902
- { name: 'servicenow-operations', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-operations-mcp.js') },
1903
- { name: 'servicenow-platform-development', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-platform-development-mcp.js') },
1904
- { name: 'servicenow-integration', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-integration-mcp.js') },
1905
- { name: 'servicenow-automation', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-automation-mcp.js') },
1906
- { name: 'servicenow-security-compliance', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-security-compliance-mcp.js') },
1907
- { name: 'servicenow-reporting-analytics', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-reporting-analytics-mcp.js') }
1908
- ];
1909
- let registeredCount = 0;
1910
- for (const server of mcpServers) {
1911
- try {
1912
- await new Promise((resolve, reject) => {
1913
- const registerProcess = spawn('claude', ['mcp', 'add', server.name, server.path], {
1914
- cwd: targetDir,
1915
- stdio: 'pipe'
1916
- });
1917
- registerProcess.on('close', (code) => {
1918
- if (code === 0) {
1919
- registeredCount++;
1920
- resolve(undefined);
1921
- }
1922
- else {
1923
- reject(new Error(`Failed to register ${server.name}`));
1924
- }
1861
+ await new Promise((resolve, reject) => {
1862
+ setupProcess.on('close', (code) => {
1863
+ if (code === 0) {
1864
+ resolve(undefined);
1865
+ }
1866
+ else {
1867
+ reject(new Error(`MCP setup failed with code ${code}`));
1868
+ }
1869
+ });
1870
+ });
1871
+ console.log('āœ… MCP configuration generated with absolute paths');
1872
+ // Now initialize and start MCP servers
1873
+ const { MCPServerManager } = await Promise.resolve().then(() => __importStar(require('./utils/mcp-server-manager.js')));
1874
+ const manager = new MCPServerManager();
1875
+ await manager.initialize();
1876
+ console.log('āœ… MCP server manager initialized');
1877
+ console.log('šŸ“” Starting MCP servers...');
1878
+ await manager.startAllServers();
1879
+ const status = manager.getServerStatus();
1880
+ const running = status.filter(s => s.status === 'running').length;
1881
+ const total = status.length;
1882
+ if (running > 0) {
1883
+ console.log(`āœ… Started ${running}/${total} MCP servers`);
1884
+ console.log('šŸŽ‰ MCP servers are now running and available in Claude Code!');
1885
+ }
1886
+ else {
1887
+ console.log('āš ļø MCP servers configured but failed to start');
1888
+ }
1889
+ // Phase 7: Register MCP servers with Claude Code
1890
+ console.log('šŸ“” Registering MCP servers with Claude Code...');
1891
+ try {
1892
+ const { spawn } = require('child_process');
1893
+ const mcpServers = [
1894
+ { name: 'servicenow-deployment', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-deployment-mcp.js') },
1895
+ { name: 'servicenow-flow-composer', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-flow-composer-mcp.js') },
1896
+ { name: 'servicenow-update-set', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-update-set-mcp.js') },
1897
+ { name: 'servicenow-intelligent', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-intelligent-mcp.js') },
1898
+ { name: 'servicenow-graph-memory', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-graph-memory-mcp.js') },
1899
+ { name: 'servicenow-operations', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-operations-mcp.js') },
1900
+ { name: 'servicenow-platform-development', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-platform-development-mcp.js') },
1901
+ { name: 'servicenow-integration', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-integration-mcp.js') },
1902
+ { name: 'servicenow-automation', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-automation-mcp.js') },
1903
+ { name: 'servicenow-security-compliance', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-security-compliance-mcp.js') },
1904
+ { name: 'servicenow-reporting-analytics', path: (0, path_1.join)(targetDir, 'dist/mcp/servicenow-reporting-analytics-mcp.js') }
1905
+ ];
1906
+ let registeredCount = 0;
1907
+ for (const server of mcpServers) {
1908
+ try {
1909
+ await new Promise((resolve, reject) => {
1910
+ const registerProcess = spawn('claude', ['mcp', 'add', server.name, server.path], {
1911
+ cwd: targetDir,
1912
+ stdio: 'pipe'
1913
+ });
1914
+ registerProcess.on('close', (code) => {
1915
+ if (code === 0) {
1916
+ registeredCount++;
1917
+ resolve(undefined);
1918
+ }
1919
+ else {
1920
+ reject(new Error(`Failed to register ${server.name}`));
1921
+ }
1922
+ });
1923
+ registerProcess.on('error', reject);
1925
1924
  });
1926
- registerProcess.on('error', reject);
1927
- });
1925
+ }
1926
+ catch (error) {
1927
+ console.log(` āš ļø Failed to register ${server.name} with Claude Code`);
1928
+ }
1928
1929
  }
1929
- catch (error) {
1930
- console.log(` āš ļø Failed to register ${server.name} with Claude Code`);
1930
+ if (registeredCount > 0) {
1931
+ console.log(`āœ… Registered ${registeredCount}/${mcpServers.length} MCP servers with Claude Code`);
1932
+ console.log('šŸŽ‰ MCP servers are now visible in Claude Code /mcp command!');
1933
+ }
1934
+ else {
1935
+ console.log('āš ļø MCP server registration failed - use manual registration:');
1936
+ console.log(` claude mcp add servicenow-deployment "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-deployment-mcp.js')}"`);
1937
+ console.log(` claude mcp add servicenow-flow-composer "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-flow-composer-mcp.js')}"`);
1938
+ console.log(` claude mcp add servicenow-update-set "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-update-set-mcp.js')}"`);
1939
+ console.log(` claude mcp add servicenow-intelligent "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-intelligent-mcp.js')}"`);
1940
+ console.log(` claude mcp add servicenow-graph-memory "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-graph-memory-mcp.js')}"`);
1941
+ console.log(` claude mcp add servicenow-operations "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-operations-mcp.js')}"`);
1942
+ console.log(` claude mcp add servicenow-platform-development "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-platform-development-mcp.js')}"`);
1943
+ console.log(` claude mcp add servicenow-integration "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-integration-mcp.js')}"`);
1944
+ console.log(` claude mcp add servicenow-automation "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-automation-mcp.js')}"`);
1945
+ console.log(` claude mcp add servicenow-security-compliance "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-security-compliance-mcp.js')}"`);
1946
+ console.log(` claude mcp add servicenow-reporting-analytics "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-reporting-analytics-mcp.js')}"`);
1931
1947
  }
1932
1948
  }
1933
- if (registeredCount > 0) {
1934
- console.log(`āœ… Registered ${registeredCount}/${mcpServers.length} MCP servers with Claude Code`);
1935
- console.log('šŸŽ‰ MCP servers are now visible in Claude Code /mcp command!');
1936
- }
1937
- else {
1938
- console.log('āš ļø MCP server registration failed - use manual registration:');
1949
+ catch (error) {
1950
+ console.log('āš ļø Claude Code MCP registration failed - manual registration required:');
1939
1951
  console.log(` claude mcp add servicenow-deployment "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-deployment-mcp.js')}"`);
1940
1952
  console.log(` claude mcp add servicenow-flow-composer "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-flow-composer-mcp.js')}"`);
1941
1953
  console.log(` claude mcp add servicenow-update-set "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-update-set-mcp.js')}"`);
@@ -1950,105 +1962,89 @@ program
1950
1962
  }
1951
1963
  }
1952
1964
  catch (error) {
1953
- console.log('āš ļø Claude Code MCP registration failed - manual registration required:');
1954
- console.log(` claude mcp add servicenow-deployment "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-deployment-mcp.js')}"`);
1955
- console.log(` claude mcp add servicenow-flow-composer "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-flow-composer-mcp.js')}"`);
1956
- console.log(` claude mcp add servicenow-update-set "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-update-set-mcp.js')}"`);
1957
- console.log(` claude mcp add servicenow-intelligent "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-intelligent-mcp.js')}"`);
1958
- console.log(` claude mcp add servicenow-graph-memory "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-graph-memory-mcp.js')}"`);
1959
- console.log(` claude mcp add servicenow-operations "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-operations-mcp.js')}"`);
1960
- console.log(` claude mcp add servicenow-platform-development "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-platform-development-mcp.js')}"`);
1961
- console.log(` claude mcp add servicenow-integration "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-integration-mcp.js')}"`);
1962
- console.log(` claude mcp add servicenow-automation "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-automation-mcp.js')}"`);
1963
- console.log(` claude mcp add servicenow-security-compliance "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-security-compliance-mcp.js')}"`);
1964
- console.log(` claude mcp add servicenow-reporting-analytics "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-reporting-analytics-mcp.js')}"`);
1965
- }
1966
- }
1967
- catch (error) {
1968
- if (!isGlobalInstall) {
1969
- // Only show build errors in development mode
1970
- console.log('āš ļø Build failed - MCP servers will need manual start:');
1971
- console.log(' 1. Run: npm run build');
1972
- console.log(' 2. Run: snow-flow mcp start');
1973
- console.log(' 3. Register with Claude Code:');
1974
- console.log(` claude mcp add servicenow-deployment "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-deployment-mcp.js')}"`);
1975
- console.log(` claude mcp add servicenow-flow-composer "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-flow-composer-mcp.js')}"`);
1976
- console.log(` claude mcp add servicenow-update-set "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-update-set-mcp.js')}"`);
1977
- console.log(` claude mcp add servicenow-intelligent "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-intelligent-mcp.js')}"`);
1978
- console.log(` claude mcp add servicenow-graph-memory "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-graph-memory-mcp.js')}"`);
1979
- console.log(` claude mcp add servicenow-operations "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-operations-mcp.js')}"`);
1980
- console.log(` claude mcp add servicenow-platform-development "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-platform-development-mcp.js')}"`);
1981
- console.log(` claude mcp add servicenow-integration "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-integration-mcp.js')}"`);
1982
- console.log(` claude mcp add servicenow-automation "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-automation-mcp.js')}"`);
1983
- console.log(` claude mcp add servicenow-security-compliance "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-security-compliance-mcp.js')}"`);
1984
- console.log(` claude mcp add servicenow-reporting-analytics "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-reporting-analytics-mcp.js')}"`);
1985
- console.log(` Error: ${error instanceof Error ? error.message : String(error)}`);
1965
+ if (!isGlobalInstall) {
1966
+ // Only show build errors in development mode
1967
+ console.log('āš ļø Build failed - MCP servers will need manual start:');
1968
+ console.log(' 1. Run: npm run build');
1969
+ console.log(' 2. Run: snow-flow mcp start');
1970
+ console.log(' 3. Register with Claude Code:');
1971
+ console.log(` claude mcp add servicenow-deployment "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-deployment-mcp.js')}"`);
1972
+ console.log(` claude mcp add servicenow-flow-composer "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-flow-composer-mcp.js')}"`);
1973
+ console.log(` claude mcp add servicenow-update-set "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-update-set-mcp.js')}"`);
1974
+ console.log(` claude mcp add servicenow-intelligent "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-intelligent-mcp.js')}"`);
1975
+ console.log(` claude mcp add servicenow-graph-memory "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-graph-memory-mcp.js')}"`);
1976
+ console.log(` claude mcp add servicenow-operations "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-operations-mcp.js')}"`);
1977
+ console.log(` claude mcp add servicenow-platform-development "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-platform-development-mcp.js')}"`);
1978
+ console.log(` claude mcp add servicenow-integration "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-integration-mcp.js')}"`);
1979
+ console.log(` claude mcp add servicenow-automation "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-automation-mcp.js')}"`);
1980
+ console.log(` claude mcp add servicenow-security-compliance "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-security-compliance-mcp.js')}"`);
1981
+ console.log(` claude mcp add servicenow-reporting-analytics "${(0, path_1.join)(targetDir, 'dist/mcp/servicenow-reporting-analytics-mcp.js')}"`);
1982
+ console.log(` Error: ${error instanceof Error ? error.message : String(error)}`);
1983
+ }
1984
+ else {
1985
+ // In global install mode, just show a simpler message
1986
+ console.log('āš ļø MCP setup encountered an issue:');
1987
+ console.log(` ${error instanceof Error ? error.message : String(error)}`);
1988
+ console.log(' The project has been initialized successfully.');
1989
+ console.log(' You may need to configure MCP servers manually.');
1990
+ }
1986
1991
  }
1987
- else {
1988
- // In global install mode, just show a simpler message
1989
- console.log('āš ļø MCP setup encountered an issue:');
1990
- console.log(` ${error instanceof Error ? error.message : String(error)}`);
1991
- console.log(' The project has been initialized successfully.');
1992
- console.log(' You may need to configure MCP servers manually.');
1992
+ // Success message
1993
+ console.log('\nšŸŽ‰ Snow-Flow project initialized successfully!');
1994
+ console.log('');
1995
+ console.log('šŸ“‹ Next steps:');
1996
+ console.log(' 1. Edit .env file with your ServiceNow OAuth credentials');
1997
+ console.log(' 2. Run: snow-flow auth login');
1998
+ console.log(' 3. Start your first swarm: snow-flow swarm "create a widget for incident management"');
1999
+ console.log('');
2000
+ console.log('āœ… Project is ready to use!');
2001
+ console.log('');
2002
+ console.log('šŸ”§ MCP Servers:');
2003
+ console.log(' - āœ… All 11 MCP servers have been built and configured');
2004
+ console.log(' - āœ… .mcp.json generated with absolute paths and credentials');
2005
+ console.log(' - āœ… Ready to use in Claude Code');
2006
+ console.log('');
2007
+ console.log('šŸ“” Available MCP Tools:');
2008
+ console.log(' - snow_deploy_widget - Deploy widgets directly');
2009
+ console.log(' - snow_create_complex_flow - Natural language flow creation');
2010
+ console.log(' - snow_update_set_create - Manage Update Sets');
2011
+ console.log(' - snow_find_artifact - Search with natural language');
2012
+ console.log(' - snow_graph_index_artifact - Neo4j graph memory');
2013
+ console.log(' - snow_create_ui_page - Platform development UI');
2014
+ console.log(' - snow_create_rest_message - Integration management');
2015
+ console.log(' - snow_create_scheduled_job - Process automation');
2016
+ console.log(' - snow_create_security_policy - Security & compliance');
2017
+ console.log(' - snow_create_report - Reporting & analytics');
2018
+ console.log('');
2019
+ console.log('šŸ”§ MCP Server Management:');
2020
+ console.log(' - Start servers: snow-flow mcp start');
2021
+ console.log(' - Check status: snow-flow mcp status');
2022
+ console.log(' - View logs: snow-flow mcp logs');
2023
+ console.log(' - Stop servers: snow-flow mcp stop');
2024
+ console.log('');
2025
+ console.log('šŸ“š Documentation:');
2026
+ console.log(' - Environment config: .env (configure OAuth credentials here)');
2027
+ console.log(' - MCP configuration: .mcp.json (auto-generated)');
2028
+ console.log(' - Project structure: README.md');
2029
+ console.log(' - Memory system: .swarm/memory.db');
2030
+ console.log(' - MCP servers: .snow-flow/mcp-servers.json');
2031
+ if (options.sparc) {
2032
+ console.log(' - SPARC modes: .claude/commands/sparc/');
2033
+ console.log(' - Full guide: CLAUDE.md');
1993
2034
  }
2035
+ console.log('');
2036
+ console.log('šŸ” OAuth Setup Guide:');
2037
+ console.log(' 1. Open .env file in your editor');
2038
+ console.log(' 2. Follow the setup instructions in the file');
2039
+ console.log(' 3. Replace placeholder values with your ServiceNow credentials');
2040
+ console.log('');
2041
+ console.log('šŸš€ Ready to build with Snow-Flow!');
1994
2042
  }
1995
- // Success message
1996
- console.log('\nšŸŽ‰ Snow-Flow project initialized successfully!');
1997
- console.log('');
1998
- console.log('šŸ“‹ Next steps:');
1999
- console.log(' 1. Edit .env file with your ServiceNow OAuth credentials');
2000
- console.log(' 2. Run: snow-flow auth login');
2001
- console.log(' 3. Start your first swarm: snow-flow swarm "create a widget for incident management"');
2002
- console.log('');
2003
- console.log('āœ… Project is ready to use!');
2004
- console.log('');
2005
- console.log('šŸ”§ MCP Servers:');
2006
- console.log(' - āœ… All 11 MCP servers have been built and configured');
2007
- console.log(' - āœ… .mcp.json generated with absolute paths and credentials');
2008
- console.log(' - āœ… Ready to use in Claude Code');
2009
- console.log('');
2010
- console.log('šŸ“” Available MCP Tools:');
2011
- console.log(' - snow_deploy_widget - Deploy widgets directly');
2012
- console.log(' - snow_create_complex_flow - Natural language flow creation');
2013
- console.log(' - snow_update_set_create - Manage Update Sets');
2014
- console.log(' - snow_find_artifact - Search with natural language');
2015
- console.log(' - snow_graph_index_artifact - Neo4j graph memory');
2016
- console.log(' - snow_create_ui_page - Platform development UI');
2017
- console.log(' - snow_create_rest_message - Integration management');
2018
- console.log(' - snow_create_scheduled_job - Process automation');
2019
- console.log(' - snow_create_security_policy - Security & compliance');
2020
- console.log(' - snow_create_report - Reporting & analytics');
2021
- console.log('');
2022
- console.log('šŸ”§ MCP Server Management:');
2023
- console.log(' - Start servers: snow-flow mcp start');
2024
- console.log(' - Check status: snow-flow mcp status');
2025
- console.log(' - View logs: snow-flow mcp logs');
2026
- console.log(' - Stop servers: snow-flow mcp stop');
2027
- console.log('');
2028
- console.log('šŸ“š Documentation:');
2029
- console.log(' - Environment config: .env (configure OAuth credentials here)');
2030
- console.log(' - MCP configuration: .mcp.json (auto-generated)');
2031
- console.log(' - Project structure: README.md');
2032
- console.log(' - Memory system: .swarm/memory.db');
2033
- console.log(' - MCP servers: .snow-flow/mcp-servers.json');
2034
- if (options.sparc) {
2035
- console.log(' - SPARC modes: .claude/commands/sparc/');
2036
- console.log(' - Full guide: CLAUDE.md');
2043
+ catch (error) {
2044
+ console.error('āŒ Initialization failed:', error instanceof Error ? error.message : String(error));
2045
+ process.exit(1);
2037
2046
  }
2038
- console.log('');
2039
- console.log('šŸ” OAuth Setup Guide:');
2040
- console.log(' 1. Open .env file in your editor');
2041
- console.log(' 2. Follow the setup instructions in the file');
2042
- console.log(' 3. Replace placeholder values with your ServiceNow credentials');
2043
- console.log('');
2044
- console.log('šŸš€ Ready to build with Snow-Flow!');
2045
2047
  });
2046
- try { }
2047
- catch (error) {
2048
- console.error('āŒ Initialization failed:', error instanceof Error ? error.message : String(error));
2049
- process.exit(1);
2050
- }
2051
- ;
2052
2048
  program.parse(process.argv);
2053
2049
  // Show help if no command provided
2054
2050
  if (!process.argv.slice(2).length) {