ctxman 3.0.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/.ctxman/custom-profiles.example.json +20 -0
- package/.ctxman/llm-profiles.json +131 -0
- package/.ctxman/logs/ctxman-2026-07-02.log +156 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/0-b3dd1558-f95b-44b9-a154-18e8c330ae7a.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/1-44bff6d4-e552-4010-a769-e09ad822698d.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/10-37260794-5947-4ecb-b4c8-d732f58f40f1.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/11-0d52a883-5518-463c-9b6d-986c3af89dfd.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/12-ae354646-52f2-49c9-90fb-2e6ed8932663.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/13-5d7d5e57-27da-498b-b734-091b9d38da13.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/14-558ce928-810b-4252-a364-fdd1ee6f8a25.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/15-27e3a58f-8b64-43b8-a9f4-e3369446968b.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/16-a110c390-e5c8-4464-b976-bc7f5195fa15.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/17-97513225-53de-4216-b61a-6337bd0cc4ad.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/18-5ba450f0-c527-459c-bf4f-6d79b5e4285f.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/19-600d3a63-5225-49e9-b8b7-30e037b564ab.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/2-48a61b4e-92cf-4342-8376-914c1b99a9f9.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/20-121dd912-5410-410e-84ff-82c7a23604a0.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/3-bc6844ab-7ea3-4bb3-9ee1-538ce5664a9c.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/4-d5e1754f-dbb5-454e-a9be-2a7da8d7bcf9.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/5-4fae93df-0568-4b6f-8acf-8bef4bba6047.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/6-4b1b8b87-068e-49a3-ba2b-d8dae628b252.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/7-63d040fb-d2fa-4c0f-bed0-53411918a7b0.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/8-c5628cf6-264c-420f-aab8-bc96a9083591.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_transactions/9-c94570aa-5e53-4fcb-971f-cecc1d1d5492.txn +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/1.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/10.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/11.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/12.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/13.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/14.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/15.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/16.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/17.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/18.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/19.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/2.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/20.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/21.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/3.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/4.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/5.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/6.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/7.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/8.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/_versions/9.manifest +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/000010010011011101000010de8621405d9d5cb06540dbf02c.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/0000101001011100011000003fb62a4aa8978974075c144f1c.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/000011010000100111001011c6cc824d628f3bb1f4e04cd5d0.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/001000001000011001011100d8f74349ada090b332cd1df669.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/01000001111010001000010045ab44467bb1e7e4d8ae06bd58.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/01000101101110111110011131ef904241a89e1ffb6ddaf8e3.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/010010110000010000011010fbfcc145c6a8a827b28057a07e.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/1000011000101010001110003fb4f045c3835982efa1405324.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/100111011101110111101011f4396b410fa06af3b028d204e6.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/100111100111101000001100596b174e00995d6cc2969cc8dc.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/1010001100011000110010102ea16b484d887c7c9725feffd6.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/101101100010101111110111c5230944d9b3af7301b6392dda.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/1011011100100111111110105892bf41b5a530fedd7cf516f1.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/10111110000010001011110164e8774742bade87b483c10f36.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/1100000100010110001110103ffaca40a2a42c85067ebaf9ae.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/110000010001110110101110664bde4c76a78dfc14b05e83b8.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/11001100111000010100110050645c4281b1f35b2022234f7f.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/1101111011001100110111017214924a368f5719eab2246619.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/1110000111001010001000002150c24dcab653d39d07032e63.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/1110100000000100000011014d20534967a18b5c87721659ff.lance +0 -0
- package/.ctxman/self-knowledge/documents.lance/data/11110101111010000101011135a0114ef2b35dc6f1297a3381.lance +0 -0
- package/.ctxman/wizard-profiles/code-review/.contextignore +41 -0
- package/.ctxman/wizard-profiles/code-review/.contextinclude +30 -0
- package/.ctxman/wizard-profiles/code-review/.methodignore +26 -0
- package/.ctxman/wizard-profiles/code-review/.methodinclude +47 -0
- package/.ctxman/wizard-profiles/code-review/profile.json +26 -0
- package/.ctxman/wizard-profiles/documentation/.contextignore +21 -0
- package/.ctxman/wizard-profiles/documentation/.contextinclude +24 -0
- package/.ctxman/wizard-profiles/documentation/.methodignore +19 -0
- package/.ctxman/wizard-profiles/documentation/.methodinclude +44 -0
- package/.ctxman/wizard-profiles/documentation/profile.json +27 -0
- package/.ctxman/wizard-profiles/full/.contextignore +23 -0
- package/.ctxman/wizard-profiles/full/.contextinclude +38 -0
- package/.ctxman/wizard-profiles/full/.methodignore +5 -0
- package/.ctxman/wizard-profiles/full/.methodinclude +5 -0
- package/.ctxman/wizard-profiles/full/profile.json +28 -0
- package/.ctxman/wizard-profiles/llm-explain/.contextignore +25 -0
- package/.ctxman/wizard-profiles/llm-explain/.contextinclude +33 -0
- package/.ctxman/wizard-profiles/llm-explain/.methodignore +19 -0
- package/.ctxman/wizard-profiles/llm-explain/.methodinclude +48 -0
- package/.ctxman/wizard-profiles/llm-explain/profile.json +27 -0
- package/.ctxman/wizard-profiles/minimal/.contextignore +27 -0
- package/.ctxman/wizard-profiles/minimal/.contextinclude +14 -0
- package/.ctxman/wizard-profiles/minimal/.methodignore +22 -0
- package/.ctxman/wizard-profiles/minimal/.methodinclude +18 -0
- package/.ctxman/wizard-profiles/minimal/profile.json +26 -0
- package/.ctxman/wizard-profiles/security-audit/.contextignore +36 -0
- package/.ctxman/wizard-profiles/security-audit/.contextinclude +37 -0
- package/.ctxman/wizard-profiles/security-audit/.methodignore +29 -0
- package/.ctxman/wizard-profiles/security-audit/.methodinclude +60 -0
- package/.ctxman/wizard-profiles/security-audit/profile.json +34 -0
- package/README.md +1167 -0
- package/bin/cli.js +650 -0
- package/bin/cm-ask.js +95 -0
- package/bin/cm-gitingest.js +134 -0
- package/bin/cm-update.js +175 -0
- package/bin/mcp-server.js +31 -0
- package/ctxman.js +236 -0
- package/examples/README.md +298 -0
- package/examples/custom-llm-profiles.example.json +19 -0
- package/examples/wizard-profiles/code-review/.contextignore +41 -0
- package/examples/wizard-profiles/code-review/.contextinclude +30 -0
- package/examples/wizard-profiles/code-review/.methodignore +26 -0
- package/examples/wizard-profiles/code-review/.methodinclude +47 -0
- package/examples/wizard-profiles/code-review/profile.json +26 -0
- package/examples/wizard-profiles/documentation/.contextignore +21 -0
- package/examples/wizard-profiles/documentation/.contextinclude +24 -0
- package/examples/wizard-profiles/documentation/.methodignore +19 -0
- package/examples/wizard-profiles/documentation/.methodinclude +44 -0
- package/examples/wizard-profiles/documentation/profile.json +27 -0
- package/examples/wizard-profiles/full/.contextignore +23 -0
- package/examples/wizard-profiles/full/.contextinclude +38 -0
- package/examples/wizard-profiles/full/.methodignore +5 -0
- package/examples/wizard-profiles/full/.methodinclude +5 -0
- package/examples/wizard-profiles/full/profile.json +28 -0
- package/examples/wizard-profiles/llm-explain/.contextignore +25 -0
- package/examples/wizard-profiles/llm-explain/.contextinclude +33 -0
- package/examples/wizard-profiles/llm-explain/.methodignore +19 -0
- package/examples/wizard-profiles/llm-explain/.methodinclude +48 -0
- package/examples/wizard-profiles/llm-explain/profile.json +27 -0
- package/examples/wizard-profiles/minimal/.contextignore +27 -0
- package/examples/wizard-profiles/minimal/.contextinclude +14 -0
- package/examples/wizard-profiles/minimal/.methodignore +22 -0
- package/examples/wizard-profiles/minimal/.methodinclude +18 -0
- package/examples/wizard-profiles/minimal/profile.json +26 -0
- package/examples/wizard-profiles/security-audit/.contextignore +36 -0
- package/examples/wizard-profiles/security-audit/.contextinclude +37 -0
- package/examples/wizard-profiles/security-audit/.methodignore +29 -0
- package/examples/wizard-profiles/security-audit/.methodinclude +60 -0
- package/examples/wizard-profiles/security-audit/profile.json +34 -0
- package/index.js +68 -0
- package/lib/agents/pr-failure-agent.js +201 -0
- package/lib/analyzers/go-method-analyzer.js +126 -0
- package/lib/analyzers/method-analyzer.js +457 -0
- package/lib/analyzers/token-calculator.js +577 -0
- package/lib/api/mcp/prompts.js +319 -0
- package/lib/api/mcp/resources.js +269 -0
- package/lib/api/mcp/server.js +339 -0
- package/lib/api/mcp/transports/HttpSseTransport.js +63 -0
- package/lib/api/rest/server.js +405 -0
- package/lib/cache/CacheManager.js +388 -0
- package/lib/core/Analyzer.js +180 -0
- package/lib/core/ContextBuilder.js +325 -0
- package/lib/core/Reporter.js +270 -0
- package/lib/core/Scanner.js +129 -0
- package/lib/formatters/format-registry.js +419 -0
- package/lib/formatters/gitingest-formatter.js +746 -0
- package/lib/formatters/toon-formatter-v1.3.js +731 -0
- package/lib/formatters/toon-formatter.js +291 -0
- package/lib/integrations/git/BlameTracker.js +142 -0
- package/lib/integrations/git/DiffAnalyzer.js +260 -0
- package/lib/integrations/git/GitClient.js +336 -0
- package/lib/parsers/gitignore-parser.js +127 -0
- package/lib/parsers/method-filter-parser.js +50 -0
- package/lib/plugins/ExporterPlugin.js +102 -0
- package/lib/plugins/LanguagePlugin.js +100 -0
- package/lib/plugins/PluginManager.js +302 -0
- package/lib/rag/DataSourcePlugin.js +31 -0
- package/lib/rag/EmbeddingProvider.js +75 -0
- package/lib/rag/Indexer.js +83 -0
- package/lib/rag/VectorStoreFactory.js +24 -0
- package/lib/rag/sources/FileDataSource.js +70 -0
- package/lib/rag/stores/BaseVectorStore.js +43 -0
- package/lib/rag/stores/ChromaDBStore.js +85 -0
- package/lib/rag/stores/LanceDBStore.js +109 -0
- package/lib/rag/stores/PineconeStore.js +74 -0
- package/lib/ui/dashboard.js +109 -0
- package/lib/ui/index.js +15 -0
- package/lib/ui/progress-bar.js +110 -0
- package/lib/ui/select-input.js +51 -0
- package/lib/ui/wizard.js +359 -0
- package/lib/utils/clipboard-utils.js +66 -0
- package/lib/utils/config-utils.js +94 -0
- package/lib/utils/error-handler.js +145 -0
- package/lib/utils/file-utils.js +89 -0
- package/lib/utils/format-converter.js +325 -0
- package/lib/utils/git-utils.js +337 -0
- package/lib/utils/llm-detector.js +409 -0
- package/lib/utils/logger.js +278 -0
- package/lib/utils/token-utils.js +200 -0
- package/lib/utils/tokenizer-adapter.js +454 -0
- package/lib/utils/updater.js +565 -0
- package/lib/watch/FileWatcher.js +208 -0
- package/lib/watch/IncrementalAnalyzer.js +206 -0
- package/package.json +118 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "full",
|
|
3
|
+
"name": "Full",
|
|
4
|
+
"icon": "📦",
|
|
5
|
+
"description": "Comprehensive analysis including everything",
|
|
6
|
+
"tokenBudget": {
|
|
7
|
+
"small": "50K-100K",
|
|
8
|
+
"medium": "100K-250K",
|
|
9
|
+
"large": "250K-500K+"
|
|
10
|
+
},
|
|
11
|
+
"includes": {
|
|
12
|
+
"files": ["All source code", "All tests", "All documentation", "All configuration"],
|
|
13
|
+
"methods": ["All methods (no filtering)"]
|
|
14
|
+
},
|
|
15
|
+
"excludes": {
|
|
16
|
+
"files": ["Only build artifacts and dependencies"],
|
|
17
|
+
"methods": ["None (includes everything)"]
|
|
18
|
+
},
|
|
19
|
+
"bestFor": [
|
|
20
|
+
"Complete codebase analysis",
|
|
21
|
+
"Large-scale refactoring",
|
|
22
|
+
"Architecture overhauls",
|
|
23
|
+
"Comprehensive documentation generation",
|
|
24
|
+
"Full system understanding",
|
|
25
|
+
"Migration projects"
|
|
26
|
+
],
|
|
27
|
+
"warning": "High token usage - requires large context window LLMs"
|
|
28
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# LLM Explain Profile - File Level Ignore Filters
|
|
2
|
+
|
|
3
|
+
# Tests (reduce noise)
|
|
4
|
+
test/**
|
|
5
|
+
tests/**
|
|
6
|
+
__tests__/**
|
|
7
|
+
**/*.test.*
|
|
8
|
+
**/*.spec.*
|
|
9
|
+
|
|
10
|
+
# Dependencies
|
|
11
|
+
node_modules/**
|
|
12
|
+
vendor/**
|
|
13
|
+
|
|
14
|
+
# Build artifacts
|
|
15
|
+
dist/**
|
|
16
|
+
build/**
|
|
17
|
+
out/**
|
|
18
|
+
.next/**
|
|
19
|
+
|
|
20
|
+
# Coverage
|
|
21
|
+
coverage/**
|
|
22
|
+
|
|
23
|
+
# Minified files
|
|
24
|
+
**/*.min.js
|
|
25
|
+
**/*.min.css
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# LLM Explain Profile - File Level Include Filters
|
|
2
|
+
# Balanced view for explaining code to AI
|
|
3
|
+
|
|
4
|
+
# Core source code
|
|
5
|
+
src/**/*.js
|
|
6
|
+
src/**/*.ts
|
|
7
|
+
src/**/*.jsx
|
|
8
|
+
src/**/*.tsx
|
|
9
|
+
lib/**/*.js
|
|
10
|
+
lib/**/*.ts
|
|
11
|
+
|
|
12
|
+
# Entry points
|
|
13
|
+
index.js
|
|
14
|
+
index.ts
|
|
15
|
+
main.*
|
|
16
|
+
app.js
|
|
17
|
+
app.ts
|
|
18
|
+
server.js
|
|
19
|
+
server.ts
|
|
20
|
+
|
|
21
|
+
# Type definitions
|
|
22
|
+
**/*.d.ts
|
|
23
|
+
**/types/**
|
|
24
|
+
**/interfaces/**
|
|
25
|
+
|
|
26
|
+
# Configuration
|
|
27
|
+
package.json
|
|
28
|
+
tsconfig.json
|
|
29
|
+
|
|
30
|
+
# Documentation
|
|
31
|
+
README.md
|
|
32
|
+
ARCHITECTURE.md
|
|
33
|
+
API.md
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# LLM Explain Profile - Method Level Include Filters
|
|
2
|
+
|
|
3
|
+
# Constructors and initialization
|
|
4
|
+
constructor
|
|
5
|
+
initialize
|
|
6
|
+
init*
|
|
7
|
+
setup*
|
|
8
|
+
|
|
9
|
+
# Public APIs
|
|
10
|
+
*Handler
|
|
11
|
+
*Controller
|
|
12
|
+
*Service
|
|
13
|
+
*Manager
|
|
14
|
+
*Provider
|
|
15
|
+
*Factory
|
|
16
|
+
|
|
17
|
+
# Core business logic
|
|
18
|
+
process*
|
|
19
|
+
handle*
|
|
20
|
+
execute*
|
|
21
|
+
run*
|
|
22
|
+
start*
|
|
23
|
+
create*
|
|
24
|
+
update*
|
|
25
|
+
delete*
|
|
26
|
+
get*
|
|
27
|
+
set*
|
|
28
|
+
|
|
29
|
+
# Data transformation
|
|
30
|
+
transform*
|
|
31
|
+
convert*
|
|
32
|
+
parse*
|
|
33
|
+
format*
|
|
34
|
+
serialize*
|
|
35
|
+
|
|
36
|
+
# Async operations
|
|
37
|
+
async *
|
|
38
|
+
*Async
|
|
39
|
+
|
|
40
|
+
# Event handling
|
|
41
|
+
on*
|
|
42
|
+
emit*
|
|
43
|
+
trigger*
|
|
44
|
+
|
|
45
|
+
# Lifecycle methods
|
|
46
|
+
mount*
|
|
47
|
+
unmount*
|
|
48
|
+
render
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "llm-explain",
|
|
3
|
+
"name": "LLM Explain",
|
|
4
|
+
"icon": "💡",
|
|
5
|
+
"description": "Balanced view for explaining code architecture and implementation to AI",
|
|
6
|
+
"tokenBudget": {
|
|
7
|
+
"small": "25K-50K",
|
|
8
|
+
"medium": "50K-100K",
|
|
9
|
+
"large": "100K-200K"
|
|
10
|
+
},
|
|
11
|
+
"includes": {
|
|
12
|
+
"files": ["Core source code", "Entry points", "Types/interfaces", "Documentation"],
|
|
13
|
+
"methods": ["Constructors", "Public APIs", "Business logic", "Lifecycle methods"]
|
|
14
|
+
},
|
|
15
|
+
"excludes": {
|
|
16
|
+
"files": ["Tests", "Build artifacts"],
|
|
17
|
+
"methods": ["Private methods", "Test helpers"]
|
|
18
|
+
},
|
|
19
|
+
"bestFor": [
|
|
20
|
+
"Understanding unfamiliar codebases",
|
|
21
|
+
"Onboarding new team members",
|
|
22
|
+
"Generating architectural documentation",
|
|
23
|
+
"AI-assisted refactoring",
|
|
24
|
+
"Pair programming with AI",
|
|
25
|
+
"Learning from existing implementations"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Minimal Profile - File Level Ignore Filters
|
|
2
|
+
# Exclude everything non-essential
|
|
3
|
+
|
|
4
|
+
# Tests
|
|
5
|
+
test/**
|
|
6
|
+
tests/**
|
|
7
|
+
__tests__/**
|
|
8
|
+
**/*.test.*
|
|
9
|
+
**/*.spec.*
|
|
10
|
+
|
|
11
|
+
# Dependencies
|
|
12
|
+
node_modules/**
|
|
13
|
+
vendor/**
|
|
14
|
+
|
|
15
|
+
# Build artifacts
|
|
16
|
+
dist/**
|
|
17
|
+
build/**
|
|
18
|
+
coverage/**
|
|
19
|
+
|
|
20
|
+
# Documentation
|
|
21
|
+
docs/**
|
|
22
|
+
**/*.md
|
|
23
|
+
|
|
24
|
+
# All config files except package.json
|
|
25
|
+
*.config.js
|
|
26
|
+
*.config.ts
|
|
27
|
+
tsconfig.json
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Minimal Profile - Method Level Ignore Filters
|
|
2
|
+
# Ignore most helper and utility methods
|
|
3
|
+
|
|
4
|
+
# Private/internal
|
|
5
|
+
_*
|
|
6
|
+
*Private*
|
|
7
|
+
*Internal*
|
|
8
|
+
__*
|
|
9
|
+
|
|
10
|
+
# Helpers
|
|
11
|
+
*Helper
|
|
12
|
+
*Util
|
|
13
|
+
*Utils
|
|
14
|
+
|
|
15
|
+
# Tests
|
|
16
|
+
test*
|
|
17
|
+
it
|
|
18
|
+
describe
|
|
19
|
+
|
|
20
|
+
# Getters/setters
|
|
21
|
+
get *
|
|
22
|
+
set *
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "minimal",
|
|
3
|
+
"name": "Minimal",
|
|
4
|
+
"icon": "🎯",
|
|
5
|
+
"description": "Extremely focused context for token-limited scenarios",
|
|
6
|
+
"tokenBudget": {
|
|
7
|
+
"small": "5K-10K",
|
|
8
|
+
"medium": "10K-25K",
|
|
9
|
+
"large": "25K-50K"
|
|
10
|
+
},
|
|
11
|
+
"includes": {
|
|
12
|
+
"files": ["Core source code only", "Main entry point", "Essential configuration"],
|
|
13
|
+
"methods": ["Entry points", "Primary operations", "Essential CRUD"]
|
|
14
|
+
},
|
|
15
|
+
"excludes": {
|
|
16
|
+
"files": ["Tests", "Documentation", "Build artifacts", "All non-essential files"],
|
|
17
|
+
"methods": ["Helper methods", "Test methods", "Internal utilities"]
|
|
18
|
+
},
|
|
19
|
+
"bestFor": [
|
|
20
|
+
"Quick bug fixes",
|
|
21
|
+
"Small feature additions",
|
|
22
|
+
"Token-limited LLM contexts",
|
|
23
|
+
"Fast responses from AI",
|
|
24
|
+
"Focus on specific functionality"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Security Audit Profile - File Level Ignore Filters
|
|
2
|
+
# Exclude non-security-related code
|
|
3
|
+
|
|
4
|
+
# Tests (focus on production code)
|
|
5
|
+
test/**
|
|
6
|
+
tests/**
|
|
7
|
+
__tests__/**
|
|
8
|
+
**/*.test.*
|
|
9
|
+
**/*.spec.*
|
|
10
|
+
|
|
11
|
+
# Documentation
|
|
12
|
+
docs/**
|
|
13
|
+
**/*.md
|
|
14
|
+
!SECURITY.md
|
|
15
|
+
|
|
16
|
+
# Dependencies
|
|
17
|
+
node_modules/**
|
|
18
|
+
vendor/**
|
|
19
|
+
|
|
20
|
+
# Build artifacts
|
|
21
|
+
dist/**
|
|
22
|
+
build/**
|
|
23
|
+
out/**
|
|
24
|
+
|
|
25
|
+
# Frontend assets (usually not security-critical)
|
|
26
|
+
public/**
|
|
27
|
+
static/**
|
|
28
|
+
assets/**
|
|
29
|
+
**/*.css
|
|
30
|
+
**/*.scss
|
|
31
|
+
**/*.less
|
|
32
|
+
|
|
33
|
+
# Mock/example data
|
|
34
|
+
mocks/**
|
|
35
|
+
fixtures/**
|
|
36
|
+
examples/**
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Security Audit Profile - File Level Include Filters
|
|
2
|
+
# Focus on security-critical code
|
|
3
|
+
|
|
4
|
+
# Authentication & Authorization
|
|
5
|
+
**/auth/**
|
|
6
|
+
**/authentication/**
|
|
7
|
+
**/authorization/**
|
|
8
|
+
**/security/**
|
|
9
|
+
**/guards/**
|
|
10
|
+
**/middleware/**
|
|
11
|
+
|
|
12
|
+
# API & Route handlers
|
|
13
|
+
**/routes/**
|
|
14
|
+
**/api/**
|
|
15
|
+
**/controllers/**
|
|
16
|
+
**/handlers/**
|
|
17
|
+
**/endpoints/**
|
|
18
|
+
|
|
19
|
+
# Database layer
|
|
20
|
+
**/models/**
|
|
21
|
+
**/schemas/**
|
|
22
|
+
**/repositories/**
|
|
23
|
+
**/migrations/**
|
|
24
|
+
**/queries/**
|
|
25
|
+
|
|
26
|
+
# Configuration (may contain security settings)
|
|
27
|
+
*.config.js
|
|
28
|
+
*.config.ts
|
|
29
|
+
.env.example
|
|
30
|
+
config/**/*.js
|
|
31
|
+
config/**/*.ts
|
|
32
|
+
|
|
33
|
+
# Security utilities
|
|
34
|
+
**/validators/**
|
|
35
|
+
**/sanitizers/**
|
|
36
|
+
**/crypto/**
|
|
37
|
+
**/encryption/**
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Security Audit Profile - Method Level Ignore Filters
|
|
2
|
+
# Exclude non-security methods
|
|
3
|
+
|
|
4
|
+
# Test methods
|
|
5
|
+
test*
|
|
6
|
+
it
|
|
7
|
+
describe
|
|
8
|
+
beforeEach
|
|
9
|
+
afterEach
|
|
10
|
+
beforeAll
|
|
11
|
+
afterAll
|
|
12
|
+
|
|
13
|
+
# Mock/stub helpers
|
|
14
|
+
mock*
|
|
15
|
+
stub*
|
|
16
|
+
fake*
|
|
17
|
+
spy*
|
|
18
|
+
|
|
19
|
+
# UI/presentation methods
|
|
20
|
+
render*
|
|
21
|
+
display*
|
|
22
|
+
show*
|
|
23
|
+
hide*
|
|
24
|
+
|
|
25
|
+
# Logging (unless it's audit logging)
|
|
26
|
+
log*
|
|
27
|
+
debug*
|
|
28
|
+
!auditLog*
|
|
29
|
+
!securityLog*
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Security Audit Profile - Method Level Include Filters
|
|
2
|
+
# Focus on security-critical functions
|
|
3
|
+
|
|
4
|
+
# Authentication & Authorization
|
|
5
|
+
auth*
|
|
6
|
+
*Auth
|
|
7
|
+
login*
|
|
8
|
+
logout*
|
|
9
|
+
verify*
|
|
10
|
+
*Token
|
|
11
|
+
*Session
|
|
12
|
+
*Permission
|
|
13
|
+
*Role
|
|
14
|
+
authorize*
|
|
15
|
+
authenticate*
|
|
16
|
+
check*Access
|
|
17
|
+
|
|
18
|
+
# Data validation and sanitization
|
|
19
|
+
validate*
|
|
20
|
+
sanitize*
|
|
21
|
+
escape*
|
|
22
|
+
clean*
|
|
23
|
+
filter*
|
|
24
|
+
*Validator
|
|
25
|
+
|
|
26
|
+
# Input/Output handling
|
|
27
|
+
parse*
|
|
28
|
+
*Input
|
|
29
|
+
*Output
|
|
30
|
+
encode*
|
|
31
|
+
decode*
|
|
32
|
+
|
|
33
|
+
# Cryptography
|
|
34
|
+
encrypt*
|
|
35
|
+
decrypt*
|
|
36
|
+
hash*
|
|
37
|
+
*Hash
|
|
38
|
+
sign*
|
|
39
|
+
*Signature
|
|
40
|
+
*Crypto
|
|
41
|
+
|
|
42
|
+
# Database queries (SQL injection risks)
|
|
43
|
+
query*
|
|
44
|
+
execute*
|
|
45
|
+
*Query
|
|
46
|
+
*SQL
|
|
47
|
+
*Database
|
|
48
|
+
|
|
49
|
+
# File operations (path traversal risks)
|
|
50
|
+
read*
|
|
51
|
+
write*
|
|
52
|
+
upload*
|
|
53
|
+
download*
|
|
54
|
+
*File
|
|
55
|
+
*Path
|
|
56
|
+
|
|
57
|
+
# Error handling (information disclosure)
|
|
58
|
+
*Error
|
|
59
|
+
*Exception
|
|
60
|
+
handle*Error
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "security-audit",
|
|
3
|
+
"name": "Security Audit",
|
|
4
|
+
"icon": "🔒",
|
|
5
|
+
"description": "Focus on security-critical code and potential vulnerabilities",
|
|
6
|
+
"tokenBudget": {
|
|
7
|
+
"small": "15K-30K",
|
|
8
|
+
"medium": "30K-60K",
|
|
9
|
+
"large": "60K-120K"
|
|
10
|
+
},
|
|
11
|
+
"includes": {
|
|
12
|
+
"files": ["Auth modules", "API endpoints", "Middleware", "Database code", "Security configs"],
|
|
13
|
+
"methods": ["Authentication", "Validation", "Cryptography", "Database queries", "File operations"]
|
|
14
|
+
},
|
|
15
|
+
"excludes": {
|
|
16
|
+
"files": ["Tests", "Documentation", "Build artifacts"],
|
|
17
|
+
"methods": ["Test methods", "Mock/stub helpers"]
|
|
18
|
+
},
|
|
19
|
+
"bestFor": [
|
|
20
|
+
"Pre-deployment security reviews",
|
|
21
|
+
"Vulnerability assessments",
|
|
22
|
+
"Compliance audits",
|
|
23
|
+
"Penetration testing preparation",
|
|
24
|
+
"Security-focused code reviews"
|
|
25
|
+
],
|
|
26
|
+
"securityFocus": [
|
|
27
|
+
"SQL Injection",
|
|
28
|
+
"XSS",
|
|
29
|
+
"Authentication Issues",
|
|
30
|
+
"Path Traversal",
|
|
31
|
+
"Information Disclosure",
|
|
32
|
+
"Cryptography"
|
|
33
|
+
]
|
|
34
|
+
}
|
package/index.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ctxman - Public API
|
|
3
|
+
* Exports all modules for programmatic usage
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Core analyzers
|
|
7
|
+
import TokenCalculator from './lib/analyzers/token-calculator.js';
|
|
8
|
+
import MethodAnalyzer from './lib/analyzers/method-analyzer.js';
|
|
9
|
+
|
|
10
|
+
// Parsers
|
|
11
|
+
import GitIgnoreParser from './lib/parsers/gitignore-parser.js';
|
|
12
|
+
import MethodFilterParser from './lib/parsers/method-filter-parser.js';
|
|
13
|
+
|
|
14
|
+
// Formatters
|
|
15
|
+
import GitIngestFormatter from './lib/formatters/gitingest-formatter.js';
|
|
16
|
+
import ToonFormatter from './lib/formatters/toon-formatter.js';
|
|
17
|
+
import FormatRegistry from './lib/formatters/format-registry.js';
|
|
18
|
+
|
|
19
|
+
// Utils
|
|
20
|
+
import TokenUtils from './lib/utils/token-utils.js';
|
|
21
|
+
import FileUtils from './lib/utils/file-utils.js';
|
|
22
|
+
import ClipboardUtils from './lib/utils/clipboard-utils.js';
|
|
23
|
+
import ConfigUtils from './lib/utils/config-utils.js';
|
|
24
|
+
import FormatConverter from './lib/utils/format-converter.js';
|
|
25
|
+
import ErrorHandler from './lib/utils/error-handler.js';
|
|
26
|
+
import { Logger, getLogger, createLogger } from './lib/utils/logger.js'; // v2.3.6+
|
|
27
|
+
import Updater from './lib/utils/updater.js'; // v2.3.6+
|
|
28
|
+
import GitUtils from './lib/utils/git-utils.js'; // v2.3.6+
|
|
29
|
+
|
|
30
|
+
// Orchestrator functions
|
|
31
|
+
import { generateDigestFromReport, generateDigestFromContext } from './ctxman.js';
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
// Analyzers
|
|
35
|
+
TokenCalculator,
|
|
36
|
+
MethodAnalyzer,
|
|
37
|
+
|
|
38
|
+
// Parsers
|
|
39
|
+
GitIgnoreParser,
|
|
40
|
+
MethodFilterParser,
|
|
41
|
+
|
|
42
|
+
// Formatters
|
|
43
|
+
GitIngestFormatter,
|
|
44
|
+
ToonFormatter,
|
|
45
|
+
FormatRegistry,
|
|
46
|
+
|
|
47
|
+
// Utils
|
|
48
|
+
TokenUtils,
|
|
49
|
+
FileUtils,
|
|
50
|
+
ClipboardUtils,
|
|
51
|
+
ConfigUtils,
|
|
52
|
+
FormatConverter,
|
|
53
|
+
ErrorHandler,
|
|
54
|
+
|
|
55
|
+
// v2.3.6+ Utils
|
|
56
|
+
Logger,
|
|
57
|
+
getLogger,
|
|
58
|
+
createLogger,
|
|
59
|
+
Updater,
|
|
60
|
+
GitUtils,
|
|
61
|
+
|
|
62
|
+
// Functions
|
|
63
|
+
generateDigestFromReport,
|
|
64
|
+
generateDigestFromContext
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// Alias for backward compatibility
|
|
68
|
+
export { TokenCalculator as TokenAnalyzer };
|