Local, open-source AI app builder for power users ✨ v0 / Lovable / Replit / Bolt alternative 🌟 Star if you like it!
747 matches across 11 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 5 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 7 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 21 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 23 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 32 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 34 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 43 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 45 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 54 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 56 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 63 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 65 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 72 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 74 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 82 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 84 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 92 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 94 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 100 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/python_good_commands.txt | 102 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 5 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 7 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 50 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 52 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 62 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 64 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 73 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 75 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 80 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 82 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 89 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 91 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 98 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 100 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 113 | # ============================================================================= |
| MEDIUM | …laude/hooks/tests/python_security_blocked_commands.txt | 115 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 75 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 77 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 87 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 89 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 297 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 299 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 308 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 310 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 694 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 696 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 704 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 706 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 767 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 769 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 777 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 779 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 4 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 6 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 60 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 62 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 146 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 148 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 161 | # ============================================================================= |
| MEDIUM | .claude/hooks/tests/good_commands.txt | 163 | # ============================================================================= |
| 213 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | plans/catalog-data.ts | 339 | export function buildLanguageModelCatalogResponse( |
| LOW | .claude/hooks/gh-permission-hook.py | 242 | def neutralize_code_spans_in_double_quotes(match: re.Match) -> str: |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 48 | def test_invalid_json_passthrough(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 59 | def test_non_dict_tool_input_passthrough(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 73 | def test_bash_commands_analyzed(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 83 | def test_no_claude_cli_passthrough(self, monkeypatch): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 96 | def test_response_format_documented(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 114 | def test_policy_has_green_section(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 120 | def test_policy_has_yellow_section(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 126 | def test_policy_has_red_section(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 137 | def test_policy_covers_git_force_push(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 142 | def test_policy_covers_shell_patterns(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 148 | def test_policy_covers_curl_pipe_sh(self): |
| LOW | .claude/hooks/tests/test_permission_request_hook.py | 153 | def test_policy_covers_safe_commands(self): |
| LOW | .claude/hooks/tests/test_python_permission_hook.py | 105 | def test_passthrough_commands() -> tuple[int, int, list[str]]: |
| LOW | .claude/hooks/tests/test_python_permission_hook.py | 124 | def test_security_blocked_commands() -> tuple[int, int, list[str]]: |
| LOW | .claude/hooks/tests/test_stop_hook.py | 95 | def test_analyze_returns_none_when_no_cli(self, tmp_path, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 104 | def test_no_claude_cli_allows_stop(self, tmp_path): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 48 | def test_invalid_json_allows_stop(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 59 | def test_stop_hook_active_allows_stop(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 70 | def test_missing_transcript_allows_stop(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 80 | def test_nonexistent_transcript_allows_stop(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 123 | def test_parses_valid_json_response(self, tmp_path, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 141 | def test_parses_json_in_markdown_code_fence(self, tmp_path, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 158 | def test_returns_none_for_no_json(self, tmp_path, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 174 | def test_returns_none_for_malformed_json(self, tmp_path, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 190 | def test_returns_none_on_nonzero_returncode(self, tmp_path, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 206 | def test_returns_none_on_subprocess_error(self, tmp_path, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 219 | def test_returns_none_for_empty_transcript(self, tmp_path, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 231 | def test_response_format_documented(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 238 | def test_hook_checks_stop_hook_active(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 258 | def test_extracts_incomplete_tasks(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 290 | def test_extracts_completed_tasks(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 299 | def test_handles_nonexistent_file(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 322 | def test_blocks_with_remaining_tasks(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 347 | def test_allows_stop_with_all_tasks_completed(self, monkeypatch): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 369 | def test_reads_incomplete_tasks_fixture(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 397 | def test_reads_completed_tasks_fixture(self): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 426 | def test_reads_assistant_messages(self, tmp_path): |
| LOW | .claude/hooks/tests/test_stop_hook.py | 438 | def test_truncates_large_transcripts(self, tmp_path): |
| LOW | …ills/fix-issue/scripts/test_sanitize_issue_markdown.py | 49 | def test_excessive_whitespace(self): |
| LOW | …ills/fix-issue/scripts/test_sanitize_issue_markdown.py | 70 | def test_preserves_code_blocks(self): |
| LOW | …ills/fix-issue/scripts/test_sanitize_issue_markdown.py | 85 | def test_preserves_inline_code(self): |
| LOW | …ills/fix-issue/scripts/test_sanitize_issue_markdown.py | 111 | def test_removes_control_characters(self): |
| LOW | e2e-tests/package_manager.spec.ts | 27 | async function configurePackageManagerCache(userDataDir: string) { |
| LOW | e2e-tests/package_manager.spec.ts | 63 | async function createUpgradeablePnpmShim(userDataDir: string) { |
| LOW | e2e-tests/package_manager.spec.ts | 135 | async function restorePackageManagerCache() { |
| LOW | e2e-tests/package_manager.spec.ts | 249 | function extendSocketFirewallTestTimeout(testInfo: TestInfo) { |
| LOW | e2e-tests/custom_apps_folder.spec.ts | 7 | async function expectCustomAppsFolderSetting( |
| LOW | e2e-tests/edit_code.spec.ts | 24 | async function selectFileAndWaitForEditor(page: Page, fileName: string) { |
| LOW | e2e-tests/switch_versions.spec.ts | 5 | async function amendRuntimeWorkspaceIntoCurrentCommit(po: PageObject) { |
| LOW | e2e-tests/uncommitted_files_banner.spec.ts | 24 | function commitRuntimeBaselineChanges(appPath: string) { |
| LOW | …ec.ts_regular-auto-should-send-message-to-engine-1.txt | 146 | "content": "import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn |
| LOW | …/snapshots/engine.spec.ts_send-message-to-engine-1.txt | 86 | "[[FILE_ID_61]]": "import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimpo |
| LOW | …spec.ts_smart-auto-should-send-message-to-engine-1.txt | 81 | "[[FILE_ID_61]]": "import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimpo |
| LOW | e2e-tests/snapshots/copy_app.spec.ts_app.txt | 1627 | function getPayloadConfigFromPayload( |
| LOW | …apshots/mention_app.spec.ts_mention-app-with-pro-1.txt | 146 | "content": "import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn |
| LOW | …_v2.spec.ts_turbo-edits-v2---search-replace-dump-1.txt | 81 | "[[FILE_ID_61]]": "import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimpo |
| LOW | …nd-message-to-engine---anthropic-claude-sonnet-4-1.txt | 86 | "[[FILE_ID_61]]": "import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimpo |
| LOW | …t-deep---mention-app-should-fallback-to-balanced-1.txt | 146 | "content": "import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn |
| 353 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tsconfig.node.json | 21 | // // "moduleResolution": "bundler", |
| LOW | plans/web-fetch-local-agent.md | 141 | ### Key Implementation Details |
| LOW | plans/web-fetch-local-agent.md | 181 | // 1. Validate URL scheme (http/https only) |
| LOW | plans/neondb-integration.md | 421 | NEON_AUTH_COOKIE_SECRET=your-cookie-secret-here # Secret for session cookies |
| LOW | .claude/hooks/gh-permission-hook.py | 141 | ) |
| LOW | .claude/hooks/gh-permission-hook.py | 201 | # - Zero or more VAR=value assignments (no spaces in value, or quoted) |
| LOW | .claude/hooks/gh-permission-hook.py | 281 | |
| LOW | .claude/hooks/gh-permission-hook.py | 521 | """ |
| LOW | .claude/hooks/tests/good_commands.txt | 761 | gh api repos/$(gh repo view --json nameWithOwner -q .nameWithOwner)/pulls/2524/comments --paginate 2>/dev/null | jq -r ' |
| LOW | …sts/snapshots/capacitor.spec.ts_upgraded-capacitor.txt | 221 | # Add project specific ProGuard rules here. |
| LOW | …sts/snapshots/capacitor.spec.ts_upgraded-capacitor.txt | 741 | |
| LOW | …sts/snapshots/capacitor.spec.ts_upgraded-capacitor.txt | 1081 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip |
| LOW | …sts/snapshots/capacitor.spec.ts_upgraded-capacitor.txt | 1101 | # distributed under the License is distributed on an "AS IS" BASIS, |
| LOW | …sts/snapshots/capacitor.spec.ts_upgraded-capacitor.txt | 1121 | # |
| LOW | …sts/snapshots/capacitor.spec.ts_upgraded-capacitor.txt | 1141 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; |
| LOW | …sts/snapshots/capacitor.spec.ts_upgraded-capacitor.txt | 1281 | # args, so each arg winds up back in the position where it started, but |
| LOW | …sts/snapshots/capacitor.spec.ts_upgraded-capacitor.txt | 1321 | # set -- "${ARGS[@]}" "$@" |
| LOW | e2e-tests/helpers/test-ports.ts | 1 | // Base port for fake LLM servers - each worker gets its own port |
| LOW | scripts/ci-cleanup-macos.sh | 1 | #!/usr/bin/env bash |
| LOW | .github/workflows/cla.yml | 41 | #custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA' |
| LOW | worker/dyad-sw.js | 21 | self.addEventListener("fetch", (event) => { |
| LOW | src/main.ts | 201 | |
| LOW | …/pro/main/ipc/handlers/local_agent/tool_definitions.ts | 461 | // blueprint approval is resolved. `write_app_blueprint` owns the |
| LOW | src/utils/codebase.ts | 81 | const ALWAYS_OMITTED_FILES = [".env", ".env.local"]; |
| LOW | src/__tests__/evals/helpers/eval_recorder.ts | 1 | import { mkdir, writeFile } from "node:fs/promises"; |
| LOW | src/__tests__/evals/helpers/prompts.ts | 1 | // System prompts used by the eval suites. |
| LOW | src/ipc/handlers/migration_handlers.ts | 21 | // Handler Registration |
| LOW | src/ipc/handlers/compaction/compaction_handler.ts | 221 | // Create the compaction indicator message |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | .claude/skills/pr-fix-comments/SKILL.md | 225 | 🤖 Generated by Claude Code |
| HIGH | testing/fake-llm-server/chatCompletionHandler.ts | 100 | "## Key Decisions Made\n- Completed initial task as requested\n\n## Current Task State\nConversation was compact |
| HIGH | src/ipc/handlers/shell_handler.ts | 70 | // The dyad-apps tree contains AI-generated code, so opening arbitrary files |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/add-macos-cert.sh | 9 | # Check if the variable is set |
| LOW | .claude/hooks/python-permission-hook.py | 221 | # Check if the path is inside the project directory |
| LOW | .claude/hooks/python-permission-hook.py | 252 | # Check if this is a python/python3 command |
| LOW | .claude/hooks/python-permission-hook.py | 272 | # Check if the script is inside .claude directory |
| LOW | .claude/hooks/python-permission-hook.py | 302 | # Check if this even looks like a python command before denying |
| LOW | .claude/hooks/python-permission-hook.py | 318 | # Check if command starts with python or python3 |
| LOW | .claude/hooks/python-permission-hook.py | 363 | # Check if next argument is an allowed module |
| LOW | .claude/hooks/python-permission-hook.py | 443 | # Check if the script is inside the .claude directory |
| LOW | .claude/hooks/gh-permission-hook.py | 351 | # Check if this is a gh api command |
| LOW | .claude/hooks/gh-permission-hook.py | 455 | # Check if command has input data (implies write operation) |
| LOW | .github/workflows/ci.yml | 78 | # Check if all changed files are in config-only directories (.claude, rules) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/__tests__/prepare_step_utils.test.ts | 421 | // Step 1: Add first pending message |
| LOW | src/__tests__/prepare_step_utils.test.ts | 437 | // Step 2: AI added a new message, add another pending message |
| LOW | src/__tests__/prepare_step_utils.test.ts | 514 | // Step 1: User sends initial prompt |
| LOW | src/__tests__/prepare_step_utils.test.ts | 525 | // Step 2: AI responds with tool call, tool adds screenshot |
| LOW | src/__tests__/prepare_step_utils.test.ts | 580 | // Step 3: AI continues, tool adds another screenshot |
| LOW | src/__tests__/prepare_step_utils.test.ts | 1082 | // Step 0: web_crawl + list_files |
| LOW | src/__tests__/prepare_step_utils.test.ts | 1105 | // Step 1: model generates a search_replace tool call |
| LOW | src/prompts/neon_prompt.ts | 88 | ## Step 0: Inspect the App Before Scaffolding |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tools/add-macos-cert.sh | 24 | # Create a keychain |
| MEDIUM | .claude/hooks/tests/test_stop_hook.py | 106 | # Create a minimal transcript |
| MEDIUM | .claude/hooks/tests/test_stop_hook.py | 442 | # Create a large transcript with many messages |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | .claude/hooks/python-permission-hook.py | 96 | # Replace safe redirect patterns (2>&1, >/dev/null) before checking |
| HIGH | .claude/hooks/gh-permission-hook.py | 299 | # Replace safe redirect patterns (like 2>&1, 2>/dev/null) before checking |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .claude/hooks/python-permission-hook.py | 338 | # Use shlex for robust argument parsing |
| MEDIUM | .github/workflows/claude-pr-review.yml | 3 | # https://github.com/anthropics/claude-code-action/blob/main/examples/pr-review-comprehensive.yml |
| MEDIUM | src/ipc/handlers/app_collection_handlers.ts | 180 | // but we null out explicitly first so the operation is robust regardless |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | .claude/hooks/python-permission-hook.py | 123 | |
| LOW | .claude/hooks/python-permission-hook.py | 288 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …t_web_fetch.spec.ts_local-agent---web-fetch-1.aria.yml | 29 | - paragraph: Here's a summary of the page content. The getting started guide covers three main items. Let me know if you |