@blundergoat/goat-flow
Version:
AI coding agent harness and local dashboard for Claude Code, OpenAI Codex, Google Antigravity, and GitHub Copilot - setup audits, guardrails, structured skills, deny hooks, and persistent learning loops.
32 lines • 1.89 kB
TypeScript
/**
* Derives the secondary project signals that enrich setup prompts and audit
* policy: code-generation and deployment tooling, LLM integration, static-analysis
* tools, compliance-sensitive docs, and per-language formatter gaps.
*
* These are advisory signals, not hard facts - compliance detection in particular
* is signal-only and audit policy decides whether a hit matters. Detector tables
* come from project-stack-data.js; file matching goes through the read-only fs
* adapter so a missing or unreadable file is a non-match, never a throw.
*/
import type { ProjectSignals, ReadonlyFS } from "../types.js";
/**
* Count distinct source files under the conventional code roots, used as a coarse
* project-size signal. Globs only src/lib/app/packages, so generated, vendor, and
* build output outside those trees is excluded by construction rather than filtered.
*
* @param fs - read-only filesystem adapter for the target project
* @returns the de-duplicated file count across the code roots; 0 when none match
*/
export declare function countSourceFiles(fs: ReadonlyFS): number;
/**
* Aggregate every secondary signal into one ProjectSignals record for the setup
* and audit pipelines. The single entry point so callers run detection once and
* read a complete picture rather than invoking each detector piecemeal.
*
* @param fs - read-only filesystem adapter for the target project
* @param languages - detected languages in precedence order; gates per-language formatter checks
* @param formatCommand - the project's configured format command, or null when none is detected
* @returns the populated signal record; list fields are empty (not null) when nothing is detected
*/
export declare function detectProjectSignals(fs: ReadonlyFS, languages: string[], formatCommand: string | null): ProjectSignals;
//# sourceMappingURL=project-stack-signals.d.ts.map