MCPcopy Create free account
hub / github.com/QodeXcli/QodeX / detectProjectSignals

Function detectProjectSignals

src/llm/prompts/stack-profiles.ts:265–283  ·  view source on GitHub ↗
(cwd: string)

Source from the content-addressed store, hash-verified

263 * failure so the caller can always proceed.
264 */
265export async function detectProjectSignals(cwd: string): Promise<ProjectSignals> {
266 const signals: ProjectSignals = { deps: [], files: [] };
267 try {
268 const pkgRaw = await fs.readFile(path.join(cwd, 'package.json'), 'utf-8');
269 const pkg = JSON.parse(pkgRaw);
270 signals.deps = [
271 ...Object.keys(pkg.dependencies ?? {}),
272 ...Object.keys(pkg.devDependencies ?? {}),
273 ];
274 } catch { /* no package.json — fine */ }
275
276 try {
277 const entries = await fs.readdir(cwd);
278 const present = new Set(entries);
279 signals.files = PKG_MARKERS.filter(m => present.has(m));
280 } catch { /* unreadable cwd — fine */ }
281
282 return signals;
283}

Callers 2

buildInitialMessagesMethod · 0.85
runMethod · 0.85

Calls 1

hasMethod · 0.45

Tested by

no test coverage detected