seu-claude 1.1.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.json +11 -0
- package/.claude/settings.local.json +81 -0
- package/.dockerignore +30 -0
- package/.eslintrc.cjs +75 -0
- package/.eslintrc.json +26 -0
- package/.github/CODEOWNERS +16 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +42 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +27 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +45 -0
- package/.github/SUPPORT.md +54 -0
- package/.github/codeql/codeql-config.yml +21 -0
- package/.github/workflows/ci.yml +123 -0
- package/.github/workflows/release.yml +149 -0
- package/.github/workflows/security.yml +155 -0
- package/.github/workflows/stale.yml +27 -0
- package/.github/workflows/triage.yml +63 -0
- package/.husky/commit-msg +5 -0
- package/.husky/pre-commit +8 -0
- package/.prettierrc +9 -0
- package/.seu-claude-v2/phase4-tasks.db +0 -0
- package/ARCHITECTURE_V2.md +567 -0
- package/BRAND_CONTEXT.md +169 -0
- package/CHANGELOG.md +309 -0
- package/CLA.md +23 -0
- package/CODE_OF_CONDUCT.md +48 -0
- package/CONTINUE_SESSION.md +241 -0
- package/CONTRIBUTING.md +231 -0
- package/COVERAGE-PLAN.md +88 -0
- package/Dockerfile +70 -0
- package/FEATURE_AUDIT.md +135 -0
- package/FOLLOWUP.md +247 -0
- package/LAUNCH_STATUS.md +168 -0
- package/LICENSE_COMPLIANCE.md +141 -0
- package/MARKETING_KIT.md +326 -0
- package/PHASE3-PLAN.md +380 -0
- package/PHASE4_APPROACH.md +350 -0
- package/PHASE4_COMPLETE.md +349 -0
- package/PHASE4_SUMMARY.md +144 -0
- package/PRODUCTION_LAUNCH_PLAN.md +539 -0
- package/QUICKSTART.md +305 -0
- package/README.md +386 -239
- package/README_V1_LEGACY.md +546 -0
- package/RELEASE_NOTES_V2.3.0.md +395 -0
- package/ROADMAP_v2.md +44 -0
- package/SECURITY.md +79 -0
- package/SOCIAL_POSTS.md +193 -0
- package/TASK_CHECKLIST.md +248 -0
- package/USER_GUIDE.md +1131 -0
- package/V2_MIGRATION.md +412 -0
- package/agents/seu-context-summarizer.md +22 -0
- package/agents/seu-researcher.md +24 -0
- package/agents/seu-xref-explorer.md +25 -0
- package/articles/MEDIUM-ARTICLE-DRAFT.md +416 -0
- package/assets/landing-page/App.jsx +280 -0
- package/assets/logo.png +0 -0
- package/assets/logo.svg +52 -0
- package/assets/social-preview.png +0 -0
- package/assets/social-preview.svg +68 -0
- package/bench_img.py +59 -0
- package/benchmark-results/benchmark-2026-01-15T18-37-58-249Z.json +14 -0
- package/benchmark-results/benchmark-2026-01-15T19-13-32-863Z.json +14 -0
- package/benchmark-results.json +116 -0
- package/benchmark_results.png +0 -0
- package/benchmarks/datasets/seu-claude/call-graphs.json +1657 -0
- package/benchmarks/datasets/seu-claude/circular-dependencies.json +1 -0
- package/benchmarks/datasets/seu-claude/dataset.json +4838 -0
- package/benchmarks/datasets/seu-claude/import-resolutions.json +462 -0
- package/benchmarks/datasets/seu-claude/metadata.json +11 -0
- package/benchmarks/datasets/seu-claude/symbol-lookups.json +2705 -0
- package/benchmarks/performance.ts +271 -0
- package/commitlint.config.cjs +26 -0
- package/demo-linkedin.tape +30 -0
- package/demo.tape +105 -0
- package/dist/__tests__/chunker.test.js +0 -1
- package/dist/__tests__/chunker.test.js.map +1 -1
- package/dist/__tests__/config.test.js +0 -1
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/crawler.test.js +99 -1
- package/dist/__tests__/crawler.test.js.map +1 -1
- package/dist/__tests__/embed.test.js +89 -1
- package/dist/__tests__/embed.test.js.map +1 -1
- package/dist/__tests__/file-index.test.js +0 -1
- package/dist/__tests__/file-index.test.js.map +1 -1
- package/dist/__tests__/git-tracker.test.d.ts +0 -3
- package/dist/__tests__/git-tracker.test.d.ts.map +1 -1
- package/dist/__tests__/git-tracker.test.js +0 -1
- package/dist/__tests__/git-tracker.test.js.map +1 -1
- package/dist/__tests__/logger.test.js +2 -2
- package/dist/__tests__/logger.test.js.map +1 -1
- package/dist/__tests__/mcp-server.test.d.ts +2 -0
- package/dist/__tests__/mcp-server.test.d.ts.map +1 -0
- package/dist/__tests__/mcp-server.test.js +29 -0
- package/dist/__tests__/mcp-server.test.js.map +1 -0
- package/dist/__tests__/parser.test.js +0 -1
- package/dist/__tests__/parser.test.js.map +1 -1
- package/dist/__tests__/search/bm25.test.d.ts +2 -0
- package/dist/__tests__/search/bm25.test.d.ts.map +1 -0
- package/dist/__tests__/search/bm25.test.js +223 -0
- package/dist/__tests__/search/bm25.test.js.map +1 -0
- package/dist/__tests__/search/fuzzy.test.d.ts +8 -0
- package/dist/__tests__/search/fuzzy.test.d.ts.map +1 -0
- package/dist/__tests__/search/fuzzy.test.js +277 -0
- package/dist/__tests__/search/fuzzy.test.js.map +1 -0
- package/dist/__tests__/search/hybrid.test.d.ts +2 -0
- package/dist/__tests__/search/hybrid.test.d.ts.map +1 -0
- package/dist/__tests__/search/hybrid.test.js +214 -0
- package/dist/__tests__/search/hybrid.test.js.map +1 -0
- package/dist/__tests__/search/ranker.test.d.ts +2 -0
- package/dist/__tests__/search/ranker.test.d.ts.map +1 -0
- package/dist/__tests__/search/ranker.test.js +398 -0
- package/dist/__tests__/search/ranker.test.js.map +1 -0
- package/dist/__tests__/search-xrefs.test.d.ts +0 -3
- package/dist/__tests__/search-xrefs.test.d.ts.map +1 -1
- package/dist/__tests__/search-xrefs.test.js +0 -1
- package/dist/__tests__/search-xrefs.test.js.map +1 -1
- package/dist/__tests__/server.test.js +3 -3
- package/dist/__tests__/server.test.js.map +1 -1
- package/dist/__tests__/stats/collector.test.js +41 -1
- package/dist/__tests__/stats/collector.test.js.map +1 -1
- package/dist/__tests__/stats/memory-profiler.test.js +3 -1
- package/dist/__tests__/stats/memory-profiler.test.js.map +1 -1
- package/dist/__tests__/stats/query-analytics.test.js +1 -1
- package/dist/__tests__/stats/query-analytics.test.js.map +1 -1
- package/dist/__tests__/stats/token-analytics.test.js +1 -2
- package/dist/__tests__/stats/token-analytics.test.js.map +1 -1
- package/dist/__tests__/store.test.js +0 -1
- package/dist/__tests__/store.test.js.map +1 -1
- package/dist/__tests__/tools/search-ranking.test.d.ts +2 -0
- package/dist/__tests__/tools/search-ranking.test.d.ts.map +1 -0
- package/dist/__tests__/tools/search-ranking.test.js +285 -0
- package/dist/__tests__/tools/search-ranking.test.js.map +1 -0
- package/dist/__tests__/tools/search-symbols.test.d.ts +5 -0
- package/dist/__tests__/tools/search-symbols.test.d.ts.map +1 -0
- package/dist/__tests__/tools/search-symbols.test.js +154 -0
- package/dist/__tests__/tools/search-symbols.test.js.map +1 -0
- package/dist/__tests__/tools.test.js +397 -35
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/__tests__/validation.test.d.ts +0 -3
- package/dist/__tests__/validation.test.d.ts.map +1 -1
- package/dist/__tests__/validation.test.js +0 -1
- package/dist/__tests__/validation.test.js.map +1 -1
- package/dist/__tests__/xref-tracker.test.d.ts +0 -3
- package/dist/__tests__/xref-tracker.test.d.ts.map +1 -1
- package/dist/__tests__/xref-tracker.test.js +0 -1
- package/dist/__tests__/xref-tracker.test.js.map +1 -1
- package/dist/adapters/db/SQLiteTaskStore.d.ts +15 -0
- package/dist/adapters/db/SQLiteTaskStore.d.ts.map +1 -0
- package/dist/adapters/db/SQLiteTaskStore.js +73 -0
- package/dist/adapters/db/SQLiteTaskStore.js.map +1 -0
- package/dist/adapters/parsers/TreeSitterAdapter.d.ts +91 -0
- package/dist/adapters/parsers/TreeSitterAdapter.d.ts.map +1 -0
- package/dist/adapters/parsers/TreeSitterAdapter.js +217 -0
- package/dist/adapters/parsers/TreeSitterAdapter.js.map +1 -0
- package/dist/adapters/parsers/TreeSitterAdapter.test.d.ts +2 -0
- package/dist/adapters/parsers/TreeSitterAdapter.test.d.ts.map +1 -0
- package/dist/adapters/parsers/TreeSitterAdapter.test.js +269 -0
- package/dist/adapters/parsers/TreeSitterAdapter.test.js.map +1 -0
- package/dist/adapters/sandbox/ESLintValidator.d.ts +13 -0
- package/dist/adapters/sandbox/ESLintValidator.d.ts.map +1 -0
- package/dist/adapters/sandbox/ESLintValidator.js +120 -0
- package/dist/adapters/sandbox/ESLintValidator.js.map +1 -0
- package/dist/adapters/sandbox/ProcessSandbox.d.ts +24 -0
- package/dist/adapters/sandbox/ProcessSandbox.d.ts.map +1 -0
- package/dist/adapters/sandbox/ProcessSandbox.js +108 -0
- package/dist/adapters/sandbox/ProcessSandbox.js.map +1 -0
- package/dist/adapters/sandbox/TypeScriptValidator.d.ts +13 -0
- package/dist/adapters/sandbox/TypeScriptValidator.d.ts.map +1 -0
- package/dist/adapters/sandbox/TypeScriptValidator.js +90 -0
- package/dist/adapters/sandbox/TypeScriptValidator.js.map +1 -0
- package/dist/agent/phase3-agent.d.ts +10 -0
- package/dist/agent/phase3-agent.d.ts.map +1 -0
- package/dist/agent/phase3-agent.js +136 -0
- package/dist/agent/phase3-agent.js.map +1 -0
- package/dist/benchmarks/baselines/NaiveGrepBaseline.d.ts +63 -0
- package/dist/benchmarks/baselines/NaiveGrepBaseline.d.ts.map +1 -0
- package/dist/benchmarks/baselines/NaiveGrepBaseline.js +223 -0
- package/dist/benchmarks/baselines/NaiveGrepBaseline.js.map +1 -0
- package/dist/benchmarks/baselines/index.d.ts +7 -0
- package/dist/benchmarks/baselines/index.d.ts.map +1 -0
- package/dist/benchmarks/baselines/index.js +7 -0
- package/dist/benchmarks/baselines/index.js.map +1 -0
- package/dist/benchmarks/datasets/DatasetLoader.d.ts +83 -0
- package/dist/benchmarks/datasets/DatasetLoader.d.ts.map +1 -0
- package/dist/benchmarks/datasets/DatasetLoader.js +330 -0
- package/dist/benchmarks/datasets/DatasetLoader.js.map +1 -0
- package/dist/benchmarks/datasets/DatasetLoader.test.d.ts +5 -0
- package/dist/benchmarks/datasets/DatasetLoader.test.d.ts.map +1 -0
- package/dist/benchmarks/datasets/DatasetLoader.test.js +219 -0
- package/dist/benchmarks/datasets/DatasetLoader.test.js.map +1 -0
- package/dist/benchmarks/datasets/GroundTruthGenerator.d.ts +87 -0
- package/dist/benchmarks/datasets/GroundTruthGenerator.d.ts.map +1 -0
- package/dist/benchmarks/datasets/GroundTruthGenerator.js +475 -0
- package/dist/benchmarks/datasets/GroundTruthGenerator.js.map +1 -0
- package/dist/benchmarks/datasets/GroundTruthGenerator.test.d.ts +5 -0
- package/dist/benchmarks/datasets/GroundTruthGenerator.test.d.ts.map +1 -0
- package/dist/benchmarks/datasets/GroundTruthGenerator.test.js +173 -0
- package/dist/benchmarks/datasets/GroundTruthGenerator.test.js.map +1 -0
- package/dist/benchmarks/datasets/index.d.ts +7 -0
- package/dist/benchmarks/datasets/index.d.ts.map +1 -0
- package/dist/benchmarks/datasets/index.js +7 -0
- package/dist/benchmarks/datasets/index.js.map +1 -0
- package/dist/benchmarks/datasets/types.d.ts +171 -0
- package/dist/benchmarks/datasets/types.d.ts.map +1 -0
- package/dist/benchmarks/datasets/types.js +5 -0
- package/dist/benchmarks/datasets/types.js.map +1 -0
- package/dist/benchmarks/framework/BenchmarkRunner.d.ts +87 -0
- package/dist/benchmarks/framework/BenchmarkRunner.d.ts.map +1 -0
- package/dist/benchmarks/framework/BenchmarkRunner.js +264 -0
- package/dist/benchmarks/framework/BenchmarkRunner.js.map +1 -0
- package/dist/benchmarks/framework/MetricsCollector.d.ts +128 -0
- package/dist/benchmarks/framework/MetricsCollector.d.ts.map +1 -0
- package/dist/benchmarks/framework/MetricsCollector.js +342 -0
- package/dist/benchmarks/framework/MetricsCollector.js.map +1 -0
- package/dist/benchmarks/framework/MetricsCollector.test.d.ts +5 -0
- package/dist/benchmarks/framework/MetricsCollector.test.d.ts.map +1 -0
- package/dist/benchmarks/framework/MetricsCollector.test.js +187 -0
- package/dist/benchmarks/framework/MetricsCollector.test.js.map +1 -0
- package/dist/benchmarks/framework/ReportGenerator.d.ts +51 -0
- package/dist/benchmarks/framework/ReportGenerator.d.ts.map +1 -0
- package/dist/benchmarks/framework/ReportGenerator.js +450 -0
- package/dist/benchmarks/framework/ReportGenerator.js.map +1 -0
- package/dist/benchmarks/framework/ReportGenerator.test.d.ts +5 -0
- package/dist/benchmarks/framework/ReportGenerator.test.d.ts.map +1 -0
- package/dist/benchmarks/framework/ReportGenerator.test.js +247 -0
- package/dist/benchmarks/framework/ReportGenerator.test.js.map +1 -0
- package/dist/benchmarks/framework/StatisticalAnalysis.d.ts +83 -0
- package/dist/benchmarks/framework/StatisticalAnalysis.d.ts.map +1 -0
- package/dist/benchmarks/framework/StatisticalAnalysis.js +303 -0
- package/dist/benchmarks/framework/StatisticalAnalysis.js.map +1 -0
- package/dist/benchmarks/framework/StatisticalAnalysis.test.d.ts +5 -0
- package/dist/benchmarks/framework/StatisticalAnalysis.test.d.ts.map +1 -0
- package/dist/benchmarks/framework/StatisticalAnalysis.test.js +186 -0
- package/dist/benchmarks/framework/StatisticalAnalysis.test.js.map +1 -0
- package/dist/benchmarks/framework/index.d.ts +12 -0
- package/dist/benchmarks/framework/index.d.ts.map +1 -0
- package/dist/benchmarks/framework/index.js +12 -0
- package/dist/benchmarks/framework/index.js.map +1 -0
- package/dist/benchmarks/framework/types.d.ts +249 -0
- package/dist/benchmarks/framework/types.d.ts.map +1 -0
- package/dist/benchmarks/framework/types.js +15 -0
- package/dist/benchmarks/framework/types.js.map +1 -0
- package/dist/benchmarks/index.d.ts +27 -0
- package/dist/benchmarks/index.d.ts.map +1 -0
- package/dist/benchmarks/index.js +31 -0
- package/dist/benchmarks/index.js.map +1 -0
- package/dist/benchmarks/suites/AccuracySuite.d.ts +65 -0
- package/dist/benchmarks/suites/AccuracySuite.d.ts.map +1 -0
- package/dist/benchmarks/suites/AccuracySuite.js +391 -0
- package/dist/benchmarks/suites/AccuracySuite.js.map +1 -0
- package/dist/benchmarks/suites/AccuracySuite.test.d.ts +5 -0
- package/dist/benchmarks/suites/AccuracySuite.test.d.ts.map +1 -0
- package/dist/benchmarks/suites/AccuracySuite.test.js +210 -0
- package/dist/benchmarks/suites/AccuracySuite.test.js.map +1 -0
- package/dist/benchmarks/suites/CodeUnderstandingSuite.d.ts +71 -0
- package/dist/benchmarks/suites/CodeUnderstandingSuite.d.ts.map +1 -0
- package/dist/benchmarks/suites/CodeUnderstandingSuite.js +398 -0
- package/dist/benchmarks/suites/CodeUnderstandingSuite.js.map +1 -0
- package/dist/benchmarks/suites/CodeUnderstandingSuite.test.d.ts +5 -0
- package/dist/benchmarks/suites/CodeUnderstandingSuite.test.d.ts.map +1 -0
- package/dist/benchmarks/suites/CodeUnderstandingSuite.test.js +134 -0
- package/dist/benchmarks/suites/CodeUnderstandingSuite.test.js.map +1 -0
- package/dist/benchmarks/suites/DependencyAnalysisSuite.d.ts +60 -0
- package/dist/benchmarks/suites/DependencyAnalysisSuite.d.ts.map +1 -0
- package/dist/benchmarks/suites/DependencyAnalysisSuite.js +421 -0
- package/dist/benchmarks/suites/DependencyAnalysisSuite.js.map +1 -0
- package/dist/benchmarks/suites/MemoryEfficiencySuite.d.ts +112 -0
- package/dist/benchmarks/suites/MemoryEfficiencySuite.d.ts.map +1 -0
- package/dist/benchmarks/suites/MemoryEfficiencySuite.js +540 -0
- package/dist/benchmarks/suites/MemoryEfficiencySuite.js.map +1 -0
- package/dist/benchmarks/suites/MemoryEfficiencySuite.test.d.ts +5 -0
- package/dist/benchmarks/suites/MemoryEfficiencySuite.test.d.ts.map +1 -0
- package/dist/benchmarks/suites/MemoryEfficiencySuite.test.js +310 -0
- package/dist/benchmarks/suites/MemoryEfficiencySuite.test.js.map +1 -0
- package/dist/benchmarks/suites/ScalabilitySuite.d.ts +80 -0
- package/dist/benchmarks/suites/ScalabilitySuite.d.ts.map +1 -0
- package/dist/benchmarks/suites/ScalabilitySuite.js +372 -0
- package/dist/benchmarks/suites/ScalabilitySuite.js.map +1 -0
- package/dist/benchmarks/suites/ScalabilitySuite.test.d.ts +5 -0
- package/dist/benchmarks/suites/ScalabilitySuite.test.d.ts.map +1 -0
- package/dist/benchmarks/suites/ScalabilitySuite.test.js +181 -0
- package/dist/benchmarks/suites/ScalabilitySuite.test.js.map +1 -0
- package/dist/benchmarks/suites/index.d.ts +11 -0
- package/dist/benchmarks/suites/index.d.ts.map +1 -0
- package/dist/benchmarks/suites/index.js +11 -0
- package/dist/benchmarks/suites/index.js.map +1 -0
- package/dist/cli/__tests__/cli.test.d.ts +7 -0
- package/dist/cli/__tests__/cli.test.d.ts.map +1 -0
- package/dist/cli/__tests__/cli.test.js +185 -0
- package/dist/cli/__tests__/cli.test.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +458 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli-index.d.ts.map +1 -1
- package/dist/cli-index.js +0 -2
- package/dist/cli-index.js.map +1 -1
- package/dist/cli-stats.d.ts.map +1 -1
- package/dist/cli-stats.js +0 -2
- package/dist/cli-stats.js.map +1 -1
- package/dist/config/LanguageStrategy.d.ts +57 -0
- package/dist/config/LanguageStrategy.d.ts.map +1 -0
- package/dist/config/LanguageStrategy.js +2 -0
- package/dist/config/LanguageStrategy.js.map +1 -0
- package/dist/config/PythonStrategy.d.ts +11 -0
- package/dist/config/PythonStrategy.d.ts.map +1 -0
- package/dist/config/PythonStrategy.js +211 -0
- package/dist/config/PythonStrategy.js.map +1 -0
- package/dist/config/TypeScriptStrategy.d.ts +11 -0
- package/dist/config/TypeScriptStrategy.d.ts.map +1 -0
- package/dist/config/TypeScriptStrategy.js +252 -0
- package/dist/config/TypeScriptStrategy.js.map +1 -0
- package/dist/core/entities/Task.d.ts +9 -0
- package/dist/core/entities/Task.d.ts.map +1 -0
- package/dist/core/entities/Task.js +2 -0
- package/dist/core/entities/Task.js.map +1 -0
- package/dist/core/interfaces/IGatekeeper.d.ts +87 -0
- package/dist/core/interfaces/IGatekeeper.d.ts.map +1 -0
- package/dist/core/interfaces/IGatekeeper.js +2 -0
- package/dist/core/interfaces/IGatekeeper.js.map +1 -0
- package/dist/core/interfaces/IHypothesisEngine.d.ts +80 -0
- package/dist/core/interfaces/IHypothesisEngine.d.ts.map +1 -0
- package/dist/core/interfaces/IHypothesisEngine.js +2 -0
- package/dist/core/interfaces/IHypothesisEngine.js.map +1 -0
- package/dist/core/interfaces/ISandbox.d.ts +102 -0
- package/dist/core/interfaces/ISandbox.d.ts.map +1 -0
- package/dist/core/interfaces/ISandbox.js +2 -0
- package/dist/core/interfaces/ISandbox.js.map +1 -0
- package/dist/core/interfaces/ITaskStore.d.ts +18 -0
- package/dist/core/interfaces/ITaskStore.d.ts.map +1 -0
- package/dist/core/interfaces/ITaskStore.js +2 -0
- package/dist/core/interfaces/ITaskStore.js.map +1 -0
- package/dist/core/tests/Gatekeeper.test.d.ts +2 -0
- package/dist/core/tests/Gatekeeper.test.d.ts.map +1 -0
- package/dist/core/tests/Gatekeeper.test.js +190 -0
- package/dist/core/tests/Gatekeeper.test.js.map +1 -0
- package/dist/core/tests/HypothesisEngine.test.d.ts +2 -0
- package/dist/core/tests/HypothesisEngine.test.d.ts.map +1 -0
- package/dist/core/tests/HypothesisEngine.test.js +168 -0
- package/dist/core/tests/HypothesisEngine.test.js.map +1 -0
- package/dist/core/tests/RecursiveScout.test.d.ts +2 -0
- package/dist/core/tests/RecursiveScout.test.d.ts.map +1 -0
- package/dist/core/tests/RecursiveScout.test.js +237 -0
- package/dist/core/tests/RecursiveScout.test.js.map +1 -0
- package/dist/core/tests/Sandbox.test.d.ts +2 -0
- package/dist/core/tests/Sandbox.test.d.ts.map +1 -0
- package/dist/core/tests/Sandbox.test.js +210 -0
- package/dist/core/tests/Sandbox.test.js.map +1 -0
- package/dist/core/tests/TaskManager.test.d.ts +2 -0
- package/dist/core/tests/TaskManager.test.d.ts.map +1 -0
- package/dist/core/tests/TaskManager.test.js +307 -0
- package/dist/core/tests/TaskManager.test.js.map +1 -0
- package/dist/core/usecases/Gatekeeper.d.ts +53 -0
- package/dist/core/usecases/Gatekeeper.d.ts.map +1 -0
- package/dist/core/usecases/Gatekeeper.js +112 -0
- package/dist/core/usecases/Gatekeeper.js.map +1 -0
- package/dist/core/usecases/HypothesisEngine.d.ts +25 -0
- package/dist/core/usecases/HypothesisEngine.d.ts.map +1 -0
- package/dist/core/usecases/HypothesisEngine.js +193 -0
- package/dist/core/usecases/HypothesisEngine.js.map +1 -0
- package/dist/core/usecases/RecursiveScout.d.ts +110 -0
- package/dist/core/usecases/RecursiveScout.d.ts.map +1 -0
- package/dist/core/usecases/RecursiveScout.js +275 -0
- package/dist/core/usecases/RecursiveScout.js.map +1 -0
- package/dist/core/usecases/TaskManager.d.ts +86 -0
- package/dist/core/usecases/TaskManager.d.ts.map +1 -0
- package/dist/core/usecases/TaskManager.js +198 -0
- package/dist/core/usecases/TaskManager.js.map +1 -0
- package/dist/demo-phase2.d.ts +10 -0
- package/dist/demo-phase2.d.ts.map +1 -0
- package/dist/demo-phase2.js +98 -0
- package/dist/demo-phase2.js.map +1 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +0 -2
- package/dist/doctor.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/mcp/commands.d.ts +16 -0
- package/dist/mcp/commands.d.ts.map +1 -0
- package/dist/mcp/commands.js +26 -0
- package/dist/mcp/commands.js.map +1 -0
- package/dist/mcp/config-generator.d.ts +100 -0
- package/dist/mcp/config-generator.d.ts.map +1 -0
- package/dist/mcp/config-generator.js +393 -0
- package/dist/mcp/config-generator.js.map +1 -0
- package/dist/mcp/config-generator.test.d.ts +2 -0
- package/dist/mcp/config-generator.test.d.ts.map +1 -0
- package/dist/mcp/config-generator.test.js +135 -0
- package/dist/mcp/config-generator.test.js.map +1 -0
- package/dist/mcp/handler.d.ts +24 -0
- package/dist/mcp/handler.d.ts.map +1 -0
- package/dist/mcp/handler.js +240 -0
- package/dist/mcp/handler.js.map +1 -0
- package/dist/mcp/handler.test.d.ts +2 -0
- package/dist/mcp/handler.test.d.ts.map +1 -0
- package/dist/mcp/handler.test.js +192 -0
- package/dist/mcp/handler.test.js.map +1 -0
- package/dist/mcp/index.d.ts +11 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +13 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +72 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +385 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +220 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/search/bm25.d.ts +107 -0
- package/dist/search/bm25.d.ts.map +1 -0
- package/dist/search/bm25.js +238 -0
- package/dist/search/bm25.js.map +1 -0
- package/dist/search/fuzzy.d.ts +91 -0
- package/dist/search/fuzzy.d.ts.map +1 -0
- package/dist/search/fuzzy.js +196 -0
- package/dist/search/fuzzy.js.map +1 -0
- package/dist/search/hybrid.d.ts +76 -0
- package/dist/search/hybrid.d.ts.map +1 -0
- package/dist/search/hybrid.js +121 -0
- package/dist/search/hybrid.js.map +1 -0
- package/dist/search/index.d.ts +8 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +8 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/ranker.d.ts +105 -0
- package/dist/search/ranker.d.ts.map +1 -0
- package/dist/search/ranker.js +191 -0
- package/dist/search/ranker.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +116 -1
- package/dist/server.js.map +1 -1
- package/dist/setup.d.ts +5 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +70 -8
- package/dist/setup.js.map +1 -1
- package/dist/stats/index.d.ts +1 -1
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js.map +1 -1
- package/dist/stats/memory-profiler.js +4 -4
- package/dist/stats/memory-profiler.js.map +1 -1
- package/dist/stats/query-analytics.d.ts.map +1 -1
- package/dist/stats/query-analytics.js +5 -6
- package/dist/stats/query-analytics.js.map +1 -1
- package/dist/stats/token-analytics.d.ts.map +1 -1
- package/dist/stats/token-analytics.js +1 -2
- package/dist/stats/token-analytics.js.map +1 -1
- package/dist/tools/get-memory-profile.d.ts.map +1 -1
- package/dist/tools/get-memory-profile.js +3 -3
- package/dist/tools/get-memory-profile.js.map +1 -1
- package/dist/tools/get-query-analytics.d.ts.map +1 -1
- package/dist/tools/get-query-analytics.js +3 -3
- package/dist/tools/get-query-analytics.js.map +1 -1
- package/dist/tools/get-stats.d.ts.map +1 -1
- package/dist/tools/get-stats.js.map +1 -1
- package/dist/tools/get-token-analytics.d.ts.map +1 -1
- package/dist/tools/get-token-analytics.js.map +1 -1
- package/dist/tools/index-codebase.d.ts +45 -0
- package/dist/tools/index-codebase.d.ts.map +1 -1
- package/dist/tools/index-codebase.js +169 -0
- package/dist/tools/index-codebase.js.map +1 -1
- package/dist/tools/search-codebase.d.ts +55 -1
- package/dist/tools/search-codebase.d.ts.map +1 -1
- package/dist/tools/search-codebase.js +235 -20
- package/dist/tools/search-codebase.js.map +1 -1
- package/dist/tools/search-symbols.d.ts +72 -0
- package/dist/tools/search-symbols.d.ts.map +1 -0
- package/dist/tools/search-symbols.js +133 -0
- package/dist/tools/search-symbols.js.map +1 -0
- package/dist/v2.d.ts +10 -0
- package/dist/v2.d.ts.map +1 -0
- package/dist/v2.js +30 -0
- package/dist/v2.js.map +1 -0
- package/dist/vector/embed.d.ts +5 -0
- package/dist/vector/embed.d.ts.map +1 -1
- package/dist/vector/embed.js +17 -8
- package/dist/vector/embed.js.map +1 -1
- package/docs/BRANCH_PROTECTION.md +93 -0
- package/docs/PUBLISHING.md +123 -0
- package/docs/benchmarks/METHODOLOGY.md +184 -0
- package/docs/marketing/README.md +152 -0
- package/docs/rag/CONCEPTS.md +195 -0
- package/eslint.config.js +33 -0
- package/examples/mcp-configs/README.md +120 -0
- package/examples/mcp-configs/aider.json +11 -0
- package/examples/mcp-configs/claude.json +11 -0
- package/examples/mcp-configs/cline.json +11 -0
- package/examples/mcp-configs/codex.json +12 -0
- package/examples/mcp-configs/continue.json +11 -0
- package/examples/mcp-configs/copilot.json +12 -0
- package/examples/mcp-configs/cursor.json +12 -0
- package/examples/mcp-configs/windsurf.json +12 -0
- package/jest.config.js +48 -0
- package/package.json +47 -67
- package/scripts/benchmark-tokens.ts +349 -0
- package/scripts/collect-evidence.sh +151 -0
- package/scripts/download-grammars.ts +115 -0
- package/scripts/download-model.ts +189 -0
- package/scripts/fix-imports.mjs +83 -0
- package/scripts/generate-ground-truth.ts +106 -0
- package/scripts/phase4-bootstrap.ts +206 -0
- package/scripts/postinstall.js +16 -0
- package/scripts/publish-v1.sh +84 -0
- package/scripts/quick-publish.sh +25 -0
- package/scripts/release.sh +138 -0
- package/scripts/validate-phase4-code.ts +45 -0
- package/scripts/validate-phase4.ts +175 -0
- package/scripts/validate-real-world.ts +151 -0
- package/seu-claude-1.0.2.tgz +0 -0
- package/sonar-project.properties +24 -0
- package/src/__tests__/chunker.test.ts +477 -0
- package/src/__tests__/config.test.ts +106 -0
- package/src/__tests__/crawler.test.ts +441 -0
- package/src/__tests__/embed.test.ts +512 -0
- package/src/__tests__/file-index.test.ts +308 -0
- package/src/__tests__/git-tracker.test.ts +210 -0
- package/src/__tests__/logger.test.ts +96 -0
- package/src/__tests__/mcp-server.test.ts +33 -0
- package/src/__tests__/parser.test.ts +515 -0
- package/src/__tests__/search/bm25.test.ts +256 -0
- package/src/__tests__/search/fuzzy.test.ts +334 -0
- package/src/__tests__/search/hybrid.test.ts +259 -0
- package/src/__tests__/search/ranker.test.ts +463 -0
- package/src/__tests__/search-xrefs.test.ts +297 -0
- package/src/__tests__/server.test.ts +287 -0
- package/src/__tests__/stats/collector.test.ts +252 -0
- package/src/__tests__/stats/memory-profiler.test.ts +298 -0
- package/src/__tests__/stats/query-analytics.test.ts +246 -0
- package/src/__tests__/stats/token-analytics.test.ts +280 -0
- package/src/__tests__/store.test.ts +452 -0
- package/src/__tests__/tools/search-ranking.test.ts +367 -0
- package/src/__tests__/tools/search-symbols.test.ts +184 -0
- package/src/__tests__/tools.test.ts +1290 -0
- package/src/__tests__/validation.test.ts +205 -0
- package/src/__tests__/xref-tracker.test.ts +299 -0
- package/src/adapters/db/SQLiteTaskStore.ts +84 -0
- package/src/adapters/parsers/TreeSitterAdapter.test.ts +350 -0
- package/src/adapters/parsers/TreeSitterAdapter.ts +269 -0
- package/src/adapters/sandbox/ESLintValidator.ts +149 -0
- package/src/adapters/sandbox/ProcessSandbox.ts +135 -0
- package/src/adapters/sandbox/TypeScriptValidator.ts +106 -0
- package/src/agent/phase3-agent.ts +172 -0
- package/src/benchmarks/baselines/NaiveGrepBaseline.ts +279 -0
- package/src/benchmarks/baselines/index.ts +7 -0
- package/src/benchmarks/datasets/DatasetLoader.test.ts +267 -0
- package/src/benchmarks/datasets/DatasetLoader.ts +416 -0
- package/src/benchmarks/datasets/GroundTruthGenerator.test.ts +208 -0
- package/src/benchmarks/datasets/GroundTruthGenerator.ts +599 -0
- package/src/benchmarks/datasets/index.ts +7 -0
- package/src/benchmarks/datasets/types.ts +182 -0
- package/src/benchmarks/framework/BenchmarkRunner.ts +372 -0
- package/src/benchmarks/framework/MetricsCollector.test.ts +229 -0
- package/src/benchmarks/framework/MetricsCollector.ts +402 -0
- package/src/benchmarks/framework/ReportGenerator.test.ts +290 -0
- package/src/benchmarks/framework/ReportGenerator.ts +532 -0
- package/src/benchmarks/framework/StatisticalAnalysis.test.ts +229 -0
- package/src/benchmarks/framework/StatisticalAnalysis.ts +403 -0
- package/src/benchmarks/framework/index.ts +12 -0
- package/src/benchmarks/framework/types.ts +266 -0
- package/src/benchmarks/index.ts +34 -0
- package/src/benchmarks/suites/AccuracySuite.test.ts +261 -0
- package/src/benchmarks/suites/AccuracySuite.ts +522 -0
- package/src/benchmarks/suites/CodeUnderstandingSuite.test.ts +162 -0
- package/src/benchmarks/suites/CodeUnderstandingSuite.ts +511 -0
- package/src/benchmarks/suites/DependencyAnalysisSuite.ts +568 -0
- package/src/benchmarks/suites/MemoryEfficiencySuite.test.ts +368 -0
- package/src/benchmarks/suites/MemoryEfficiencySuite.ts +706 -0
- package/src/benchmarks/suites/ScalabilitySuite.test.ts +219 -0
- package/src/benchmarks/suites/ScalabilitySuite.ts +486 -0
- package/src/benchmarks/suites/index.ts +11 -0
- package/src/cli/__tests__/cli.test.ts +223 -0
- package/src/cli/index.ts +547 -0
- package/src/cli-index.ts +124 -0
- package/src/cli-stats.ts +98 -0
- package/src/config/LanguageStrategy.ts +59 -0
- package/src/config/PythonStrategy.ts +240 -0
- package/src/config/TypeScriptStrategy.ts +280 -0
- package/src/core/entities/Task.ts +8 -0
- package/src/core/interfaces/IGatekeeper.ts +99 -0
- package/src/core/interfaces/IHypothesisEngine.ts +94 -0
- package/src/core/interfaces/ISandbox.ts +109 -0
- package/src/core/interfaces/ITaskStore.ts +24 -0
- package/src/core/tests/Gatekeeper.test.ts +271 -0
- package/src/core/tests/HypothesisEngine.test.ts +255 -0
- package/src/core/tests/RecursiveScout.test.ts +334 -0
- package/src/core/tests/Sandbox.test.ts +250 -0
- package/src/core/tests/TaskManager.test.ts +407 -0
- package/src/core/usecases/Gatekeeper.ts +155 -0
- package/src/core/usecases/HypothesisEngine.ts +231 -0
- package/src/core/usecases/RecursiveScout.ts +380 -0
- package/src/core/usecases/TaskManager.ts +245 -0
- package/src/demo-phase2.ts +116 -0
- package/src/doctor.ts +318 -0
- package/src/index.ts +78 -0
- package/src/indexer/chunker.ts +303 -0
- package/src/indexer/crawler.ts +204 -0
- package/src/indexer/file-index.ts +154 -0
- package/src/indexer/git-tracker.ts +220 -0
- package/src/indexer/parser.ts +244 -0
- package/src/indexer/xref-tracker.ts +589 -0
- package/src/lsp/client.ts +474 -0
- package/src/mcp/commands.ts +37 -0
- package/src/mcp/config-generator.test.ts +165 -0
- package/src/mcp/config-generator.ts +481 -0
- package/src/mcp/handler.test.ts +244 -0
- package/src/mcp/handler.ts +290 -0
- package/src/mcp/index.ts +28 -0
- package/src/mcp/server.ts +84 -0
- package/src/mcp/tools.ts +241 -0
- package/src/search/bm25.ts +323 -0
- package/src/search/fuzzy.ts +256 -0
- package/src/search/hybrid.ts +179 -0
- package/src/search/index.ts +20 -0
- package/src/search/ranker.ts +265 -0
- package/src/server.ts +667 -0
- package/src/setup.ts +308 -0
- package/src/stats/collector.ts +213 -0
- package/src/stats/index.ts +21 -0
- package/src/stats/memory-profiler.ts +401 -0
- package/src/stats/query-analytics.ts +408 -0
- package/src/stats/token-analytics.ts +298 -0
- package/src/tools/get-memory-profile.ts +62 -0
- package/src/tools/get-query-analytics.ts +61 -0
- package/src/tools/get-stats.ts +97 -0
- package/src/tools/get-token-analytics.ts +61 -0
- package/src/tools/index-codebase.ts +497 -0
- package/src/tools/read-context.ts +119 -0
- package/src/tools/search-codebase.ts +443 -0
- package/src/tools/search-symbols.ts +186 -0
- package/src/tools/search-xrefs.ts +267 -0
- package/src/utils/config.ts +100 -0
- package/src/utils/logger.ts +58 -0
- package/src/utils/validation.ts +149 -0
- package/src/v2.ts +29 -0
- package/src/vector/embed.ts +244 -0
- package/src/vector/store.ts +226 -0
- package/stochastic_drift_benchmark.png +0 -0
- package/tsconfig.json +25 -0
- package/vitest.config.ts +14 -0
- package/languages/tree-sitter-c.wasm +0 -0
- package/languages/tree-sitter-cpp.wasm +0 -0
- package/languages/tree-sitter-go.wasm +0 -0
- package/languages/tree-sitter-java.wasm +0 -0
- package/languages/tree-sitter-javascript.wasm +0 -0
- package/languages/tree-sitter-python.wasm +0 -0
- package/languages/tree-sitter-rust.wasm +0 -0
- package/languages/tree-sitter-typescript.wasm +0 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(git init:*)",
|
|
5
|
+
"Bash(git add:*)",
|
|
6
|
+
"Bash(git commit -m \"$\\(cat <<''EOF''\nfeat: initial implementation of seu-claude\n\nLocal Codebase RAG MCP Server for Claude Code with:\n- AST-based semantic chunking using Tree-sitter\n- LanceDB vector store for zero-copy disk-based storage\n- Transformers.js for local embedding generation\n- MCP server with index_codebase, search_codebase, and read_semantic_context tools\n- Incremental file hashing for efficient re-indexing\n- Multi-language support \\(TypeScript, JavaScript, Python, Rust, Go, Java, C/C++\\)\n\nAddresses the \"goldfish memory\" problem by proactively indexing the entire\ncodebase rather than relying on reactive observation of tool usage.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
|
|
7
|
+
"Bash(git config:*)",
|
|
8
|
+
"Bash(git commit:*)",
|
|
9
|
+
"Bash(gh repo create:*)",
|
|
10
|
+
"Bash(gh repo view:*)",
|
|
11
|
+
"Bash(npm install:*)",
|
|
12
|
+
"Bash(npm run build:*)",
|
|
13
|
+
"Bash(node -e:*)",
|
|
14
|
+
"Bash(npm run lint:*)",
|
|
15
|
+
"Bash(timeout 5 node:*)",
|
|
16
|
+
"Bash(npm test:*)",
|
|
17
|
+
"Bash(npm run test:coverage:*)",
|
|
18
|
+
"Bash(git push:*)",
|
|
19
|
+
"Bash(npm run benchmark:*)",
|
|
20
|
+
"WebSearch",
|
|
21
|
+
"Bash(npm run download-model:*)",
|
|
22
|
+
"Bash(ls:*)",
|
|
23
|
+
"Bash(claude mcp add seu-claude --scope project -- npx seu-claude)",
|
|
24
|
+
"Bash(seu-claude doctor:*)",
|
|
25
|
+
"mcp__seu-claude__index_codebase",
|
|
26
|
+
"mcp__seu-claude__search_codebase",
|
|
27
|
+
"mcp__ide__getDiagnostics",
|
|
28
|
+
"Bash(git tag:*)",
|
|
29
|
+
"Bash(gh run:*)",
|
|
30
|
+
"Bash(npx prettier:*)",
|
|
31
|
+
"Bash(npm publish --access public)",
|
|
32
|
+
"Bash(npm view:*)",
|
|
33
|
+
"Bash(gh release list:*)",
|
|
34
|
+
"Bash(gh release create:*)",
|
|
35
|
+
"Bash(xargs cat:*)",
|
|
36
|
+
"Bash(wc:*)",
|
|
37
|
+
"Bash(for i in 1 2 3)",
|
|
38
|
+
"Bash(do echo \"=== Run $i ===\")",
|
|
39
|
+
"Bash(done)",
|
|
40
|
+
"mcp__seu-claude__search_xrefs",
|
|
41
|
+
"mcp__seu-claude__get_stats",
|
|
42
|
+
"Bash(git pull:*)",
|
|
43
|
+
"Bash(git stash:*)",
|
|
44
|
+
"Bash(cat:*)",
|
|
45
|
+
"Bash(npm run format:check:*)",
|
|
46
|
+
"Bash(npm run format:*)",
|
|
47
|
+
"Bash(git checkout:*)",
|
|
48
|
+
"Bash(xargs:*)",
|
|
49
|
+
"Bash(npx ts-node:*)",
|
|
50
|
+
"Bash(git rm:*)",
|
|
51
|
+
"Bash(git reset:*)",
|
|
52
|
+
"Bash(node scripts/fix-imports.mjs:*)",
|
|
53
|
+
"Bash(node:*)",
|
|
54
|
+
"Bash(npx tsx:*)",
|
|
55
|
+
"Bash(echo:*)",
|
|
56
|
+
"Bash(npm run:*)",
|
|
57
|
+
"mcp__seu-claude__validate_code",
|
|
58
|
+
"Bash(npx yaml-lint:*)",
|
|
59
|
+
"Bash(npm version:*)",
|
|
60
|
+
"Bash(npm ci:*)",
|
|
61
|
+
"Bash(npm ls:*)",
|
|
62
|
+
"WebFetch(domain:github.com)",
|
|
63
|
+
"Bash(find:*)",
|
|
64
|
+
"Bash(npx tsc:*)",
|
|
65
|
+
"Bash(npm rebuild:*)",
|
|
66
|
+
"Bash(gh pr create:*)",
|
|
67
|
+
"Bash(gh pr checks:*)",
|
|
68
|
+
"Bash(gh api:*)",
|
|
69
|
+
"Bash(while read num)",
|
|
70
|
+
"Bash(do echo \"Dismissing alert $num...\" gh api -X PATCH repos/jardhel/seu-claude/code-scanning/alerts/$num -f state=dismissed -f dismissed_reason=false_positive -f dismissed_comment=\"Test files using mkdtemp for isolated test environments - not a security risk\")",
|
|
71
|
+
"Bash(do echo \"Dismissing alert $num...\" gh api -X PATCH \"repos/jardhel/seu-claude/code-scanning/alerts/$num\" -f state=dismissed -f \"dismissed_reason=used in tests\" -f \"dismissed_comment=Test files using mkdtemp for isolated test environments\")",
|
|
72
|
+
"Bash(gh pr view:*)",
|
|
73
|
+
"Bash(git fetch:*)",
|
|
74
|
+
"Bash(git remote prune:*)"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"enableAllProjectMcpServers": true,
|
|
78
|
+
"enabledMcpjsonServers": [
|
|
79
|
+
"seu-claude"
|
|
80
|
+
]
|
|
81
|
+
}
|
package/.dockerignore
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Docker ignore file
|
|
2
|
+
node_modules/
|
|
3
|
+
dist/
|
|
4
|
+
coverage/
|
|
5
|
+
.git/
|
|
6
|
+
.github/
|
|
7
|
+
.husky/
|
|
8
|
+
.vscode/
|
|
9
|
+
|
|
10
|
+
# Test files
|
|
11
|
+
**/__tests__/
|
|
12
|
+
**/*.test.ts
|
|
13
|
+
**/*.spec.ts
|
|
14
|
+
jest.config.js
|
|
15
|
+
|
|
16
|
+
# Development files
|
|
17
|
+
*.md
|
|
18
|
+
!README.md
|
|
19
|
+
!LICENSE
|
|
20
|
+
!CHANGELOG.md
|
|
21
|
+
.eslintrc*
|
|
22
|
+
.prettierrc
|
|
23
|
+
tsconfig.json
|
|
24
|
+
commitlint.config.cjs
|
|
25
|
+
|
|
26
|
+
# Misc
|
|
27
|
+
*.log
|
|
28
|
+
*.tgz
|
|
29
|
+
.DS_Store
|
|
30
|
+
benchmark-results/
|
package/.eslintrc.cjs
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
root: true,
|
|
3
|
+
parser: '@typescript-eslint/parser',
|
|
4
|
+
parserOptions: {
|
|
5
|
+
ecmaVersion: 2022,
|
|
6
|
+
sourceType: 'module',
|
|
7
|
+
project: './tsconfig.json',
|
|
8
|
+
},
|
|
9
|
+
plugins: ['@typescript-eslint'],
|
|
10
|
+
extends: [
|
|
11
|
+
'eslint:recommended',
|
|
12
|
+
'plugin:@typescript-eslint/recommended',
|
|
13
|
+
'plugin:@typescript-eslint/recommended-requiring-type-checking',
|
|
14
|
+
],
|
|
15
|
+
env: {
|
|
16
|
+
node: true,
|
|
17
|
+
es2022: true,
|
|
18
|
+
},
|
|
19
|
+
rules: {
|
|
20
|
+
// TypeScript strict rules
|
|
21
|
+
'@typescript-eslint/explicit-function-return-type': 'warn',
|
|
22
|
+
'@typescript-eslint/no-explicit-any': 'warn',
|
|
23
|
+
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
|
24
|
+
'@typescript-eslint/strict-boolean-expressions': 'off',
|
|
25
|
+
'@typescript-eslint/no-floating-promises': 'error',
|
|
26
|
+
'@typescript-eslint/await-thenable': 'error',
|
|
27
|
+
'@typescript-eslint/no-misused-promises': 'error',
|
|
28
|
+
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
|
|
29
|
+
'@typescript-eslint/prefer-optional-chain': 'warn',
|
|
30
|
+
|
|
31
|
+
// Security rules
|
|
32
|
+
'no-eval': 'error',
|
|
33
|
+
'no-implied-eval': 'error',
|
|
34
|
+
'no-new-func': 'error',
|
|
35
|
+
'no-script-url': 'error',
|
|
36
|
+
|
|
37
|
+
// Code quality
|
|
38
|
+
'no-console': ['warn', { allow: ['warn', 'error'] }],
|
|
39
|
+
'no-debugger': 'error',
|
|
40
|
+
'no-duplicate-imports': 'error',
|
|
41
|
+
'no-template-curly-in-string': 'warn',
|
|
42
|
+
'prefer-const': 'error',
|
|
43
|
+
eqeqeq: ['error', 'always'],
|
|
44
|
+
|
|
45
|
+
// Async/Promise handling
|
|
46
|
+
'no-async-promise-executor': 'error',
|
|
47
|
+
'no-promise-executor-return': 'error',
|
|
48
|
+
'require-atomic-updates': 'error',
|
|
49
|
+
|
|
50
|
+
// Error handling
|
|
51
|
+
'no-throw-literal': 'error',
|
|
52
|
+
},
|
|
53
|
+
overrides: [
|
|
54
|
+
{
|
|
55
|
+
// Relax rules for test files
|
|
56
|
+
files: ['**/__tests__/**/*.ts', '**/*.test.ts', '**/*.spec.ts'],
|
|
57
|
+
rules: {
|
|
58
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
|
59
|
+
'@typescript-eslint/no-unsafe-assignment': 'off',
|
|
60
|
+
'@typescript-eslint/no-unsafe-member-access': 'off',
|
|
61
|
+
'@typescript-eslint/no-unsafe-call': 'off',
|
|
62
|
+
'no-console': 'off',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
// Relax rules for scripts
|
|
67
|
+
files: ['scripts/**/*.ts'],
|
|
68
|
+
rules: {
|
|
69
|
+
'no-console': 'off',
|
|
70
|
+
'@typescript-eslint/no-floating-promises': 'off',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
ignorePatterns: ['dist/', 'node_modules/', 'coverage/', '*.js', '*.cjs'],
|
|
75
|
+
};
|
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"root": true,
|
|
3
|
+
"parser": "@typescript-eslint/parser",
|
|
4
|
+
"parserOptions": {
|
|
5
|
+
"ecmaVersion": 2022,
|
|
6
|
+
"sourceType": "module",
|
|
7
|
+
"project": "./tsconfig.json"
|
|
8
|
+
},
|
|
9
|
+
"plugins": ["@typescript-eslint"],
|
|
10
|
+
"extends": [
|
|
11
|
+
"eslint:recommended",
|
|
12
|
+
"plugin:@typescript-eslint/recommended",
|
|
13
|
+
"plugin:@typescript-eslint/recommended-requiring-type-checking"
|
|
14
|
+
],
|
|
15
|
+
"env": {
|
|
16
|
+
"node": true,
|
|
17
|
+
"es2022": true
|
|
18
|
+
},
|
|
19
|
+
"rules": {
|
|
20
|
+
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
|
|
21
|
+
"@typescript-eslint/explicit-function-return-type": "off",
|
|
22
|
+
"@typescript-eslint/no-explicit-any": "warn",
|
|
23
|
+
"no-console": ["warn", { "allow": ["warn", "error"] }]
|
|
24
|
+
},
|
|
25
|
+
"ignorePatterns": ["dist/", "node_modules/", "*.js"]
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Default owners for everything
|
|
2
|
+
* @jardhel
|
|
3
|
+
|
|
4
|
+
# Security-sensitive files require owner review
|
|
5
|
+
SECURITY.md @jardhel
|
|
6
|
+
.github/workflows/** @jardhel
|
|
7
|
+
package.json @jardhel
|
|
8
|
+
package-lock.json @jardhel
|
|
9
|
+
|
|
10
|
+
# Core source code
|
|
11
|
+
src/** @jardhel
|
|
12
|
+
|
|
13
|
+
# Configuration files
|
|
14
|
+
tsconfig.json @jardhel
|
|
15
|
+
.eslintrc* @jardhel
|
|
16
|
+
Dockerfile @jardhel
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Report a bug or unexpected behavior
|
|
4
|
+
title: '[BUG] '
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Bug Description
|
|
10
|
+
|
|
11
|
+
A clear and concise description of what the bug is.
|
|
12
|
+
|
|
13
|
+
## Steps to Reproduce
|
|
14
|
+
|
|
15
|
+
1. Go to '...'
|
|
16
|
+
2. Run command '...'
|
|
17
|
+
3. See error
|
|
18
|
+
|
|
19
|
+
## Expected Behavior
|
|
20
|
+
|
|
21
|
+
What you expected to happen.
|
|
22
|
+
|
|
23
|
+
## Actual Behavior
|
|
24
|
+
|
|
25
|
+
What actually happened.
|
|
26
|
+
|
|
27
|
+
## Environment
|
|
28
|
+
|
|
29
|
+
- OS: [e.g., macOS 14.0, Ubuntu 22.04]
|
|
30
|
+
- Node.js version: [e.g., 20.10.0]
|
|
31
|
+
- seu-claude version: [e.g., 1.0.0]
|
|
32
|
+
- Claude Code/Desktop version: [if applicable]
|
|
33
|
+
|
|
34
|
+
## Logs
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Paste relevant logs here
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Additional Context
|
|
41
|
+
|
|
42
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature Request
|
|
3
|
+
about: Suggest a new feature or enhancement
|
|
4
|
+
title: '[FEATURE] '
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Feature Description
|
|
10
|
+
|
|
11
|
+
A clear and concise description of the feature you'd like.
|
|
12
|
+
|
|
13
|
+
## Problem it Solves
|
|
14
|
+
|
|
15
|
+
What problem does this feature solve? Is this related to a frustration?
|
|
16
|
+
|
|
17
|
+
## Proposed Solution
|
|
18
|
+
|
|
19
|
+
How do you envision this feature working?
|
|
20
|
+
|
|
21
|
+
## Alternatives Considered
|
|
22
|
+
|
|
23
|
+
What alternatives have you considered?
|
|
24
|
+
|
|
25
|
+
## Additional Context
|
|
26
|
+
|
|
27
|
+
Add any other context, mockups, or examples about the feature request here.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
<!-- Describe your changes in detail -->
|
|
4
|
+
|
|
5
|
+
## Type of Change
|
|
6
|
+
|
|
7
|
+
<!-- Mark relevant items with an x -->
|
|
8
|
+
|
|
9
|
+
- [ ] Bug fix (non-breaking change that fixes an issue)
|
|
10
|
+
- [ ] New feature (non-breaking change that adds functionality)
|
|
11
|
+
- [ ] Breaking change (fix or feature that changes existing functionality)
|
|
12
|
+
- [ ] Documentation update
|
|
13
|
+
- [ ] Performance improvement
|
|
14
|
+
- [ ] Code refactoring
|
|
15
|
+
|
|
16
|
+
## Related Issues
|
|
17
|
+
|
|
18
|
+
<!-- Link any related issues here using #issue_number -->
|
|
19
|
+
|
|
20
|
+
Fixes #
|
|
21
|
+
|
|
22
|
+
## Testing
|
|
23
|
+
|
|
24
|
+
<!-- Describe how you tested your changes -->
|
|
25
|
+
|
|
26
|
+
- [ ] Added/updated unit tests
|
|
27
|
+
- [ ] All existing tests pass
|
|
28
|
+
- [ ] Tested manually with Claude Code/Desktop
|
|
29
|
+
|
|
30
|
+
## Checklist
|
|
31
|
+
|
|
32
|
+
- [ ] My code follows the project's style guidelines
|
|
33
|
+
- [ ] I have performed a self-review of my code
|
|
34
|
+
- [ ] I have commented my code, particularly in hard-to-understand areas
|
|
35
|
+
- [ ] I have made corresponding changes to the documentation
|
|
36
|
+
- [ ] My changes generate no new warnings
|
|
37
|
+
- [ ] New and existing unit tests pass locally with my changes
|
|
38
|
+
|
|
39
|
+
## Screenshots (if applicable)
|
|
40
|
+
|
|
41
|
+
<!-- Add screenshots to help explain your changes -->
|
|
42
|
+
|
|
43
|
+
## Additional Notes
|
|
44
|
+
|
|
45
|
+
<!-- Any additional information that reviewers should know -->
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Support
|
|
2
|
+
|
|
3
|
+
Thank you for using **seu-claude**! We're here to help.
|
|
4
|
+
|
|
5
|
+
## Getting Help
|
|
6
|
+
|
|
7
|
+
### 📚 Documentation
|
|
8
|
+
|
|
9
|
+
Before opening an issue, please check:
|
|
10
|
+
|
|
11
|
+
- [README.md](README.md) - Installation and quick start
|
|
12
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) - How to contribute
|
|
13
|
+
- [GitHub Discussions](https://github.com/jardhel/seu-claude/discussions) - Community Q&A
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug Reports
|
|
16
|
+
|
|
17
|
+
If you've found a bug:
|
|
18
|
+
|
|
19
|
+
1. Check [existing issues](https://github.com/jardhel/seu-claude/issues) to see if it's already reported
|
|
20
|
+
2. Use the [Bug Report template](.github/ISSUE_TEMPLATE/bug_report.md)
|
|
21
|
+
3. Include all requested information
|
|
22
|
+
|
|
23
|
+
### 💡 Feature Requests
|
|
24
|
+
|
|
25
|
+
Have an idea? We'd love to hear it:
|
|
26
|
+
|
|
27
|
+
1. Check [existing feature requests](https://github.com/jardhel/seu-claude/issues?q=is%3Aissue+label%3Aenhancement)
|
|
28
|
+
2. Use the [Feature Request template](.github/ISSUE_TEMPLATE/feature_request.md)
|
|
29
|
+
3. Explain your use case
|
|
30
|
+
|
|
31
|
+
### ❓ Questions
|
|
32
|
+
|
|
33
|
+
For general questions:
|
|
34
|
+
|
|
35
|
+
- Open a [GitHub Discussion](https://github.com/jardhel/seu-claude/discussions)
|
|
36
|
+
- Tag with the `question` label
|
|
37
|
+
|
|
38
|
+
## Response Time
|
|
39
|
+
|
|
40
|
+
- Critical bugs: Within 24 hours
|
|
41
|
+
- Feature requests: Within 1 week
|
|
42
|
+
- Questions: Within 2-3 days
|
|
43
|
+
|
|
44
|
+
## Community Guidelines
|
|
45
|
+
|
|
46
|
+
Please be respectful and constructive. We follow the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
|
|
47
|
+
|
|
48
|
+
## Commercial Support
|
|
49
|
+
|
|
50
|
+
For enterprise support or custom development, contact: [your-email@example.com]
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
**Thank you for being part of the seu-claude community!** 🚀
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: 'CodeQL Config'
|
|
2
|
+
|
|
3
|
+
# Exclude test files from certain security checks that produce false positives
|
|
4
|
+
paths-ignore:
|
|
5
|
+
- '**/*.test.ts'
|
|
6
|
+
- '**/__tests__/**'
|
|
7
|
+
- '**/tests/**'
|
|
8
|
+
- 'benchmarks/**'
|
|
9
|
+
- 'assets/**'
|
|
10
|
+
|
|
11
|
+
queries:
|
|
12
|
+
- uses: security-and-quality
|
|
13
|
+
|
|
14
|
+
# Disable specific queries that produce false positives in test files
|
|
15
|
+
query-filters:
|
|
16
|
+
- exclude:
|
|
17
|
+
id: js/insecure-temporary-file
|
|
18
|
+
# This rule flags test files using mkdtemp which is acceptable for tests
|
|
19
|
+
- exclude:
|
|
20
|
+
id: js/unused-local-variable
|
|
21
|
+
# Assets folder has intentionally unused variables in demo code
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
concurrency:
|
|
10
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
11
|
+
cancel-in-progress: true
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
lint:
|
|
15
|
+
name: Lint & Format Check
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout repository
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- name: Setup Node.js
|
|
22
|
+
uses: actions/setup-node@v4
|
|
23
|
+
with:
|
|
24
|
+
node-version: '20.x'
|
|
25
|
+
cache: 'npm'
|
|
26
|
+
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: npm ci --ignore-scripts
|
|
29
|
+
|
|
30
|
+
- name: Run ESLint
|
|
31
|
+
run: npm run lint
|
|
32
|
+
|
|
33
|
+
- name: Check formatting
|
|
34
|
+
run: npm run format:check
|
|
35
|
+
|
|
36
|
+
typecheck:
|
|
37
|
+
name: Type Check
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout repository
|
|
41
|
+
uses: actions/checkout@v4
|
|
42
|
+
|
|
43
|
+
- name: Setup Node.js
|
|
44
|
+
uses: actions/setup-node@v4
|
|
45
|
+
with:
|
|
46
|
+
node-version: '20.x'
|
|
47
|
+
cache: 'npm'
|
|
48
|
+
|
|
49
|
+
- name: Install dependencies
|
|
50
|
+
run: npm ci --ignore-scripts
|
|
51
|
+
|
|
52
|
+
- name: Type check
|
|
53
|
+
run: npm run typecheck
|
|
54
|
+
|
|
55
|
+
build:
|
|
56
|
+
name: Build & Test
|
|
57
|
+
runs-on: ubuntu-latest
|
|
58
|
+
needs: [lint, typecheck]
|
|
59
|
+
|
|
60
|
+
strategy:
|
|
61
|
+
matrix:
|
|
62
|
+
node-version: [20.x, 22.x]
|
|
63
|
+
|
|
64
|
+
steps:
|
|
65
|
+
- name: Checkout repository
|
|
66
|
+
uses: actions/checkout@v4
|
|
67
|
+
with:
|
|
68
|
+
fetch-depth: 0
|
|
69
|
+
|
|
70
|
+
- name: Setup Node.js ${{ matrix.node-version }}
|
|
71
|
+
uses: actions/setup-node@v4
|
|
72
|
+
with:
|
|
73
|
+
node-version: ${{ matrix.node-version }}
|
|
74
|
+
cache: 'npm'
|
|
75
|
+
|
|
76
|
+
- name: Install dependencies
|
|
77
|
+
run: npm ci --ignore-scripts
|
|
78
|
+
|
|
79
|
+
- name: Download tree-sitter grammars
|
|
80
|
+
run: npm run download-grammars
|
|
81
|
+
|
|
82
|
+
- name: Build
|
|
83
|
+
run: npm run build
|
|
84
|
+
|
|
85
|
+
- name: Run tests with coverage
|
|
86
|
+
run: npm run test:coverage -- --passWithNoTests
|
|
87
|
+
|
|
88
|
+
- name: Upload coverage artifact
|
|
89
|
+
if: matrix.node-version == '20.x'
|
|
90
|
+
uses: actions/upload-artifact@v4
|
|
91
|
+
with:
|
|
92
|
+
name: coverage-report
|
|
93
|
+
path: coverage/
|
|
94
|
+
|
|
95
|
+
- name: Check coverage threshold
|
|
96
|
+
if: matrix.node-version == '20.x'
|
|
97
|
+
run: |
|
|
98
|
+
COVERAGE=$(cat coverage/coverage-summary.json | jq '.total.statements.pct')
|
|
99
|
+
echo "Coverage: $COVERAGE%"
|
|
100
|
+
if (( $(echo "$COVERAGE < 70" | bc -l) )); then
|
|
101
|
+
echo "::error::Coverage $COVERAGE% is below 70% threshold"
|
|
102
|
+
exit 1
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
security:
|
|
106
|
+
name: Security Audit
|
|
107
|
+
runs-on: ubuntu-latest
|
|
108
|
+
steps:
|
|
109
|
+
- name: Checkout repository
|
|
110
|
+
uses: actions/checkout@v4
|
|
111
|
+
|
|
112
|
+
- name: Setup Node.js
|
|
113
|
+
uses: actions/setup-node@v4
|
|
114
|
+
with:
|
|
115
|
+
node-version: '20.x'
|
|
116
|
+
cache: 'npm'
|
|
117
|
+
|
|
118
|
+
- name: Install dependencies
|
|
119
|
+
run: npm ci --ignore-scripts
|
|
120
|
+
|
|
121
|
+
- name: Run npm audit
|
|
122
|
+
run: npm audit --audit-level=high
|
|
123
|
+
continue-on-error: true
|