@putervision/spc can be integrated programmatically into Node.js applications, CI build tools, or custom agent security auditing pipelines.
npm install @putervision/spcconst { scanCodebase, formatResults } = require('@putervision/spc');
async function auditProject() {
// Scan target directory
const results = await scanCodebase('./src', false, ['node_modules/**']);
// Generate Markdown report
const markdownReport = formatResults(results, { format: 'md' });
console.log(markdownReport);
// Generate SARIF report for GitHub Code Scanning
const sarifReport = formatResults(results, { format: 'sarif' });
// write to file...
}
auditProject().catch(console.error);Executes the full static analysis scan across 20 programming languages and AI agent configuration files.
directory(string): Absolute or relative directory path to scan.createSums(boolean, default: false): Generatechecksums.sha256.txtmanifest.ignorePatterns(string[], default: []): Array of custom ignore regex or glob pattern strings.options(Object, optional):options.category(string): Filter checks by category ("nasa","security","quality","agent").options.aiOnly(boolean): Scan only AI Agent skills, prompt instructions, MCP configs, and model files.options.skipAi(boolean): Skip AI agent checks, scan only code languages.options.configPath(string): Path to custom.spc.config.json.options.pluginsDir(string): Path to custom plugins folder.
- Returns:
Promise<Array<{ file: string, relativePath: string, language: string, issues: Array<Issue> }>>
Formats scan findings into machine-readable or display formats.
results(Array): Scan output array fromscanCodebase().options(Object, optional):options.format(string): Output format ("table","json","md","sarif").options.CLI_NAME(string): Tool identifier name.options.VERSION(string): Tool version string.
- Returns:
string(formatted report output string).
Object map containing severity, category, and documentation URIs for all 63+ supported rules.
const { PATTERN_INFO } = require('@putervision/spc');
console.log(PATTERN_INFO.prompt_injection_hazard);
// { url: 'docs/ai-agent-rules.md#prompt-injection-hazard', severity: 5, category: 'agent' }Enum object mapping rule category labels:
const { RULE_CATEGORIES } = require('@putervision/spc');
// { NASA: 'nasa', SECURITY: 'security', QUALITY: 'quality', AGENT: 'agent' }Loads and parses .spc.config.json settings merged with default configurations.
configPath(string): File path or directory containing.spc.config.json.- Returns:
Promise<Object>(Configuration object containingmaxFunctionLines,rules,ignorePatterns).