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 +177 -181
- package/dist/cli.js.bak +2052 -0
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
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
|
-
|
|
1852
|
-
console.log('
|
|
1852
|
+
else {
|
|
1853
|
+
console.log('ā
Using pre-built MCP servers from npm package');
|
|
1853
1854
|
}
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
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
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
{
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
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
|
-
|
|
1927
|
-
|
|
1925
|
+
}
|
|
1926
|
+
catch (error) {
|
|
1927
|
+
console.log(` ā ļø Failed to register ${server.name} with Claude Code`);
|
|
1928
|
+
}
|
|
1928
1929
|
}
|
|
1929
|
-
|
|
1930
|
-
console.log(
|
|
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
|
-
|
|
1934
|
-
console.log(
|
|
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
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
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
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
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
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
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) {
|