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,298 @@
|
|
|
1
|
+
# Ctxman - Examples & Reference Configurations
|
|
2
|
+
|
|
3
|
+
This directory contains reference configurations and examples for Ctxman. Use these as templates or restore them if you modify the active wizard profiles.
|
|
4
|
+
|
|
5
|
+
## 📁 Directory Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
examples/
|
|
9
|
+
├── wizard-profiles/ # Reference wizard profile templates
|
|
10
|
+
│ ├── code-review/ # Code review profile
|
|
11
|
+
│ ├── security-audit/ # Security audit profile
|
|
12
|
+
│ ├── llm-explain/ # LLM explain profile
|
|
13
|
+
│ ├── documentation/ # Documentation profile
|
|
14
|
+
│ ├── minimal/ # Minimal profile
|
|
15
|
+
│ └── full/ # Full profile
|
|
16
|
+
├── custom-llm-profiles.example.json # Example custom LLM profiles
|
|
17
|
+
└── README.md # This file
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 🔧 Wizard Profiles
|
|
21
|
+
|
|
22
|
+
Wizard profiles are pre-configured analysis templates that optimize context generation for specific use cases. Each profile contains:
|
|
23
|
+
|
|
24
|
+
- `profile.json` - Metadata (name, description, icon, token budgets, best practices)
|
|
25
|
+
- `.contextinclude` - File-level include filters
|
|
26
|
+
- `.contextignore` - File-level exclude filters
|
|
27
|
+
- `.methodinclude` - Method-level include filters
|
|
28
|
+
- `.methodignore` - Method-level exclude filters
|
|
29
|
+
|
|
30
|
+
### Active vs Reference Profiles
|
|
31
|
+
|
|
32
|
+
**Active Profiles:**
|
|
33
|
+
- Location: `.ctxman/wizard-profiles/`
|
|
34
|
+
- Used by the wizard during interactive setup
|
|
35
|
+
- Can be modified or deleted by users
|
|
36
|
+
|
|
37
|
+
**Reference Profiles (this directory):**
|
|
38
|
+
- Location: `examples/wizard-profiles/`
|
|
39
|
+
- Backup copies of default profiles
|
|
40
|
+
- Use these to restore or create custom profiles
|
|
41
|
+
|
|
42
|
+
## 📋 Available Profiles
|
|
43
|
+
|
|
44
|
+
### 👀 Code Review
|
|
45
|
+
**Purpose:** Reviewing code changes and PRs
|
|
46
|
+
**Token Budget:** 20K-80K tokens
|
|
47
|
+
**Includes:** Source code, tests, configurations
|
|
48
|
+
**Best For:** Pull requests, architecture understanding
|
|
49
|
+
|
|
50
|
+
### 🔒 Security Audit
|
|
51
|
+
**Purpose:** Security assessments and vulnerability analysis
|
|
52
|
+
**Token Budget:** 15K-60K tokens
|
|
53
|
+
**Includes:** Auth modules, API endpoints, database code
|
|
54
|
+
**Best For:** Pre-deployment security reviews, compliance audits
|
|
55
|
+
|
|
56
|
+
### 💡 LLM Explain
|
|
57
|
+
**Purpose:** Explaining code architecture to AI
|
|
58
|
+
**Token Budget:** 25K-100K tokens
|
|
59
|
+
**Includes:** Core source, entry points, documentation
|
|
60
|
+
**Best For:** Understanding unfamiliar codebases, onboarding
|
|
61
|
+
|
|
62
|
+
### 📚 Documentation
|
|
63
|
+
**Purpose:** Generating API docs and guides
|
|
64
|
+
**Token Budget:** 18K-70K tokens
|
|
65
|
+
**Includes:** Public APIs, type definitions, exports
|
|
66
|
+
**Best For:** API documentation, user guides, README updates
|
|
67
|
+
|
|
68
|
+
### 🎯 Minimal
|
|
69
|
+
**Purpose:** Quick queries with minimal token usage
|
|
70
|
+
**Token Budget:** 5K-25K tokens
|
|
71
|
+
**Includes:** Core source only
|
|
72
|
+
**Best For:** Bug fixes, focused debugging, token-limited scenarios
|
|
73
|
+
|
|
74
|
+
### 📦 Full
|
|
75
|
+
**Purpose:** Comprehensive codebase analysis
|
|
76
|
+
**Token Budget:** 50K-500K+ tokens
|
|
77
|
+
**Includes:** Everything (all source, tests, docs)
|
|
78
|
+
**Best For:** Large refactoring, migration projects, complete analysis
|
|
79
|
+
|
|
80
|
+
## 🔄 Restoring Default Profiles
|
|
81
|
+
|
|
82
|
+
If you've modified or deleted a wizard profile and want to restore the default:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Restore a single profile
|
|
86
|
+
cp -r examples/wizard-profiles/code-review .ctxman/wizard-profiles/
|
|
87
|
+
|
|
88
|
+
# Restore all profiles
|
|
89
|
+
cp -r examples/wizard-profiles/* .ctxman/wizard-profiles/
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## ➕ Creating Custom Profiles
|
|
93
|
+
|
|
94
|
+
### Method 1: Copy and Modify
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Copy an existing profile as template
|
|
98
|
+
cp -r examples/wizard-profiles/code-review .ctxman/wizard-profiles/my-custom-profile
|
|
99
|
+
|
|
100
|
+
# Edit the files
|
|
101
|
+
cd .ctxman/wizard-profiles/my-custom-profile
|
|
102
|
+
nano profile.json # Update metadata
|
|
103
|
+
nano .contextinclude # Customize file filters
|
|
104
|
+
nano .methodinclude # Customize method filters
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Method 2: Create from Scratch
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Create profile directory
|
|
111
|
+
mkdir -p .ctxman/wizard-profiles/my-profile
|
|
112
|
+
|
|
113
|
+
# Create required files
|
|
114
|
+
touch .ctxman/wizard-profiles/my-profile/profile.json
|
|
115
|
+
touch .ctxman/wizard-profiles/my-profile/.contextinclude
|
|
116
|
+
touch .ctxman/wizard-profiles/my-profile/.contextignore
|
|
117
|
+
touch .ctxman/wizard-profiles/my-profile/.methodinclude
|
|
118
|
+
touch .ctxman/wizard-profiles/my-profile/.methodignore
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**profile.json structure:**
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"id": "my-profile",
|
|
125
|
+
"name": "My Custom Profile",
|
|
126
|
+
"icon": "🎨",
|
|
127
|
+
"description": "Description of what this profile does",
|
|
128
|
+
"tokenBudget": {
|
|
129
|
+
"small": "10K-20K",
|
|
130
|
+
"medium": "20K-40K",
|
|
131
|
+
"large": "40K-80K"
|
|
132
|
+
},
|
|
133
|
+
"includes": {
|
|
134
|
+
"files": ["What files are included"],
|
|
135
|
+
"methods": ["What methods are included"]
|
|
136
|
+
},
|
|
137
|
+
"excludes": {
|
|
138
|
+
"files": ["What files are excluded"],
|
|
139
|
+
"methods": ["What methods are excluded"]
|
|
140
|
+
},
|
|
141
|
+
"bestFor": [
|
|
142
|
+
"Use case 1",
|
|
143
|
+
"Use case 2"
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## 🤖 Custom LLM Profiles
|
|
149
|
+
|
|
150
|
+
The `custom-llm-profiles.example.json` file shows how to add custom LLM models to the wizard's model selection.
|
|
151
|
+
|
|
152
|
+
**Usage:**
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Copy example to active location
|
|
156
|
+
cp examples/custom-llm-profiles.example.json .ctxman/custom-profiles.json
|
|
157
|
+
|
|
158
|
+
# Edit with your custom models
|
|
159
|
+
nano .ctxman/custom-profiles.json
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Example custom LLM profile:**
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"models": [
|
|
166
|
+
{
|
|
167
|
+
"id": "my-custom-model",
|
|
168
|
+
"name": "My Custom LLM",
|
|
169
|
+
"vendor": "Custom",
|
|
170
|
+
"contextWindow": 100000,
|
|
171
|
+
"apiKeyEnv": "MY_CUSTOM_API_KEY"
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## 📖 Filter Syntax Reference
|
|
178
|
+
|
|
179
|
+
### File Filters (.contextinclude / .contextignore)
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Include patterns
|
|
183
|
+
src/**/*.js # All JS files in src/ recursively
|
|
184
|
+
lib/**/*.ts # All TS files in lib/ recursively
|
|
185
|
+
*.config.js # Config files in root
|
|
186
|
+
|
|
187
|
+
# Exclude patterns
|
|
188
|
+
!**/test/** # Exclude test directories
|
|
189
|
+
!**/*.min.js # Exclude minified files
|
|
190
|
+
|
|
191
|
+
# Directory matching
|
|
192
|
+
**/auth/** # All files in any auth directory
|
|
193
|
+
config/**/*.js # JS files in config directory
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Method Filters (.methodinclude / .methodignore)
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# Pattern matching
|
|
200
|
+
*Handler # Methods ending with "Handler"
|
|
201
|
+
process* # Methods starting with "process"
|
|
202
|
+
async * # All async methods
|
|
203
|
+
|
|
204
|
+
# Specific methods
|
|
205
|
+
constructor # Constructors
|
|
206
|
+
init* # Initialization methods
|
|
207
|
+
|
|
208
|
+
# Exclusions
|
|
209
|
+
!_* # Exclude private methods (starting with _)
|
|
210
|
+
!mock* # Exclude mock methods
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## 🔀 Profile Switching Workflow
|
|
214
|
+
|
|
215
|
+
When you select a profile in the wizard:
|
|
216
|
+
|
|
217
|
+
1. **Profile files are copied** with profile name suffix:
|
|
218
|
+
```
|
|
219
|
+
.contextinclude-code-review
|
|
220
|
+
.contextignore-code-review
|
|
221
|
+
.methodinclude-code-review
|
|
222
|
+
.methodignore-code-review
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
2. **Active configs are created** (copies for current analysis):
|
|
226
|
+
```
|
|
227
|
+
.contextinclude → copy of .contextinclude-code-review
|
|
228
|
+
.contextignore → copy of .contextignore-code-review
|
|
229
|
+
.methodinclude → copy of .methodinclude-code-review
|
|
230
|
+
.methodignore → copy of .methodignore-code-review
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
3. **Multiple profiles can coexist**:
|
|
234
|
+
```
|
|
235
|
+
.contextinclude-code-review
|
|
236
|
+
.contextinclude-security-audit
|
|
237
|
+
.contextinclude-minimal
|
|
238
|
+
.contextinclude ← currently active
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## 🎯 Best Practices
|
|
242
|
+
|
|
243
|
+
### Profile Naming
|
|
244
|
+
- Use lowercase with hyphens: `my-custom-profile`
|
|
245
|
+
- Choose descriptive names: `react-component-review`, `api-security-audit`
|
|
246
|
+
|
|
247
|
+
### Token Budgets
|
|
248
|
+
- **Minimal:** 5K-25K tokens
|
|
249
|
+
- **Focused:** 20K-80K tokens (code-review, security-audit)
|
|
250
|
+
- **Balanced:** 50K-100K tokens (llm-explain, documentation)
|
|
251
|
+
- **Comprehensive:** 100K-500K+ tokens (full)
|
|
252
|
+
|
|
253
|
+
### Filter Design
|
|
254
|
+
- **Include mode** (`.contextinclude` / `.methodinclude`): Best for focused analysis
|
|
255
|
+
- **Exclude mode** (`.contextignore` / `.methodignore`): Best for broad analysis with exceptions
|
|
256
|
+
- **Combined mode**: Use both for fine-grained control
|
|
257
|
+
|
|
258
|
+
## 📚 Related Documentation
|
|
259
|
+
|
|
260
|
+
- [Main README](../README.md) - Project overview and installation
|
|
261
|
+
- [CHANGELOG](../docs/CHANGELOG.md) - Version history and features
|
|
262
|
+
- [CLAUDE.md](../CLAUDE.md) - AI assistant guidance
|
|
263
|
+
|
|
264
|
+
## 🆘 Troubleshooting
|
|
265
|
+
|
|
266
|
+
**Profile not appearing in wizard?**
|
|
267
|
+
- Ensure `profile.json` exists and is valid JSON
|
|
268
|
+
- Check that profile directory is in `.ctxman/wizard-profiles/`
|
|
269
|
+
- Profile ID must match directory name
|
|
270
|
+
|
|
271
|
+
**Filters not working?**
|
|
272
|
+
- Check `.gitignore` first (it always takes precedence)
|
|
273
|
+
- Verify pattern syntax (use `**` for recursive matching)
|
|
274
|
+
- Test patterns with `ctxman --analyze`
|
|
275
|
+
|
|
276
|
+
**Need to reset everything?**
|
|
277
|
+
```bash
|
|
278
|
+
# Remove all active profiles and configs
|
|
279
|
+
rm -rf .ctxman/wizard-profiles
|
|
280
|
+
rm .context*
|
|
281
|
+
rm .method*
|
|
282
|
+
|
|
283
|
+
# Restore defaults
|
|
284
|
+
cp -r examples/wizard-profiles .ctxman/
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## 💡 Tips
|
|
288
|
+
|
|
289
|
+
1. **Start with a similar profile** - Copy the closest match and modify
|
|
290
|
+
2. **Test incrementally** - Run analysis after each filter change
|
|
291
|
+
3. **Use Custom mode** - For one-off analyses, select "Custom" in wizard
|
|
292
|
+
4. **Version control profiles** - Add custom profiles to git for team sharing
|
|
293
|
+
5. **Document your profiles** - Update `profile.json` with clear descriptions
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
**Version:** 2.3.8
|
|
298
|
+
**Last Updated:** 2025-11-05
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./llm-profiles.schema.json",
|
|
3
|
+
"version": "2.3.7",
|
|
4
|
+
"description": "Custom LLM profiles - Copy this to custom-profiles.json and add your models",
|
|
5
|
+
"profiles": {
|
|
6
|
+
"my-custom-model": {
|
|
7
|
+
"name": "My Custom Model",
|
|
8
|
+
"vendor": "Custom",
|
|
9
|
+
"contextWindow": 100000,
|
|
10
|
+
"outputWindow": 4096,
|
|
11
|
+
"overhead": 10000,
|
|
12
|
+
"maxRecommendedInput": 90000,
|
|
13
|
+
"preferredFormat": "json",
|
|
14
|
+
"chunkStrategy": "smart",
|
|
15
|
+
"supportedLanguages": "all",
|
|
16
|
+
"strengths": ["custom-feature"]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Code Review Profile - File Level Ignore Filters
|
|
2
|
+
# Exclude non-essential files
|
|
3
|
+
|
|
4
|
+
# Dependencies
|
|
5
|
+
node_modules/**
|
|
6
|
+
vendor/**
|
|
7
|
+
packages/**/node_modules/**
|
|
8
|
+
|
|
9
|
+
# Build artifacts
|
|
10
|
+
dist/**
|
|
11
|
+
build/**
|
|
12
|
+
out/**
|
|
13
|
+
.next/**
|
|
14
|
+
.nuxt/**
|
|
15
|
+
|
|
16
|
+
# Minified files
|
|
17
|
+
**/*.min.js
|
|
18
|
+
**/*.min.css
|
|
19
|
+
|
|
20
|
+
# Coverage reports
|
|
21
|
+
coverage/**
|
|
22
|
+
.nyc_output/**
|
|
23
|
+
|
|
24
|
+
# Logs
|
|
25
|
+
**/*.log
|
|
26
|
+
logs/**
|
|
27
|
+
|
|
28
|
+
# Environment files (may contain secrets)
|
|
29
|
+
.env
|
|
30
|
+
.env.*
|
|
31
|
+
!.env.example
|
|
32
|
+
|
|
33
|
+
# IDE files
|
|
34
|
+
.vscode/**
|
|
35
|
+
.idea/**
|
|
36
|
+
*.swp
|
|
37
|
+
*.swo
|
|
38
|
+
|
|
39
|
+
# OS files
|
|
40
|
+
.DS_Store
|
|
41
|
+
Thumbs.db
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Code Review Profile - File Level Include Filters
|
|
2
|
+
# Focus on source code, tests, and configuration
|
|
3
|
+
|
|
4
|
+
# Source code directories
|
|
5
|
+
src/**/*.js
|
|
6
|
+
src/**/*.ts
|
|
7
|
+
src/**/*.jsx
|
|
8
|
+
src/**/*.tsx
|
|
9
|
+
lib/**/*.js
|
|
10
|
+
lib/**/*.ts
|
|
11
|
+
app/**/*.js
|
|
12
|
+
app/**/*.ts
|
|
13
|
+
|
|
14
|
+
# Include tests for understanding behavior
|
|
15
|
+
test/**/*.js
|
|
16
|
+
test/**/*.ts
|
|
17
|
+
tests/**/*.js
|
|
18
|
+
tests/**/*.ts
|
|
19
|
+
__tests__/**/*.js
|
|
20
|
+
__tests__/**/*.ts
|
|
21
|
+
**/*.test.js
|
|
22
|
+
**/*.test.ts
|
|
23
|
+
**/*.spec.js
|
|
24
|
+
**/*.spec.ts
|
|
25
|
+
|
|
26
|
+
# Configuration files
|
|
27
|
+
package.json
|
|
28
|
+
tsconfig.json
|
|
29
|
+
*.config.js
|
|
30
|
+
*.config.ts
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Code Review Profile - Method Level Ignore Filters
|
|
2
|
+
# Exclude internal/private methods and test setup
|
|
3
|
+
|
|
4
|
+
# Private methods
|
|
5
|
+
_*
|
|
6
|
+
*Private*
|
|
7
|
+
*Internal*
|
|
8
|
+
__*
|
|
9
|
+
|
|
10
|
+
# Test setup/teardown
|
|
11
|
+
beforeEach
|
|
12
|
+
afterEach
|
|
13
|
+
beforeAll
|
|
14
|
+
afterAll
|
|
15
|
+
setUp
|
|
16
|
+
tearDown
|
|
17
|
+
|
|
18
|
+
# Mock/stub helpers
|
|
19
|
+
mock*
|
|
20
|
+
stub*
|
|
21
|
+
fake*
|
|
22
|
+
spy*
|
|
23
|
+
|
|
24
|
+
# Getters/setters (too verbose)
|
|
25
|
+
get *
|
|
26
|
+
set *
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Code Review Profile - Method Level Include Filters
|
|
2
|
+
# Focus on public APIs and core business logic
|
|
3
|
+
|
|
4
|
+
# Public API methods
|
|
5
|
+
*Handler
|
|
6
|
+
*Controller
|
|
7
|
+
*Service
|
|
8
|
+
*Manager
|
|
9
|
+
*Provider
|
|
10
|
+
*Repository
|
|
11
|
+
*Factory
|
|
12
|
+
*Builder
|
|
13
|
+
|
|
14
|
+
# Business logic
|
|
15
|
+
process*
|
|
16
|
+
handle*
|
|
17
|
+
validate*
|
|
18
|
+
calculate*
|
|
19
|
+
transform*
|
|
20
|
+
execute*
|
|
21
|
+
perform*
|
|
22
|
+
|
|
23
|
+
# Async operations
|
|
24
|
+
async *
|
|
25
|
+
*Async
|
|
26
|
+
*Promise
|
|
27
|
+
|
|
28
|
+
# Error handling
|
|
29
|
+
*Error
|
|
30
|
+
*Exception
|
|
31
|
+
catch*
|
|
32
|
+
handle*Error
|
|
33
|
+
|
|
34
|
+
# CRUD operations
|
|
35
|
+
create*
|
|
36
|
+
read*
|
|
37
|
+
update*
|
|
38
|
+
delete*
|
|
39
|
+
get*
|
|
40
|
+
set*
|
|
41
|
+
find*
|
|
42
|
+
save*
|
|
43
|
+
|
|
44
|
+
# Test methods (for context)
|
|
45
|
+
test*
|
|
46
|
+
it
|
|
47
|
+
describe
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "code-review",
|
|
3
|
+
"name": "Code Review",
|
|
4
|
+
"icon": "👀",
|
|
5
|
+
"description": "Optimized for reviewing code changes and PRs",
|
|
6
|
+
"tokenBudget": {
|
|
7
|
+
"small": "20K-40K",
|
|
8
|
+
"medium": "40K-80K",
|
|
9
|
+
"large": "80K-150K"
|
|
10
|
+
},
|
|
11
|
+
"includes": {
|
|
12
|
+
"files": ["Source code", "Tests", "Configuration files"],
|
|
13
|
+
"methods": ["Public APIs", "Handlers", "Business logic", "Error handlers"]
|
|
14
|
+
},
|
|
15
|
+
"excludes": {
|
|
16
|
+
"files": ["Build artifacts", "Dependencies", "Minified files"],
|
|
17
|
+
"methods": ["Private internal methods", "Test setup/teardown"]
|
|
18
|
+
},
|
|
19
|
+
"bestFor": [
|
|
20
|
+
"Pull request reviews",
|
|
21
|
+
"Understanding new codebases",
|
|
22
|
+
"Identifying code patterns and anti-patterns",
|
|
23
|
+
"Security review preparation",
|
|
24
|
+
"Architecture understanding"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Documentation Profile - File Level Ignore Filters
|
|
2
|
+
|
|
3
|
+
# Internal/private code
|
|
4
|
+
**/internal/**
|
|
5
|
+
**/private/**
|
|
6
|
+
|
|
7
|
+
# Tests
|
|
8
|
+
__tests__/**
|
|
9
|
+
test/**
|
|
10
|
+
tests/**
|
|
11
|
+
**/*.test.*
|
|
12
|
+
**/*.spec.*
|
|
13
|
+
|
|
14
|
+
# Dependencies
|
|
15
|
+
node_modules/**
|
|
16
|
+
vendor/**
|
|
17
|
+
|
|
18
|
+
# Build artifacts
|
|
19
|
+
dist/**
|
|
20
|
+
build/**
|
|
21
|
+
coverage/**
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Documentation Profile - File Level Include Filters
|
|
2
|
+
|
|
3
|
+
# Source code (public APIs)
|
|
4
|
+
src/**/*.js
|
|
5
|
+
src/**/*.ts
|
|
6
|
+
lib/**/*.js
|
|
7
|
+
lib/**/*.ts
|
|
8
|
+
|
|
9
|
+
# Public exports
|
|
10
|
+
**/index.js
|
|
11
|
+
**/index.ts
|
|
12
|
+
|
|
13
|
+
# Type definitions
|
|
14
|
+
**/*.d.ts
|
|
15
|
+
**/types/**
|
|
16
|
+
**/interfaces/**
|
|
17
|
+
|
|
18
|
+
# Existing documentation
|
|
19
|
+
README.md
|
|
20
|
+
docs/**/*.md
|
|
21
|
+
*.md
|
|
22
|
+
|
|
23
|
+
# Configuration
|
|
24
|
+
package.json
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Documentation Profile - Method Level Include Filters
|
|
2
|
+
|
|
3
|
+
# Public class methods
|
|
4
|
+
constructor
|
|
5
|
+
initialize
|
|
6
|
+
init*
|
|
7
|
+
|
|
8
|
+
# Public API methods
|
|
9
|
+
*Handler
|
|
10
|
+
*Controller
|
|
11
|
+
*Service
|
|
12
|
+
*Manager
|
|
13
|
+
*Provider
|
|
14
|
+
*Factory
|
|
15
|
+
*Builder
|
|
16
|
+
|
|
17
|
+
# CRUD operations
|
|
18
|
+
create*
|
|
19
|
+
read*
|
|
20
|
+
update*
|
|
21
|
+
delete*
|
|
22
|
+
get*
|
|
23
|
+
set*
|
|
24
|
+
find*
|
|
25
|
+
save*
|
|
26
|
+
remove*
|
|
27
|
+
|
|
28
|
+
# Configuration methods
|
|
29
|
+
configure*
|
|
30
|
+
setup*
|
|
31
|
+
register*
|
|
32
|
+
|
|
33
|
+
# Utility methods (public)
|
|
34
|
+
format*
|
|
35
|
+
parse*
|
|
36
|
+
validate*
|
|
37
|
+
convert*
|
|
38
|
+
transform*
|
|
39
|
+
|
|
40
|
+
# Event handlers (public)
|
|
41
|
+
on*
|
|
42
|
+
emit*
|
|
43
|
+
subscribe*
|
|
44
|
+
unsubscribe*
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "documentation",
|
|
3
|
+
"name": "Documentation",
|
|
4
|
+
"icon": "📚",
|
|
5
|
+
"description": "Focus on public APIs and documentation-worthy code",
|
|
6
|
+
"tokenBudget": {
|
|
7
|
+
"small": "18K-35K",
|
|
8
|
+
"medium": "35K-70K",
|
|
9
|
+
"large": "70K-140K"
|
|
10
|
+
},
|
|
11
|
+
"includes": {
|
|
12
|
+
"files": ["Public APIs", "Type definitions", "Exports", "Existing documentation"],
|
|
13
|
+
"methods": ["Public methods", "CRUD operations", "Configuration methods"]
|
|
14
|
+
},
|
|
15
|
+
"excludes": {
|
|
16
|
+
"files": ["Internal/private code", "Tests"],
|
|
17
|
+
"methods": ["Private methods", "Test helpers"]
|
|
18
|
+
},
|
|
19
|
+
"bestFor": [
|
|
20
|
+
"Generating API documentation",
|
|
21
|
+
"Creating user guides",
|
|
22
|
+
"Writing technical specifications",
|
|
23
|
+
"Onboarding documentation",
|
|
24
|
+
"README updates",
|
|
25
|
+
"JSDoc/TSDoc generation"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Full Profile - File Level Ignore Filters
|
|
2
|
+
# Only exclude build artifacts and dependencies
|
|
3
|
+
|
|
4
|
+
# Dependencies
|
|
5
|
+
node_modules/**
|
|
6
|
+
vendor/**
|
|
7
|
+
|
|
8
|
+
# Build artifacts
|
|
9
|
+
dist/**
|
|
10
|
+
build/**
|
|
11
|
+
out/**
|
|
12
|
+
target/**
|
|
13
|
+
|
|
14
|
+
# Coverage
|
|
15
|
+
coverage/**
|
|
16
|
+
.nyc_output/**
|
|
17
|
+
|
|
18
|
+
# Git metadata
|
|
19
|
+
.git/**
|
|
20
|
+
|
|
21
|
+
# OS files
|
|
22
|
+
.DS_Store
|
|
23
|
+
Thumbs.db
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Full Profile - File Level Include Filters
|
|
2
|
+
# Include everything
|
|
3
|
+
|
|
4
|
+
# All source code (14+ languages)
|
|
5
|
+
**/*.js
|
|
6
|
+
**/*.ts
|
|
7
|
+
**/*.jsx
|
|
8
|
+
**/*.tsx
|
|
9
|
+
**/*.py
|
|
10
|
+
**/*.java
|
|
11
|
+
**/*.go
|
|
12
|
+
**/*.rs
|
|
13
|
+
**/*.php
|
|
14
|
+
**/*.rb
|
|
15
|
+
**/*.kt
|
|
16
|
+
**/*.swift
|
|
17
|
+
**/*.c
|
|
18
|
+
**/*.cpp
|
|
19
|
+
**/*.cs
|
|
20
|
+
**/*.scala
|
|
21
|
+
|
|
22
|
+
# Configuration files
|
|
23
|
+
*.json
|
|
24
|
+
*.yaml
|
|
25
|
+
*.yml
|
|
26
|
+
*.toml
|
|
27
|
+
*.config.js
|
|
28
|
+
*.config.ts
|
|
29
|
+
|
|
30
|
+
# Documentation
|
|
31
|
+
**/*.md
|
|
32
|
+
docs/**
|
|
33
|
+
|
|
34
|
+
# Tests
|
|
35
|
+
**/*.test.*
|
|
36
|
+
**/*.spec.*
|
|
37
|
+
test/**
|
|
38
|
+
tests/**
|