spidersan 0.4.2 β†’ 0.4.3

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,57 +1,51 @@
1
+ /**
2
+ * spidersan welcome
3
+ *
4
+ * Friendly onboarding and quick start for core CLI.
5
+ */
1
6
  import { Command } from 'commander';
2
7
  import { existsSync } from 'fs';
3
8
  import { join } from 'path';
4
- // ANSI color codes for terminal output
5
9
  const colors = {
6
10
  reset: '\x1b[0m',
7
11
  bright: '\x1b[1m',
8
12
  dim: '\x1b[2m',
9
- red: '\x1b[31m',
10
- green: '\x1b[32m',
11
13
  yellow: '\x1b[33m',
12
- blue: '\x1b[34m',
13
14
  magenta: '\x1b[35m',
14
15
  cyan: '\x1b[36m',
16
+ green: '\x1b[32m',
15
17
  };
16
18
  const c = colors;
17
19
  function sleep(ms) {
18
20
  return new Promise(resolve => setTimeout(resolve, ms));
19
21
  }
20
22
  async function runWelcome() {
21
- // The grand entrance
22
23
  console.log(`
23
24
  ${c.bright}${c.magenta}πŸ•·οΈ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${c.reset}
24
25
  ${c.bright}${c.magenta} SPIDERSAN WELCOMES YOU TO THE WEB${c.reset}
25
26
  ${c.bright}${c.magenta}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${c.reset}
26
27
  `);
27
- await sleep(800);
28
+ await sleep(500);
28
29
  console.log(`${c.cyan} You are not alone in this codebase.${c.reset}`);
29
- await sleep(600);
30
+ await sleep(450);
30
31
  console.log(`${c.cyan} Other agents weave alongside you.${c.reset}`);
31
- await sleep(600);
32
+ await sleep(450);
32
33
  console.log(`${c.cyan} The web keeps you from colliding.${c.reset}`);
33
- await sleep(1000);
34
- console.log(`
35
- ${c.dim}β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”${c.reset}
36
- ${c.dim}β”‚${c.reset} ${c.bright}${c.yellow}"Claim your threads${c.reset} ${c.dim}β”‚${c.reset}
37
- ${c.dim}β”‚${c.reset} ${c.bright}${c.yellow}before you weave."${c.reset} ${c.dim}β”‚${c.reset}
38
- ${c.dim}β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜${c.reset}
39
- `);
40
- await sleep(1200);
41
- // Check initialization status
34
+ await sleep(700);
42
35
  const initialized = existsSync(join(process.cwd(), '.spidersan', 'registry.json'));
43
36
  if (!initialized) {
44
- console.log(`${c.yellow}πŸ•ΈοΈ FIRST TIME HERE?${c.reset}`);
45
37
  console.log(`
38
+ ${c.yellow}πŸ•ΈοΈ FIRST TIME HERE?${c.reset}
46
39
  ${c.bright}Step 1:${c.reset} Initialize the web in your project
47
40
  ${c.green}$ spidersan init${c.reset}
48
41
  `);
49
42
  }
50
43
  else {
51
- console.log(`${c.green}βœ“ Web initialized in this project${c.reset}
44
+ console.log(`
45
+ ${c.green}βœ“ Web initialized in this project${c.reset}
52
46
  `);
53
47
  }
54
- console.log(`${c.cyan}πŸ•ΈοΈ QUICK SETUP:${c.reset}
48
+ console.log(`${c.cyan}πŸ•ΈοΈ QUICK START:${c.reset}
55
49
 
56
50
  ${c.bright}Register your branch:${c.reset}
57
51
  ${c.green}$ spidersan register --files "src/myfile.ts" --agent myname${c.reset}
@@ -62,24 +56,23 @@ ${c.bright}${c.magenta}━━━━━━━━━━━━━━━━━━━
62
56
  ${c.bright}When done:${c.reset}
63
57
  ${c.green}$ spidersan merged${c.reset}
64
58
  `);
65
- await sleep(800);
66
- console.log(`${c.bright}${c.blue}⚑ OR: AUTO-MODE${c.reset}
67
-
68
- Let Spidersan watch your files automatically:
69
- ${c.green}$ spidersan watch --agent myname${c.reset}
59
+ await sleep(600);
60
+ console.log(`${c.bright}${c.cyan}βš™οΈ CONFIG SETUP${c.reset}
70
61
 
71
- ${c.dim}Files tracked as you edit. Conflicts caught in real-time.${c.reset}
62
+ ${c.dim}Set your default agent + storage in a guided wizard:${c.reset}
63
+ ${c.green}$ spidersan config wizard${c.reset}
72
64
  `);
73
- await sleep(1000);
74
- console.log(`${c.magenta}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${c.reset}
75
-
76
- ${c.bright}🎬 WANT TO SEE THE WEB'S POWER?${c.reset}
77
-
78
- ${c.cyan}$ spidersan demo${c.reset}
65
+ await sleep(600);
66
+ console.log(`${c.bright}${c.cyan}⚑ AUTO-WATCH${c.reset}
79
67
 
80
- ${c.dim}Watch a simulated multi-agent conflict get caught!${c.reset}
68
+ ${c.dim}Start a background watcher from config paths:${c.reset}
69
+ ${c.green}$ spidersan auto start${c.reset}
81
70
 
82
- ${c.magenta}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${c.reset}
71
+ ${c.dim}Or run a foreground watcher:${c.reset}
72
+ ${c.green}$ spidersan watch --agent myname${c.reset}
73
+ `);
74
+ await sleep(600);
75
+ console.log(`${c.magenta}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${c.reset}
83
76
  ${c.bright}${c.magenta} The web sees all. The web protects all.${c.reset}
84
77
  ${c.bright}${c.magenta}πŸ•·οΈ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${c.reset}
85
78
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/commands/welcome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/commands/welcome.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,20 @@
4
4
  * Loads and validates .spidersanrc configuration file.
5
5
  */
6
6
  export interface SpidersanConfig {
7
+ ecosystem: {
8
+ enabled: boolean;
9
+ };
10
+ agent: {
11
+ name?: string;
12
+ };
13
+ autoWatch: {
14
+ enabled: boolean;
15
+ paths: string[];
16
+ hub: boolean;
17
+ hubSync: boolean;
18
+ quiet: boolean;
19
+ legacy: boolean;
20
+ };
7
21
  readyCheck: {
8
22
  enableWipDetection: boolean;
9
23
  wipPatterns: string[];
@@ -25,9 +39,23 @@ export interface SpidersanConfig {
25
39
  supabaseKeyStaging?: string;
26
40
  };
27
41
  }
42
+ export declare const CONFIG_FILES: string[];
43
+ interface ValidationError {
44
+ path: string;
45
+ message: string;
46
+ }
47
+ export declare function getConfigPaths(basePath?: string, includeGlobal?: boolean): string[];
48
+ export declare function loadConfigWithSources(basePath?: string, options?: {
49
+ includeGlobal?: boolean;
50
+ }): Promise<{
51
+ config: SpidersanConfig;
52
+ sources: string[];
53
+ errors: ValidationError[];
54
+ }>;
28
55
  export declare function loadConfig(basePath?: string): Promise<SpidersanConfig>;
29
56
  export declare function getWipPatterns(config: SpidersanConfig): RegExp[];
30
57
  export declare function getExcludePatterns(config: SpidersanConfig): string[];
31
58
  export declare function getHighSeverityPatterns(config: SpidersanConfig): RegExp[];
32
59
  export declare function getMediumSeverityPatterns(config: SpidersanConfig): RegExp[];
60
+ export {};
33
61
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE;QACR,kBAAkB,EAAE,OAAO,CAAC;QAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,2BAA2B,EAAE,OAAO,CAAC;QACrC,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,gBAAgB,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,SAAS,EAAE;QACP,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,sBAAsB,EAAE,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,OAAO,EAAE;QACL,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;QAC3B,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;QACjD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACL;AA0ED,wBAAsB,UAAU,CAAC,QAAQ,GAAE,MAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CA8B3F;AAmBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAEpE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAEzE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAE3E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,EAAE,OAAO,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,UAAU,EAAE;QACR,kBAAkB,EAAE,OAAO,CAAC;QAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,2BAA2B,EAAE,OAAO,CAAC;QACrC,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,gBAAgB,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,SAAS,EAAE;QACP,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,sBAAsB,EAAE,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,OAAO,EAAE;QACL,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;QAC3B,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;QACjD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACL;AAmCD,eAAO,MAAM,YAAY,UAAkE,CAAC;AAE5F,UAAU,eAAe;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAqGD,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAsB,EAAE,aAAa,GAAE,OAAc,GAAG,MAAM,EAAE,CAUxG;AAED,wBAAsB,qBAAqB,CACvC,QAAQ,GAAE,MAAsB,EAChC,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,OAAO,CAAC;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CA8BpF;AAED,wBAAsB,UAAU,CAAC,QAAQ,GAAE,MAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAO3F;AAmBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAEpE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAEzE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAE3E"}
@@ -6,7 +6,22 @@
6
6
  import { readFile } from 'fs/promises';
7
7
  import { existsSync } from 'fs';
8
8
  import { join } from 'path';
9
+ import { homedir } from 'os';
9
10
  const DEFAULT_CONFIG = {
11
+ ecosystem: {
12
+ enabled: true,
13
+ },
14
+ agent: {
15
+ name: '',
16
+ },
17
+ autoWatch: {
18
+ enabled: false,
19
+ paths: [],
20
+ hub: false,
21
+ hubSync: false,
22
+ quiet: false,
23
+ legacy: false,
24
+ },
10
25
  readyCheck: {
11
26
  enableWipDetection: true,
12
27
  wipPatterns: ['TODO', 'FIXME', 'WIP', 'HACK', 'XXX'],
@@ -24,7 +39,7 @@ const DEFAULT_CONFIG = {
24
39
  environment: 'production',
25
40
  },
26
41
  };
27
- const CONFIG_FILES = ['.spidersanrc', '.spidersanrc.json', '.spidersan.config.json'];
42
+ export const CONFIG_FILES = ['.spidersanrc', '.spidersanrc.json', '.spidersan.config.json'];
28
43
  function validateConfig(config) {
29
44
  const errors = [];
30
45
  if (typeof config !== 'object' || config === null) {
@@ -32,6 +47,18 @@ function validateConfig(config) {
32
47
  return errors;
33
48
  }
34
49
  const obj = config;
50
+ // Validate ecosystem
51
+ if (obj.ecosystem !== undefined) {
52
+ if (typeof obj.ecosystem !== 'object' || obj.ecosystem === null) {
53
+ errors.push({ path: 'ecosystem', message: 'Must be an object' });
54
+ }
55
+ else {
56
+ const eco = obj.ecosystem;
57
+ if (eco.enabled !== undefined && typeof eco.enabled !== 'boolean') {
58
+ errors.push({ path: 'ecosystem.enabled', message: 'Must be a boolean' });
59
+ }
60
+ }
61
+ }
35
62
  // Validate readyCheck
36
63
  if (obj.readyCheck !== undefined) {
37
64
  if (typeof obj.readyCheck !== 'object' || obj.readyCheck === null) {
@@ -50,6 +77,47 @@ function validateConfig(config) {
50
77
  }
51
78
  }
52
79
  }
80
+ // Validate agent
81
+ if (obj.agent !== undefined) {
82
+ if (typeof obj.agent !== 'object' || obj.agent === null) {
83
+ errors.push({ path: 'agent', message: 'Must be an object' });
84
+ }
85
+ else {
86
+ const agent = obj.agent;
87
+ if (agent.name !== undefined && typeof agent.name !== 'string') {
88
+ errors.push({ path: 'agent.name', message: 'Must be a string' });
89
+ }
90
+ }
91
+ }
92
+ // Validate autoWatch
93
+ if (obj.autoWatch !== undefined) {
94
+ if (typeof obj.autoWatch !== 'object' || obj.autoWatch === null) {
95
+ errors.push({ path: 'autoWatch', message: 'Must be an object' });
96
+ }
97
+ else {
98
+ const aw = obj.autoWatch;
99
+ if (aw.enabled !== undefined && typeof aw.enabled !== 'boolean') {
100
+ errors.push({ path: 'autoWatch.enabled', message: 'Must be a boolean' });
101
+ }
102
+ if (aw.paths !== undefined) {
103
+ if (!Array.isArray(aw.paths) || !aw.paths.every((p) => typeof p === 'string')) {
104
+ errors.push({ path: 'autoWatch.paths', message: 'Must be an array of strings' });
105
+ }
106
+ }
107
+ if (aw.hub !== undefined && typeof aw.hub !== 'boolean') {
108
+ errors.push({ path: 'autoWatch.hub', message: 'Must be a boolean' });
109
+ }
110
+ if (aw.hubSync !== undefined && typeof aw.hubSync !== 'boolean') {
111
+ errors.push({ path: 'autoWatch.hubSync', message: 'Must be a boolean' });
112
+ }
113
+ if (aw.quiet !== undefined && typeof aw.quiet !== 'boolean') {
114
+ errors.push({ path: 'autoWatch.quiet', message: 'Must be a boolean' });
115
+ }
116
+ if (aw.legacy !== undefined && typeof aw.legacy !== 'boolean') {
117
+ errors.push({ path: 'autoWatch.legacy', message: 'Must be a boolean' });
118
+ }
119
+ }
120
+ }
53
121
  // Validate storage
54
122
  if (obj.storage !== undefined) {
55
123
  if (typeof obj.storage !== 'object' || obj.storage === null) {
@@ -67,35 +135,52 @@ function validateConfig(config) {
67
135
  }
68
136
  return errors;
69
137
  }
70
- export async function loadConfig(basePath = process.cwd()) {
71
- // Try each config file name
72
- for (const filename of CONFIG_FILES) {
73
- const configPath = join(basePath, filename);
74
- if (existsSync(configPath)) {
75
- try {
76
- const content = await readFile(configPath, 'utf-8');
77
- const userConfig = JSON.parse(content);
78
- // Validate config
79
- const errors = validateConfig(userConfig);
80
- if (errors.length > 0) {
81
- console.warn(`⚠️ Config validation warnings in ${filename}:`);
82
- errors.forEach(e => console.warn(` ${e.path}: ${e.message}`));
83
- }
84
- return deepMerge(DEFAULT_CONFIG, userConfig);
138
+ export function getConfigPaths(basePath = process.cwd(), includeGlobal = true) {
139
+ const paths = [];
140
+ if (includeGlobal) {
141
+ const home = homedir();
142
+ CONFIG_FILES.forEach((filename) => paths.push(join(home, filename)));
143
+ }
144
+ CONFIG_FILES.forEach((filename) => paths.push(join(basePath, filename)));
145
+ return paths;
146
+ }
147
+ export async function loadConfigWithSources(basePath = process.cwd(), options = {}) {
148
+ const includeGlobal = options.includeGlobal !== false;
149
+ const sources = [];
150
+ const errors = [];
151
+ let merged = DEFAULT_CONFIG;
152
+ const configPaths = getConfigPaths(basePath, includeGlobal);
153
+ for (const configPath of configPaths) {
154
+ if (!existsSync(configPath))
155
+ continue;
156
+ try {
157
+ const content = await readFile(configPath, 'utf-8');
158
+ const userConfig = JSON.parse(content);
159
+ const validationErrors = validateConfig(userConfig);
160
+ if (validationErrors.length > 0) {
161
+ errors.push(...validationErrors.map(err => ({ ...err, path: `${configPath}:${err.path || ''}`.replace(/:$/, '') })));
85
162
  }
86
- catch (error) {
87
- if (error instanceof SyntaxError) {
88
- console.error(`❌ Invalid JSON in ${filename}: ${error.message}`);
89
- console.error(' Using default configuration instead.');
90
- }
91
- else {
92
- console.warn(`Warning: Failed to read ${filename}:`, error);
93
- }
163
+ merged = deepMerge(merged, userConfig);
164
+ sources.push(configPath);
165
+ }
166
+ catch (error) {
167
+ if (error instanceof SyntaxError) {
168
+ errors.push({ path: configPath, message: `Invalid JSON: ${error.message}` });
169
+ }
170
+ else {
171
+ errors.push({ path: configPath, message: 'Failed to read config file' });
94
172
  }
95
173
  }
96
174
  }
97
- // Return defaults if no config found
98
- return DEFAULT_CONFIG;
175
+ return { config: merged, sources, errors };
176
+ }
177
+ export async function loadConfig(basePath = process.cwd()) {
178
+ const result = await loadConfigWithSources(basePath);
179
+ if (result.errors.length > 0) {
180
+ console.warn('⚠️ Config validation warnings:');
181
+ result.errors.forEach(e => console.warn(` ${e.path}: ${e.message}`));
182
+ }
183
+ return result.config;
99
184
  }
100
185
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
101
186
  function deepMerge(target, source) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spidersan",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Branch coordination for AI coding agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",