A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.
956 matches across 8 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | bin/install.js | 2515 | // ── End Cline converters ───────────────────────────────────────────────────── |
| MEDIUM | bin/install.js | 9931 | // ─── Update banner (#2795) ────────────────────────────────────────────────── |
| MEDIUM | bin/install.js | 9931 | // ─── Update banner (#2795) ────────────────────────────────────────────────── |
| MEDIUM | bin/install.js | 2487 | // ── Cline converters ──────────────────────────────────────────────────────── |
| MEDIUM | bin/install.js | 7378 | // ────────────────────────────────────────────────────── |
| MEDIUM | bin/install.js | 7380 | // ────────────────────────────────────────────────────── |
| MEDIUM | …ers/plans/2026-03-18-materialize-new-project-config.md | 82 | // ─── config-new-project ────────────────────────────────────────────────────── |
| MEDIUM | …ers/plans/2026-03-18-materialize-new-project-config.md | 82 | // ─── config-new-project ────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli-transport.ts | 11 | // ─── ANSI escape constants (no dependency per D021) ────────────────────────── |
| MEDIUM | sdk/src/cli-transport.ts | 21 | // ─── Helpers ───────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli-transport.ts | 45 | // ─── CLITransport ──────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli-transport.ts | 70 | // ─── Private formatting ──────────────────────────────────────────── |
| MEDIUM | sdk/src/context-truncation.ts | 12 | // ─── Types ────────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/context-truncation.ts | 23 | // ─── Markdown-aware truncation ────────────────────────────────────────────── |
| MEDIUM | sdk/src/context-truncation.ts | 119 | // ─── Milestone extraction ─────────────────────────────────────────────────── |
| MEDIUM | sdk/src/phase-prompt.ts | 20 | // ─── Workflow file mapping ─────────────────────────────────────────────────── |
| MEDIUM | sdk/src/phase-prompt.ts | 34 | // ─── XML block extraction ──────────────────────────────────────────────────── |
| MEDIUM | sdk/src/phase-prompt.ts | 65 | // ─── YAML frontmatter stripping ───────────────────────────────────────────── |
| MEDIUM | sdk/src/phase-prompt.ts | 76 | // ─── PromptFactory class ───────────────────────────────────────────────────── |
| MEDIUM | sdk/src/research-gate.ts | 9 | // ─── Types ────────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/research-gate.ts | 18 | // ─── Open questions detection ─────────────────────────────────────────────── |
| MEDIUM | sdk/src/context-truncation.test.ts | 8 | // ─── truncateMarkdown ─────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/context-truncation.test.ts | 76 | // ─── extractCurrentMilestone ──────────────────────────────────────────────── |
| MEDIUM | sdk/src/gsd-tools.ts | 27 | // ─── GSDTools class ────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/gsd-tools.ts | 139 | // ─── Core exec ─────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/gsd-tools.ts | 149 | // ─── Raw exec (no JSON parsing) ─────────────────────────────────────── |
| MEDIUM | sdk/src/gsd-tools.ts | 163 | // ─── Typed convenience methods ───────────────────────────────────────── |
| MEDIUM | sdk/src/plan-parser.ts | 20 | // ─── YAML frontmatter extraction ───────────────────────────────────────────── |
| MEDIUM | sdk/src/plan-parser.ts | 155 | // ─── must_haves block parsing ──────────────────────────────────────────────── |
| MEDIUM | sdk/src/plan-parser.ts | 214 | // ─── XML task extraction ───────────────────────────────────────────────────── |
| MEDIUM | sdk/src/plan-parser.ts | 309 | // ─── Section extraction ────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/plan-parser.ts | 350 | // ─── Public API ────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/session-runner.test.ts | 14 | // ─── Mock the Agent SDK ─────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/session-runner.test.ts | 46 | // ─── Import SUT after mock is hoisted ──────────────────────────────────────── |
| MEDIUM | sdk/src/session-runner.test.ts | 50 | // ─── Helpers ───────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/session-runner.test.ts | 56 | // ─── Tests ─────────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/session-runner.test.ts | 99 | // ─── #2832: runtime-aware model resolution ───────────────────────────────── |
| MEDIUM | sdk/src/session-runner.test.ts | 99 | // ─── #2832: runtime-aware model resolution ───────────────────────────────── |
| MEDIUM | sdk/src/research-gate.test.ts | 5 | // ── Pass cases ────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/research-gate.test.ts | 65 | // ── Fail cases ────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/research-gate.test.ts | 148 | // ── Edge cases ────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/errors.ts | 18 | // ─── Error Classification ─────────────────────────────────────────────────── |
| MEDIUM | sdk/src/errors.ts | 35 | // ─── GSDError ─────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/errors.ts | 53 | // ─── Exit code mapping ────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/tool-scoping.ts | 15 | // ─── Phase default tool sets ───────────────────────────────────────────────── |
| MEDIUM | sdk/src/tool-scoping.ts | 26 | // ─── Phase → agent definition filename ────────────────────────────────────── |
| MEDIUM | sdk/src/tool-scoping.ts | 41 | // ─── Public API ────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/event-stream.ts | 53 | // ─── Mapping context ───────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/event-stream.ts | 60 | // ─── GSDEventStream ────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/event-stream.ts | 74 | // ─── Transport management ──────────────────────────────────────────── |
| MEDIUM | sdk/src/event-stream.ts | 98 | // ─── Event emission ────────────────────────────────────────────────── |
| MEDIUM | sdk/src/event-stream.ts | 117 | // ─── SDKMessage mapping ────────────────────────────────────────────── |
| MEDIUM | sdk/src/event-stream.ts | 176 | // ─── Cost tracking ─────────────────────────────────────────────────── |
| MEDIUM | sdk/src/event-stream.ts | 203 | // ─── Private mappers ───────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli.ts | 23 | // ─── Parsed CLI args ───────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli.ts | 182 | // ─── Usage ─────────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli.ts | 224 | // ─── Init input resolution ─────────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli.ts | 281 | // ─── Main ──────────────────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli.ts | 313 | // ─── Query command ────────────────────────────────────────────────────── |
| MEDIUM | sdk/src/cli.ts | 356 | // ─── Init command ───────────────────────────────────────────────────────── |
| 634 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | bin/install.js | 2505 | function convertClaudeAgentToClineAgent(content) { |
| LOW | bin/install.js | 2517 | function convertSlashCommandsToCodexSkillMentions(content) { |
| LOW | bin/install.js | 9938 | function buildUpdateBannerPromptText() { |
| LOW | bin/install.js | 49 | function shouldNormalizeHyphenNamespaceInAgentBody(runtime) { |
| LOW | bin/install.js | 60 | function normalizeAgentBodyForRuntime(content, runtime, cmdNames) { |
| LOW | bin/install.js | 734 | function rewriteLegacyManagedNodeHookCommands(settings, absoluteRunner, opts) { |
| LOW | bin/install.js | 869 | function rewriteLegacyCodexHookBlock(content, absoluteRunner, opts) { |
| LOW | bin/install.js | 911 | function reconcileCodexHooksJsonSessionStart(targetDir, opts = {}) { |
| LOW | bin/install.js | 1015 | function buildCodexHookWindowsShimIR(scriptAbsPath, absoluteRunnerToken) { |
| LOW | bin/install.js | 1075 | function ensureCodexHooksJsonSessionStart(targetDir, opts = {}) { |
| LOW | bin/install.js | 1121 | function removeCodexHooksJsonSessionStart(targetDir) { |
| LOW | bin/install.js | 1181 | function resolveOpencodeConfigPath(configDir) { |
| LOW | bin/install.js | 1292 | function readGsdGlobalModelOverrides() { |
| LOW | bin/install.js | 1331 | function readGsdEffectiveModelOverrides(targetDir = null) { |
| LOW | bin/install.js | 1407 | function readGsdRuntimeProfileResolver(targetDir = null) { |
| LOW | bin/install.js | 1671 | function convertClaudeToKiloPermissionTool(claudeTool) { |
| LOW | bin/install.js | 1675 | function buildKiloAgentPermissionBlock(claudeTools) { |
| LOW | bin/install.js | 1697 | function replaceRelativePathReference(content, fromPath, toPath) { |
| LOW | bin/install.js | 1733 | function convertClaudeToCopilotContent(content, isGlobal = false) { |
| LOW | bin/install.js | 1762 | function convertClaudeCommandToCopilotSkill(content, skillName, isGlobal = false) { |
| LOW | bin/install.js | 1821 | function convertClaudeCommandToClaudeSkill(content, skillName, runtime = null, cmdNames = null) { |
| LOW | bin/install.js | 1866 | function convertClaudeAgentToCopilotAgent(content, isGlobal = false) { |
| LOW | bin/install.js | 1903 | function convertClaudeToAntigravityContent(content, isGlobal = false) { |
| LOW | bin/install.js | 1932 | function convertClaudeCommandToAntigravitySkill(content, skillName, isGlobal = false) { |
| LOW | bin/install.js | 1950 | function convertClaudeAgentToAntigravityAgent(content, isGlobal = false) { |
| LOW | bin/install.js | 1988 | function extractFrontmatterAndBody(content) { |
| LOW | bin/install.js | 2035 | function convertSlashCommandsToCursorSkillMentions(content) { |
| LOW | bin/install.js | 2041 | function convertClaudeToCursorMarkdown(content) { |
| LOW | bin/install.js | 2064 | function getCursorSkillAdapterHeader(skillName) { |
| LOW | bin/install.js | 2090 | function convertClaudeCommandToCursorSkill(content, skillName) { |
| LOW | bin/install.js | 2112 | function convertClaudeAgentToCursorAgent(content) { |
| LOW | bin/install.js | 2154 | function convertSlashCommandsToWindsurfSkillMentions(content) { |
| LOW | bin/install.js | 2159 | function convertClaudeToWindsurfMarkdown(content) { |
| LOW | bin/install.js | 2182 | function getWindsurfSkillAdapterHeader(skillName) { |
| LOW | bin/install.js | 2208 | function convertClaudeCommandToWindsurfSkill(content, skillName) { |
| LOW | bin/install.js | 2230 | function convertClaudeAgentToWindsurfAgent(content) { |
| LOW | bin/install.js | 2275 | function convertSlashCommandsToAugmentSkillMentions(content) { |
| LOW | bin/install.js | 2279 | function convertClaudeToAugmentMarkdown(content) { |
| LOW | bin/install.js | 2304 | function getAugmentSkillAdapterHeader(skillName) { |
| LOW | bin/install.js | 2334 | function convertClaudeCommandToAugmentSkill(content, skillName) { |
| LOW | bin/install.js | 2356 | function convertClaudeAgentToAugmentAgent(content) { |
| LOW | bin/install.js | 2375 | function convertSlashCommandsToTraeSkillMentions(content) { |
| LOW | bin/install.js | 2381 | function convertClaudeToTraeMarkdown(content) { |
| LOW | bin/install.js | 2401 | function convertClaudeCommandToTraeSkill(content, skillName) { |
| LOW | bin/install.js | 2418 | function convertClaudeAgentToTraeAgent(content) { |
| LOW | bin/install.js | 2432 | function convertSlashCommandsToCodebuddySkillMentions(content) { |
| LOW | bin/install.js | 2438 | function convertClaudeToCodebuddyMarkdown(content) { |
| LOW | bin/install.js | 2456 | function convertClaudeCommandToCodebuddySkill(content, skillName) { |
| LOW | bin/install.js | 2473 | function convertClaudeAgentToCodebuddyAgent(content) { |
| LOW | bin/install.js | 2489 | function convertClaudeToCliineMarkdown(content) { |
| LOW | bin/install.js | 2531 | function convertClaudeToCodexMarkdown(content) { |
| LOW | bin/install.js | 2558 | function getCodexSkillAdapterHeader(skillName) { |
| LOW | bin/install.js | 2622 | function convertClaudeCommandToCodexSkill(content, skillName) { |
| LOW | bin/install.js | 2644 | function convertClaudeAgentToCodexAgent(content) { |
| LOW | bin/install.js | 2755 | function stripCodexGsdAgentSections(content) { |
| LOW | bin/install.js | 2945 | function findMultilineBasicStringClose(line, startIndex) { |
| LOW | bin/install.js | 2962 | function advanceTomlMultilineStringState(line, multilineState) { |
| LOW | bin/install.js | 3336 | function stripCodexHooksFeatureAssignments(content, ownership = null) { |
| LOW | bin/install.js | 3414 | function getManagedCodexHooksOwnership(content) { |
| LOW | bin/install.js | 3425 | function setManagedCodexHooksOwnership(content, ownership) { |
| 118 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | .coderabbit.yaml | 1 | # CodeRabbit configuration — gsd-build/get-shit-done |
| LOW | .coderabbit.yaml | 21 | # checks, line-level findings) which we want to keep. |
| LOW | bin/install.js | 741 | for (const entry of entries) { |
| LOW | bin/install.js | 3481 | // managed `gsd-*` names, and the legacy bare-table and sequence forms |
| LOW | bin/install.js | 3681 | // Find flat [[hooks]] array-of-tables entries (path === 'hooks', array === true). |
| LOW | bin/install.js | 3801 | legacyHooksSections.map(({ start, end }) => ({ start, end })), |
| LOW | bin/install.js | 4041 | // rejects. Accept TOML floats and store as JS Number.) |
| LOW | bin/install.js | 4101 | // pathShape: dotted path -> 'table' | 'array' | 'inline_parent' | 'key' |
| LOW | bin/install.js | 4941 | // GSD install before generic .claude → .codex conversion rewrites it. |
| LOW | bin/install.js | 5081 | // sentence-ending punctuation like `/gsd-help.` because `.` at end of |
| LOW | bin/install.js | 6261 | fs.mkdirSync(dest, { recursive: true }); |
| LOW | bin/install.js | 7921 | } |
| LOW | bin/install.js | 8021 | // Save any locally modified GSD files before they get wiped. |
| LOW | bin/install.js | 8041 | // reflect the true pre-GSD state. Non-Codex runtimes skip this block. |
| LOW | bin/install.js | 8201 | // Runtime scope comes from docs/installer-migrations.md#runtime-configuration-contract-registry: |
| LOW | bin/install.js | 8221 | // no stdin TTY and therefore no way to answer prompt-user migration |
| LOW | bin/install.js | 8261 | blocked: [], |
| LOW | bin/install.js | 8341 | } else { |
| LOW | bin/install.js | 9121 | } catch (e) { |
| LOW | bin/install.js | 9221 | console.log(` ${green}✓${reset} Rewrote legacy bare-node managed-hook commands to absolute path (#2979)`); |
| LOW | bin/install.js | 10421 | // secondary `gsd-sdk` shim is left dangling under the npx cache and is NOT |
| LOW | bin/install.js | 10461 | // shells may have a different PATH — Windows cross-shell .cmd/no-ext |
| LOW | bin/install.js | 10941 | // Replace any existing entry — it may be stale (prior install of an |
| LOW | bin/install.js | 11161 | // install set can host the banner (e.g. Codex/Copilot/Cursor/Windsurf/ |
| LOW | agents/gsd-code-fixer.md | 221 | # but the shell snippet below is illustrative — adapt once config is parsed). |
| LOW | agents/gsd-code-fixer.md | 301 | 6. **Write the recovery sentinel** at `${phase_dir}/.review-fix-recovery-pending.json` containing `{worktree_path, branc |
| LOW | agents/gsd-code-fixer.md | 321 | ff_status=0 |
| LOW | sdk/src/config.test.ts | 181 | // model aliases from MODEL_PROFILES via resolveModel even when the user |
| LOW | sdk/src/runtime-bridge-sync/index.ts | 81 | errorKind: SyncErrorKind; |
| LOW | sdk/src/query/verify.ts | 641 | message: result.message, |
| LOW | sdk/src/query/check-ship-ready.test.ts | 121 | // the shell. |
| LOW | sdk/src/query/check-ship-ready.test.ts | 221 | // No interpolation site exists for those today, but locking the |
| LOW | sdk/src/query/phase-lifecycle.ts | 881 | // #3601: the end-of-section lookahead is DEPTH-AWARE. The named capture |
| LOW | sdk/src/query/phase-lifecycle.ts | 941 | // kebab-case slug, then -PLAN.md / -SUMMARY.md). |
| LOW | sdk/src/query/phase-lifecycle.ts | 1241 | |
| LOW | sdk/src/query/roadmap.test.ts | 601 | |
| LOW | sdk/src/query/roadmap.test.ts | 741 | // Heading slice is what got returned — original `### v0.9` heading |
| LOW | sdk/src/query/config-mutation.ts | 561 | } catch { |
| LOW | sdk/src/query/commit.test.ts | 341 | }); |
| LOW | sdk/src/query/roadmap.ts | 221 | // milestone's phase details inside a collapsible block whose <summary> |
| LOW | sdk/src/query/roadmap.ts | 241 | // ${escapedVersion} inline HTML in the summary text |
| LOW | sdk/src/query/roadmap.ts | 301 | // `i` flag ensures the `(?!Phase\s+\S)` lookahead matches PHASE/phase too |
| LOW | sdk/src/query/roadmap.ts | 321 | sectionEnd = sectionStart + sectionMatch[0].length + m.index; |
| LOW | sdk/src/query/phase.ts | 501 | // Build a map from plan ID → RawPlan for fast lookup. |
| LOW | hooks/gsd-prompt-guard.js | 1 | #!/usr/bin/env node |
| LOW | hooks/gsd-read-guard.js | 1 | #!/usr/bin/env node |
| LOW | hooks/gsd-read-guard.js | 41 | // Detection signals, in priority order: |
| LOW | hooks/gsd-graphify-update.sh | 1 | #!/usr/bin/env bash |
| LOW | hooks/gsd-session-state.sh | 1 | #!/usr/bin/env bash |
| LOW | hooks/gsd-update-banner.js | 1 | #!/usr/bin/env node |
| LOW | hooks/gsd-context-monitor.js | 1 | #!/usr/bin/env node |
| LOW | hooks/gsd-read-injection-scanner.js | 1 | #!/usr/bin/env node |
| LOW | hooks/gsd-workflow-guard.js | 1 | #!/usr/bin/env node |
| LOW | hooks/lib/gsd-graphify-rebuild.sh | 1 | #!/usr/bin/env bash |
| LOW | scripts/base64-scan.sh | 1 | #!/usr/bin/env bash |
| LOW | scripts/prompt-injection-scan.sh | 1 | #!/usr/bin/env bash |
| LOW | scripts/secret-scan.sh | 1 | #!/usr/bin/env bash |
| LOW | scripts/build-hooks.js | 161 | // from their before() hooks; fs.copyFileSync truncates then writes the |
| LOW | .github/workflows/hotfix.yml | 1 | name: Hotfix Release |
| LOW | .github/workflows/release-sdk.yml | 1 | # Release SDK Bundle |
| 8 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | docs/zh-CN/references/verification-patterns.md | 330 | DATABASE_URL=your-database-url-here |
| HIGH | get-shit-done/references/verification-patterns.md | 330 | DATABASE_URL=your-database-url-here |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docs/FEATURES.md | 2571 | - REQ-SKETCH-04: Sketches MUST use real-ish content, not lorem ipsum |
| LOW | docs/zh-CN/references/verification-patterns.md | 34 | grep -E "placeholder|lorem ipsum|coming soon|under construction" "$file" -i |
| LOW | sdk/src/init-e2e.integration.test.ts | 55 | execSync('git config user.email "test@test.com"', { cwd: tmpDir, stdio: 'ignore' }); |
| LOW | sdk/src/lifecycle-e2e.integration.test.ts | 70 | execSync('git config user.email "test@test.com"', { cwd: tmpDir, stdio: 'ignore' }); |
| LOW | sdk/src/query/commit.test.ts | 22 | execSync('git config user.email "test@test.com"', { cwd: tmpDir, stdio: 'pipe' }); |
| LOW | get-shit-done/references/verification-patterns.md | 34 | grep -E "placeholder|lorem ipsum|coming soon|under construction" "$file" -i |
| LOW | get-shit-done/workflows/sketch.md | 236 | - Real-ish content, not lorem ipsum (use real field names from spike context if available) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | hooks/lib/gsd-graphify-rebuild.sh | 4 | # Usage: |
| LOW | scripts/base64-scan.sh | 7 | # Usage: |
| LOW | scripts/prompt-injection-scan.sh | 4 | # Usage: |
| LOW | scripts/secret-scan.sh | 4 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | sdk/src/prompt-sanitizer.ts | 103 | // Step 1: Resolve @-file references to inline content |
| LOW | sdk/src/prompt-sanitizer.ts | 106 | // Step 2: Strip interactive-only patterns |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/base64-scan.sh | 183 | # Check if decoded content is mostly printable text (not random binary) |