UNPKG

paqad-ai

Version:

Spec-driven development framework — AI agents that think before they type

155 lines (154 loc) • 4.28 kB
name: node-service display_name: Node.js Service ecosystem: node version: 1.0.0 tier: archetype description: Built-in archetype pack for Node.js long-running services without a recognised framework (raw HTTP servers, queue workers, cron services) maintainer: paqad-ai detection: manifests: - file: package.json fields: - name: scripts.start presence: required - name: bin presence: absent - file: package.json packages: [dotenv] fields: - name: bin presence: absent - file: package.json packages: [nodemon] fields: - name: bin presence: absent - file: package.json packages: [tsx] fields: - name: bin presence: absent - file: package.json packages: ['ts-node-dev'] fields: - name: bin presence: absent heuristics: - file: src/server.ts - file: src/server.js - file: src/app.ts - file: src/app.js - file: src/worker.ts - file: src/worker.js - file: Dockerfile traits: - name: typescript display_name: TypeScript detect_file: tsconfig.json description: Project uses TypeScript - name: vitest display_name: Vitest detect_package: vitest description: Project uses Vitest for testing - name: jest display_name: Jest detect_package: jest description: Project uses Jest for testing - name: eslint display_name: ESLint detect_package: eslint description: Project uses ESLint for linting - name: docker display_name: Docker detect_file: Dockerfile description: Project includes a Dockerfile - name: compose display_name: Docker Compose detect_file: docker-compose.yml description: Project includes a Docker Compose file toolchains: - ecosystem: node package_managers: [pnpm, npm] lockfiles: [pnpm-lock.yaml, package-lock.json] mcp_defaults: - name: database-inspector when: always pentest: file_check_map: - glob: src/**/*.ts checks: [business-logic-abuse-review, input-validation] - glob: src/server.* checks: [permission-boundary-review, runtime-surface-probing] - glob: src/app.* checks: [permission-boundary-review, runtime-surface-probing] - glob: src/middleware/** checks: [permission-boundary-review] - glob: package.json checks: [dependency-advisory-triage] - glob: pnpm-lock.yaml checks: [dependency-advisory-triage] - glob: package-lock.json checks: [dependency-advisory-triage] - glob: yarn.lock checks: [dependency-advisory-triage] - glob: .env* checks: [runtime-surface-probing] - glob: config/** checks: [runtime-surface-probing] - glob: Dockerfile checks: [runtime-surface-probing] - glob: docker-compose.yml checks: [runtime-surface-probing] audit_commands: - command: pnpm audit --json parser: node ast: language: typescript tree_sitter_grammar: tree-sitter-typescript file_extensions: ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'] testing: frameworks: - name: vitest detect_package: vitest run_command: pnpm test - name: jest detect_package: jest run_command: pnpm test test_runners: - runner_id: vitest structured_format: tap structured_flags: --reporter=tap default_command: pnpm test single_test_selector: file parallel: mode: native - runner_id: jest structured_format: jest-json structured_flags: --json default_command: pnpm test single_test_selector: file parallel: mode: native build_outputs: - dist format_changed: - default_command: pnpm format script: prettier --write . command: pnpm exec prettier --write --ignore-unknown {files} - default_command: npm run format script: prettier --write . command: npx --no-install prettier --write --ignore-unknown {files} docs: conventions_template: rules/conventions.md module_health: source_roots: - src source_globs: [] public_api_extractor: null test_command: pnpm test coverage_format: lcov coverage_path: coverage/lcov.info test_report_format: vitest-json test_report_path: coverage/vitest-results.json git_window_days: 14