argustack 0.1.6 → 0.1.8

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.
Files changed (72) hide show
  1. package/README.md +58 -385
  2. package/dist/adapters/git/mapper.d.ts +1 -1
  3. package/dist/adapters/git/mapper.js +1 -1
  4. package/dist/adapters/github/mapper.d.ts +1 -1
  5. package/dist/adapters/github/mapper.js +1 -1
  6. package/dist/cli/init/generators.d.ts +6 -0
  7. package/dist/cli/init/generators.d.ts.map +1 -0
  8. package/dist/cli/init/generators.js +153 -0
  9. package/dist/cli/init/generators.js.map +1 -0
  10. package/dist/cli/init/index.d.ts +4 -0
  11. package/dist/cli/init/index.d.ts.map +1 -0
  12. package/dist/cli/init/index.js +254 -0
  13. package/dist/cli/init/index.js.map +1 -0
  14. package/dist/cli/init/setup-csv.d.ts +4 -0
  15. package/dist/cli/init/setup-csv.d.ts.map +1 -0
  16. package/dist/cli/init/setup-csv.js +52 -0
  17. package/dist/cli/init/setup-csv.js.map +1 -0
  18. package/dist/cli/init/setup-db.d.ts +4 -0
  19. package/dist/cli/init/setup-db.d.ts.map +1 -0
  20. package/dist/cli/init/setup-db.js +33 -0
  21. package/dist/cli/init/setup-db.js.map +1 -0
  22. package/dist/cli/init/setup-git.d.ts +4 -0
  23. package/dist/cli/init/setup-git.d.ts.map +1 -0
  24. package/dist/cli/init/setup-git.js +244 -0
  25. package/dist/cli/init/setup-git.js.map +1 -0
  26. package/dist/cli/init/setup-github.d.ts +4 -0
  27. package/dist/cli/init/setup-github.d.ts.map +1 -0
  28. package/dist/cli/init/setup-github.js +102 -0
  29. package/dist/cli/init/setup-github.js.map +1 -0
  30. package/dist/cli/init/setup-jira.d.ts +4 -0
  31. package/dist/cli/init/setup-jira.d.ts.map +1 -0
  32. package/dist/cli/init/setup-jira.js +124 -0
  33. package/dist/cli/init/setup-jira.js.map +1 -0
  34. package/dist/cli/init/types.d.ts +59 -0
  35. package/dist/cli/init/types.d.ts.map +1 -0
  36. package/dist/cli/init/types.js +31 -0
  37. package/dist/cli/init/types.js.map +1 -0
  38. package/dist/core/types/config.js +1 -1
  39. package/dist/core/types/config.js.map +1 -1
  40. package/dist/mcp/helpers.d.ts +24 -0
  41. package/dist/mcp/helpers.d.ts.map +1 -0
  42. package/dist/mcp/helpers.js +73 -0
  43. package/dist/mcp/helpers.js.map +1 -0
  44. package/dist/mcp/server.d.ts +2 -3
  45. package/dist/mcp/server.d.ts.map +1 -1
  46. package/dist/mcp/server.js +12 -1579
  47. package/dist/mcp/server.js.map +1 -1
  48. package/dist/mcp/tools/estimate.d.ts +3 -0
  49. package/dist/mcp/tools/estimate.d.ts.map +1 -0
  50. package/dist/mcp/tools/estimate.js +478 -0
  51. package/dist/mcp/tools/estimate.js.map +1 -0
  52. package/dist/mcp/tools/issue.d.ts +3 -0
  53. package/dist/mcp/tools/issue.d.ts.map +1 -0
  54. package/dist/mcp/tools/issue.js +468 -0
  55. package/dist/mcp/tools/issue.js.map +1 -0
  56. package/dist/mcp/tools/query.d.ts +3 -0
  57. package/dist/mcp/tools/query.d.ts.map +1 -0
  58. package/dist/mcp/tools/query.js +319 -0
  59. package/dist/mcp/tools/query.js.map +1 -0
  60. package/dist/mcp/tools/search.d.ts +3 -0
  61. package/dist/mcp/tools/search.d.ts.map +1 -0
  62. package/dist/mcp/tools/search.js +61 -0
  63. package/dist/mcp/tools/search.js.map +1 -0
  64. package/dist/mcp/tools/workspace.d.ts +3 -0
  65. package/dist/mcp/tools/workspace.d.ts.map +1 -0
  66. package/dist/mcp/tools/workspace.js +86 -0
  67. package/dist/mcp/tools/workspace.js.map +1 -0
  68. package/dist/mcp/types.d.ts +157 -0
  69. package/dist/mcp/types.d.ts.map +1 -0
  70. package/dist/mcp/types.js +2 -0
  71. package/dist/mcp/types.js.map +1 -0
  72. package/package.json +1 -1
@@ -0,0 +1,153 @@
1
+ import { mkdirSync, writeFileSync, copyFileSync, existsSync } from 'node:fs';
2
+ import { join, resolve } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import chalk from 'chalk';
5
+ import { createEmptyConfig, addSource, writeConfig } from '../../workspace/config.js';
6
+ import { resolveServerPath } from '../mcp-install.js';
7
+ const currentDir = fileURLToPath(new URL('.', import.meta.url));
8
+ function getTemplatesDir() {
9
+ const templatesDir = resolve(currentDir, '..', '..', '..', 'templates');
10
+ if (!existsSync(templatesDir)) {
11
+ throw new Error(`Templates directory not found: ${templatesDir}`);
12
+ }
13
+ return templatesDir;
14
+ }
15
+ export function generateEnv(jira, git, github, csv, db, argustackDbPort) {
16
+ const lines = [];
17
+ if (jira) {
18
+ lines.push('# === Jira ===', `JIRA_URL=${jira.jiraUrl}`, `JIRA_EMAIL=${jira.jiraEmail}`, `JIRA_API_TOKEN=${jira.jiraToken}`, `JIRA_PROJECTS=${jira.jiraProjects.join(',')}`, '');
19
+ }
20
+ if (git) {
21
+ lines.push('# === Git ===', `GIT_REPO_PATHS=${git.gitRepoPaths.join(',')}`, '');
22
+ }
23
+ if (github) {
24
+ lines.push('# === GitHub ===', `GITHUB_TOKEN=${github.githubToken}`, `GITHUB_OWNER=${github.githubOwner}`, `GITHUB_REPO=${github.githubRepo}`, '');
25
+ }
26
+ if (csv) {
27
+ lines.push('# === Jira CSV ===', `CSV_FILE_PATH=${csv.csvFilePath}`, '');
28
+ }
29
+ if (db) {
30
+ lines.push('# === Target Database (project DB to analyze) ===', `TARGET_DB_HOST=${db.targetDbHost}`, `TARGET_DB_PORT=${db.targetDbPort}`, `TARGET_DB_USER=${db.targetDbUser}`, `TARGET_DB_PASSWORD=${db.targetDbPassword}`, `TARGET_DB_NAME=${db.targetDbName}`, '');
31
+ }
32
+ lines.push('# === Argustack internal PostgreSQL (match docker-compose.yml) ===', 'DB_HOST=localhost', `DB_PORT=${argustackDbPort}`, 'DB_USER=argustack', 'DB_PASSWORD=argustack_local', 'DB_NAME=argustack', '', '# === OpenAI embeddings (optional, for semantic search) ===', '# OPENAI_API_KEY=sk-...');
33
+ return lines.join('\n') + '\n';
34
+ }
35
+ export function generateDockerCompose(dbPort, pgwebPort) {
36
+ return `services:
37
+ db:
38
+ image: pgvector/pgvector:pg16
39
+ container_name: argustack-db
40
+ ports:
41
+ - "${dbPort}:5432"
42
+ environment:
43
+ POSTGRES_USER: argustack
44
+ POSTGRES_PASSWORD: argustack_local
45
+ POSTGRES_DB: argustack
46
+ volumes:
47
+ - argustack-data:/var/lib/postgresql/data
48
+ - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
49
+ healthcheck:
50
+ test: ["CMD-SHELL", "pg_isready -U argustack"]
51
+ interval: 2s
52
+ timeout: 5s
53
+ retries: 15
54
+
55
+ pgweb:
56
+ image: sosedoff/pgweb
57
+ container_name: argustack-pgweb
58
+ ports:
59
+ - "${pgwebPort}:8081"
60
+ environment:
61
+ PGWEB_DATABASE_URL: postgres://argustack:argustack_local@db:5432/argustack?sslmode=disable
62
+ depends_on:
63
+ db:
64
+ condition: service_healthy
65
+ restart: on-failure
66
+
67
+ volumes:
68
+ argustack-data:
69
+ `;
70
+ }
71
+ export function createWorkspaceFiles(workspaceDir, jira, git, github, csv, db, dbPort, pgwebPort) {
72
+ const templatesDir = getTemplatesDir();
73
+ mkdirSync(workspaceDir, { recursive: true });
74
+ mkdirSync(join(workspaceDir, '.argustack'), { recursive: true });
75
+ mkdirSync(join(workspaceDir, 'db'), { recursive: true });
76
+ mkdirSync(join(workspaceDir, 'data'), { recursive: true });
77
+ let config = createEmptyConfig();
78
+ if (jira) {
79
+ config = addSource(config, 'jira');
80
+ }
81
+ if (git) {
82
+ config = addSource(config, 'git');
83
+ }
84
+ if (github) {
85
+ config = addSource(config, 'github');
86
+ }
87
+ if (csv) {
88
+ config = addSource(config, 'csv');
89
+ }
90
+ if (db) {
91
+ config = addSource(config, 'db');
92
+ }
93
+ writeConfig(workspaceDir, config);
94
+ writeFileSync(join(workspaceDir, '.env'), generateEnv(jira, git, github, csv, db, dbPort));
95
+ writeFileSync(join(workspaceDir, 'docker-compose.yml'), generateDockerCompose(dbPort, pgwebPort));
96
+ copyFileSync(join(templatesDir, 'init.sql'), join(workspaceDir, 'db', 'init.sql'));
97
+ copyFileSync(join(templatesDir, 'gitignore'), join(workspaceDir, '.gitignore'));
98
+ try {
99
+ const serverPath = resolveServerPath();
100
+ const mcpConfig = {
101
+ mcpServers: {
102
+ argustack: {
103
+ command: 'node',
104
+ args: [serverPath],
105
+ },
106
+ },
107
+ };
108
+ writeFileSync(join(workspaceDir, '.mcp.json'), JSON.stringify(mcpConfig, null, 2) + '\n');
109
+ }
110
+ catch { /* optional file, ignore */ }
111
+ }
112
+ export function printSummary(workspaceDir, jira, git, github, csv, db, pgwebPort, willAutoStart) {
113
+ console.log('');
114
+ console.log(chalk.green.bold(' Done! Your workspace is ready.'));
115
+ console.log('');
116
+ console.log(chalk.dim(' Sources configured:'));
117
+ if (jira) {
118
+ console.log(` ${chalk.green('✓')} Jira — ${jira.jiraUrl}`);
119
+ }
120
+ if (git) {
121
+ for (const p of git.gitRepoPaths) {
122
+ console.log(` ${chalk.green('✓')} Git — ${p}`);
123
+ }
124
+ }
125
+ if (github) {
126
+ console.log(` ${chalk.green('✓')} GitHub — ${github.githubOwner}/${github.githubRepo}`);
127
+ }
128
+ if (csv) {
129
+ console.log(` ${chalk.green('✓')} Jira CSV — ${csv.csvFilePath}`);
130
+ }
131
+ if (db) {
132
+ console.log(` ${chalk.green('✓')} Database — ${db.targetDbHost}:${db.targetDbPort}`);
133
+ }
134
+ if (!jira && !git && !github && !csv && !db) {
135
+ console.log(` ${chalk.yellow('—')} None yet. Use ${chalk.cyan('argustack source add <type>')}`);
136
+ }
137
+ if (!willAutoStart) {
138
+ console.log('');
139
+ console.log(chalk.dim(' Next steps:'));
140
+ console.log(` ${chalk.cyan('cd')} ${workspaceDir}`);
141
+ console.log(` ${chalk.cyan('docker compose up -d')} # start database`);
142
+ if (jira) {
143
+ console.log(` ${chalk.cyan('argustack sync jira')} # sync from Jira`);
144
+ }
145
+ console.log(` ${chalk.cyan(`http://localhost:${pgwebPort}`)} # browse data in pgweb`);
146
+ console.log('');
147
+ console.log(chalk.dim(' Claude integration:'));
148
+ console.log(` Claude Code: ${chalk.green('Open this folder — MCP tools ready!')}`);
149
+ console.log(` Claude Desktop: ${chalk.cyan('argustack mcp install')}`);
150
+ }
151
+ console.log('');
152
+ }
153
+ //# sourceMappingURL=generators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../src/cli/init/generators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { InitFlags } from './types.js';
2
+ export type { InitFlags } from './types.js';
3
+ export declare function runInit(flags?: InitFlags): Promise<void>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,SAAS,EAMV,MAAM,YAAY,CAAC;AASpB,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmQ5C,wBAAsB,OAAO,CAAC,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlE"}
@@ -0,0 +1,254 @@
1
+ import { input, confirm, checkbox } from '@inquirer/prompts';
2
+ import { execSync } from 'node:child_process';
3
+ import chalk from 'chalk';
4
+ import ora from 'ora';
5
+ import { isWorkspace } from '../../workspace/resolver.js';
6
+ import { ALL_SOURCES, SOURCE_META } from '../../core/types/index.js';
7
+ import { DEFAULT_DB_PORT, DEFAULT_PGWEB_PORT, resolvePath, validatePort, getErrorMsg } from './types.js';
8
+ import { setupJiraInteractive, setupJiraFromFlags } from './setup-jira.js';
9
+ import { setupGitInteractive, setupGitFromFlags } from './setup-git.js';
10
+ import { setupGithubInteractive, setupGithubFromFlags } from './setup-github.js';
11
+ import { setupCsvInteractive, setupCsvFromFlags } from './setup-csv.js';
12
+ import { setupDbInteractive, setupDbFromFlags } from './setup-db.js';
13
+ import { createWorkspaceFiles, printSummary } from './generators.js';
14
+ async function startAndSync(workspaceDir, hasJira, hasGit, hasGithub, csv, pgwebPort) {
15
+ const spinnerDb = ora('Starting Docker containers...').start();
16
+ try {
17
+ execSync('docker compose up -d', { cwd: workspaceDir, stdio: 'pipe' });
18
+ spinnerDb.succeed('Database running!');
19
+ }
20
+ catch (err) {
21
+ spinnerDb.fail('Failed to start Docker');
22
+ console.log(chalk.red(` Error: ${getErrorMsg(err)}`));
23
+ console.log(chalk.dim(' Make sure Docker Desktop is running, then:'));
24
+ console.log(chalk.cyan(` cd ${workspaceDir} && docker compose up -d`));
25
+ return;
26
+ }
27
+ const spinnerWait = ora('Waiting for PostgreSQL...').start();
28
+ const MAX_WAIT_SECONDS = 30;
29
+ for (let i = 0; i < MAX_WAIT_SECONDS; i++) {
30
+ try {
31
+ execSync('docker compose exec -T db pg_isready -U argustack', { cwd: workspaceDir, stdio: 'pipe' });
32
+ spinnerWait.succeed('PostgreSQL ready!');
33
+ break;
34
+ }
35
+ catch {
36
+ if (i === MAX_WAIT_SECONDS - 1) {
37
+ spinnerWait.fail('PostgreSQL not ready after 30s');
38
+ console.log(chalk.dim(' Try manually: docker compose logs db'));
39
+ return;
40
+ }
41
+ await new Promise((r) => setTimeout(r, 1000));
42
+ }
43
+ }
44
+ if (hasJira) {
45
+ console.log('');
46
+ try {
47
+ const { syncJiraFromInit } = await import('../sync.js');
48
+ await syncJiraFromInit(workspaceDir);
49
+ }
50
+ catch (err) {
51
+ console.log(chalk.red(` Jira sync failed: ${getErrorMsg(err)}`));
52
+ console.log(chalk.dim(` Try manually: cd ${workspaceDir} && argustack sync jira`));
53
+ }
54
+ }
55
+ if (hasGit) {
56
+ console.log('');
57
+ try {
58
+ const { syncGitFromInit } = await import('../sync.js');
59
+ await syncGitFromInit(workspaceDir);
60
+ }
61
+ catch (err) {
62
+ console.log(chalk.red(` Git sync failed: ${getErrorMsg(err)}`));
63
+ console.log(chalk.dim(` Try manually: cd ${workspaceDir} && argustack sync git`));
64
+ }
65
+ }
66
+ if (hasGithub) {
67
+ console.log('');
68
+ try {
69
+ const { syncGithubFromInit } = await import('../sync.js');
70
+ await syncGithubFromInit(workspaceDir);
71
+ }
72
+ catch (err) {
73
+ console.log(chalk.red(` GitHub sync failed: ${getErrorMsg(err)}`));
74
+ console.log(chalk.dim(` Try manually: cd ${workspaceDir} && argustack sync github`));
75
+ }
76
+ }
77
+ if (csv) {
78
+ console.log('');
79
+ try {
80
+ const { syncCsvFromInit } = await import('../sync.js');
81
+ await syncCsvFromInit(workspaceDir, csv.csvFilePath);
82
+ }
83
+ catch (err) {
84
+ console.log(chalk.red(` CSV import failed: ${getErrorMsg(err)}`));
85
+ console.log(chalk.dim(` Try manually: cd ${workspaceDir} && argustack sync csv`));
86
+ }
87
+ }
88
+ console.log(chalk.dim(' What\'s next:'));
89
+ console.log(` ${chalk.cyan(`http://localhost:${pgwebPort}`)} # browse data in pgweb`);
90
+ console.log('');
91
+ console.log(chalk.dim(' Claude integration:'));
92
+ console.log(` Claude Code: ${chalk.green('Open this folder — MCP tools ready!')}`);
93
+ console.log(` Claude Desktop: ${chalk.cyan('argustack mcp install')}`);
94
+ console.log('');
95
+ }
96
+ async function runInitNonInteractive(flags) {
97
+ console.log(chalk.bold('\n Argustack — non-interactive setup\n'));
98
+ const workspaceDir = resolvePath(flags.dir ?? process.cwd());
99
+ const selectedSources = flags.source
100
+ ? flags.source.split(',').map((s) => s.trim().toLowerCase())
101
+ : [];
102
+ for (const s of selectedSources) {
103
+ if (!ALL_SOURCES.includes(s)) {
104
+ throw new Error(`Unknown source: ${s}. Available: ${ALL_SOURCES.join(', ')}`);
105
+ }
106
+ }
107
+ let jiraResult = null;
108
+ let gitResult = null;
109
+ let githubResult = null;
110
+ let csvResult = null;
111
+ let dbResult = null;
112
+ for (const source of selectedSources) {
113
+ switch (source) {
114
+ case 'jira':
115
+ jiraResult = await setupJiraFromFlags(flags);
116
+ break;
117
+ case 'git':
118
+ gitResult = setupGitFromFlags(flags);
119
+ break;
120
+ case 'github':
121
+ githubResult = setupGithubFromFlags(flags);
122
+ break;
123
+ case 'csv':
124
+ csvResult = setupCsvFromFlags(flags);
125
+ break;
126
+ case 'db':
127
+ dbResult = setupDbFromFlags(flags);
128
+ break;
129
+ }
130
+ }
131
+ const dbPort = parseInt(flags.dbPort ?? String(DEFAULT_DB_PORT), 10);
132
+ const pgwebPort = parseInt(flags.pgwebPort ?? String(DEFAULT_PGWEB_PORT), 10);
133
+ const spinner = ora('Creating workspace...').start();
134
+ try {
135
+ createWorkspaceFiles(workspaceDir, jiraResult, gitResult, githubResult, csvResult, dbResult, dbPort, pgwebPort);
136
+ spinner.succeed('Workspace created!');
137
+ }
138
+ catch (err) {
139
+ spinner.fail('Failed');
140
+ throw err;
141
+ }
142
+ printSummary(workspaceDir, jiraResult, gitResult, githubResult, csvResult, dbResult, pgwebPort, false);
143
+ }
144
+ async function runInitInteractive(flags) {
145
+ console.log('');
146
+ console.log(chalk.bold(' Argustack — workspace setup'));
147
+ console.log(chalk.dim(' Cross-reference Jira + Git + DB to analyze your project.\n'));
148
+ const targetDir = await input({
149
+ message: 'Workspace directory:',
150
+ default: flags.dir ?? process.cwd(),
151
+ validate: (val) => {
152
+ if (!val.trim()) {
153
+ return 'Directory path is required';
154
+ }
155
+ return true;
156
+ },
157
+ });
158
+ const workspaceDir = resolvePath(targetDir);
159
+ if (isWorkspace(workspaceDir)) {
160
+ console.log(chalk.yellow(`\n Already an Argustack workspace: ${workspaceDir}`));
161
+ const proceed = await confirm({ message: 'Reinitialize this workspace?', default: false });
162
+ if (!proceed) {
163
+ console.log(chalk.dim(' Cancelled.'));
164
+ return;
165
+ }
166
+ }
167
+ console.log('');
168
+ const selectedSources = await checkbox({
169
+ message: 'Which sources do you have access to?',
170
+ choices: ALL_SOURCES.map((s) => ({
171
+ value: s,
172
+ name: SOURCE_META[s].label,
173
+ description: SOURCE_META[s].description,
174
+ })),
175
+ });
176
+ if (selectedSources.length === 0) {
177
+ console.log(chalk.yellow('\n No sources selected. You can add them later with:'));
178
+ console.log(chalk.cyan(' argustack source add jira'));
179
+ console.log(chalk.cyan(' argustack source add git'));
180
+ console.log(chalk.cyan(' argustack source add github'));
181
+ console.log(chalk.cyan(' argustack source add db'));
182
+ const continueAnyway = await confirm({
183
+ message: 'Create workspace without sources?',
184
+ default: true,
185
+ });
186
+ if (!continueAnyway) {
187
+ console.log(chalk.dim(' Cancelled.'));
188
+ return;
189
+ }
190
+ }
191
+ let jiraResult = null;
192
+ let gitResult = null;
193
+ let githubResult = null;
194
+ let csvResult = null;
195
+ let dbResult = null;
196
+ for (const source of selectedSources) {
197
+ switch (source) {
198
+ case 'jira':
199
+ jiraResult = await setupJiraInteractive();
200
+ break;
201
+ case 'git':
202
+ gitResult = await setupGitInteractive();
203
+ break;
204
+ case 'github':
205
+ githubResult = await setupGithubInteractive(gitResult?.githubToken, gitResult?.githubRepos);
206
+ break;
207
+ case 'csv':
208
+ csvResult = await setupCsvInteractive();
209
+ break;
210
+ case 'db':
211
+ dbResult = await setupDbInteractive();
212
+ break;
213
+ }
214
+ }
215
+ console.log('');
216
+ console.log(chalk.dim(' Argustack internal database (Docker):'));
217
+ const dbPortStr = await input({
218
+ message: 'PostgreSQL port:', default: flags.dbPort ?? String(DEFAULT_DB_PORT),
219
+ validate: (val) => validatePort(val, 1024),
220
+ });
221
+ const pgwebPortStr = await input({
222
+ message: 'pgweb UI port:', default: flags.pgwebPort ?? String(DEFAULT_PGWEB_PORT),
223
+ validate: (val) => validatePort(val, 1024),
224
+ });
225
+ const dbPort = parseInt(dbPortStr, 10);
226
+ const pgwebPort = parseInt(pgwebPortStr, 10);
227
+ const spinner = ora('Creating workspace...').start();
228
+ try {
229
+ createWorkspaceFiles(workspaceDir, jiraResult, gitResult, githubResult, csvResult, dbResult, dbPort, pgwebPort);
230
+ spinner.succeed('Workspace created!');
231
+ }
232
+ catch (err) {
233
+ spinner.fail('Failed to create workspace');
234
+ console.log(chalk.red(`\n Error: ${getErrorMsg(err)}`));
235
+ return;
236
+ }
237
+ const autoStart = await confirm({
238
+ message: 'Start database and sync now?',
239
+ default: true,
240
+ });
241
+ printSummary(workspaceDir, jiraResult, gitResult, githubResult, csvResult, dbResult, pgwebPort, autoStart);
242
+ if (autoStart) {
243
+ await startAndSync(workspaceDir, jiraResult !== null, gitResult !== null, githubResult !== null, csvResult, pgwebPort);
244
+ }
245
+ }
246
+ export async function runInit(flags = {}) {
247
+ if (flags.interactive === false) {
248
+ await runInitNonInteractive(flags);
249
+ }
250
+ else {
251
+ await runInitInteractive(flags);
252
+ }
253
+ }
254
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { InitFlags, CsvSetupResult } from './types.js';
2
+ export declare function setupCsvInteractive(): Promise<CsvSetupResult>;
3
+ export declare function setupCsvFromFlags(flags: InitFlags): CsvSetupResult | null;
4
+ //# sourceMappingURL=setup-csv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-csv.d.ts","sourceRoot":"","sources":["../../../src/cli/init/setup-csv.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAgB5D,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,CAAC,CA+BnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI,CAKzE"}
@@ -0,0 +1,52 @@
1
+ import { input } from '@inquirer/prompts';
2
+ import { readdirSync } from 'node:fs';
3
+ import { join, resolve } from 'node:path';
4
+ import chalk from 'chalk';
5
+ import { resolvePath } from './types.js';
6
+ async function promptCsvPath() {
7
+ const raw = await input({
8
+ message: 'Path to Jira CSV file:',
9
+ validate: (val) => {
10
+ if (!val.trim()) {
11
+ return 'CSV file path is required';
12
+ }
13
+ return true;
14
+ },
15
+ });
16
+ return resolvePath(raw);
17
+ }
18
+ export async function setupCsvInteractive() {
19
+ console.log('');
20
+ console.log(chalk.bold(' Jira CSV Import setup'));
21
+ console.log(chalk.dim(' Import issues from a Jira CSV export file.\n'));
22
+ const cwd = process.cwd();
23
+ const csvFiles = readdirSync(cwd).filter((f) => f.toLowerCase().endsWith('.csv'));
24
+ let csvFilePath;
25
+ if (csvFiles.length > 0) {
26
+ const { select } = await import('@inquirer/prompts');
27
+ const MANUAL_ENTRY = '__manual__';
28
+ const selected = await select({
29
+ message: csvFiles.length === 1
30
+ ? `Found CSV file in current directory:`
31
+ : `Found ${csvFiles.length} CSV files in current directory:`,
32
+ choices: [
33
+ ...csvFiles.map((f) => ({ value: join(cwd, f), name: f })),
34
+ { value: MANUAL_ENTRY, name: 'Enter path manually…' },
35
+ ],
36
+ });
37
+ csvFilePath = selected === MANUAL_ENTRY ? await promptCsvPath() : selected;
38
+ }
39
+ else {
40
+ csvFilePath = await promptCsvPath();
41
+ }
42
+ const resolved = resolve(csvFilePath);
43
+ console.log(chalk.green(` CSV file: ${resolved}`));
44
+ return { csvFilePath: resolved };
45
+ }
46
+ export function setupCsvFromFlags(flags) {
47
+ if (!flags.csvFile) {
48
+ throw new Error('CSV requires: --csv-file');
49
+ }
50
+ return { csvFilePath: flags.csvFile };
51
+ }
52
+ //# sourceMappingURL=setup-csv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-csv.js","sourceRoot":"","sources":["../../../src/cli/init/setup-csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,KAAK,UAAU,aAAa;IAC1B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC;QACtB,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,CAAC,GAAG,EAAiB,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,OAAO,2BAA2B,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAEzE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAElF,IAAI,WAAmB,CAAC;IAExB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,YAAY,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAS;YACpC,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAC5B,CAAC,CAAC,sCAAsC;gBACxC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,kCAAkC;YAC9D,OAAO,EAAE;gBACP,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1D,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE;aACtD;SACF,CAAC,CAAC;QACH,WAAW,GAAG,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,MAAM,aAAa,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAgB;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AACxC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { InitFlags, DbSetupResult } from './types.js';
2
+ export declare function setupDbInteractive(): Promise<DbSetupResult | null>;
3
+ export declare function setupDbFromFlags(flags: InitFlags): DbSetupResult | null;
4
+ //# sourceMappingURL=setup-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-db.d.ts","sourceRoot":"","sources":["../../../src/cli/init/setup-db.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAmBxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,IAAI,CAWvE"}
@@ -0,0 +1,33 @@
1
+ import { input, password } from '@inquirer/prompts';
2
+ import chalk from 'chalk';
3
+ import { validatePort } from './types.js';
4
+ export async function setupDbInteractive() {
5
+ console.log('');
6
+ console.log(chalk.bold(' Database setup'));
7
+ console.log(chalk.dim(' Connect to the project database you want to analyze.\n'));
8
+ console.log(chalk.dim(' (This is the TARGET database, not Argustack internal DB)\n'));
9
+ const targetDbHost = await input({ message: 'DB Host:', default: 'localhost' });
10
+ const targetDbPortStr = await input({
11
+ message: 'DB Port:', default: '5432',
12
+ validate: (val) => validatePort(val),
13
+ });
14
+ const targetDbUser = await input({ message: 'DB User:' });
15
+ const targetDbPassword = await password({ message: 'DB Password:' });
16
+ const targetDbName = await input({ message: 'DB Name:' });
17
+ const targetDbPort = parseInt(targetDbPortStr, 10);
18
+ console.log(chalk.green(` Database configured: ${targetDbUser}@${targetDbHost}:${targetDbPort}/${targetDbName}`));
19
+ return { targetDbHost, targetDbPort, targetDbUser, targetDbPassword, targetDbName };
20
+ }
21
+ export function setupDbFromFlags(flags) {
22
+ if (!flags.targetDbHost || !flags.targetDbUser || !flags.targetDbName) {
23
+ throw new Error('Database requires: --target-db-host, --target-db-user, --target-db-name');
24
+ }
25
+ return {
26
+ targetDbHost: flags.targetDbHost,
27
+ targetDbPort: parseInt(flags.targetDbPort ?? '5432', 10),
28
+ targetDbUser: flags.targetDbUser,
29
+ targetDbPassword: flags.targetDbPassword ?? '',
30
+ targetDbName: flags.targetDbName,
31
+ };
32
+ }
33
+ //# sourceMappingURL=setup-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-db.js","sourceRoot":"","sources":["../../../src/cli/init/setup-db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;IAEvF,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC;QAClC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;QACpC,QAAQ,EAAE,CAAC,GAAG,EAAiB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC;KACpD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,YAAY,IAAI,YAAY,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC;IAEnH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgB;IAC/C,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,IAAI,MAAM,EAAE,EAAE,CAAC;QACxD,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE;QAC9C,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { InitFlags, GitSetupResult } from './types.js';
2
+ export declare function setupGitInteractive(): Promise<GitSetupResult | null>;
3
+ export declare function setupGitFromFlags(flags: InitFlags): GitSetupResult | null;
4
+ //# sourceMappingURL=setup-git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-git.d.ts","sourceRoot":"","sources":["../../../src/cli/init/setup-git.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA0K5D,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAqF1E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI,CAMzE"}