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.
Files changed (190) hide show
  1. package/.ctxman/custom-profiles.example.json +20 -0
  2. package/.ctxman/llm-profiles.json +131 -0
  3. package/.ctxman/logs/ctxman-2026-07-02.log +156 -0
  4. package/.ctxman/self-knowledge/documents.lance/_transactions/0-b3dd1558-f95b-44b9-a154-18e8c330ae7a.txn +0 -0
  5. package/.ctxman/self-knowledge/documents.lance/_transactions/1-44bff6d4-e552-4010-a769-e09ad822698d.txn +0 -0
  6. package/.ctxman/self-knowledge/documents.lance/_transactions/10-37260794-5947-4ecb-b4c8-d732f58f40f1.txn +0 -0
  7. package/.ctxman/self-knowledge/documents.lance/_transactions/11-0d52a883-5518-463c-9b6d-986c3af89dfd.txn +0 -0
  8. package/.ctxman/self-knowledge/documents.lance/_transactions/12-ae354646-52f2-49c9-90fb-2e6ed8932663.txn +0 -0
  9. package/.ctxman/self-knowledge/documents.lance/_transactions/13-5d7d5e57-27da-498b-b734-091b9d38da13.txn +0 -0
  10. package/.ctxman/self-knowledge/documents.lance/_transactions/14-558ce928-810b-4252-a364-fdd1ee6f8a25.txn +0 -0
  11. package/.ctxman/self-knowledge/documents.lance/_transactions/15-27e3a58f-8b64-43b8-a9f4-e3369446968b.txn +0 -0
  12. package/.ctxman/self-knowledge/documents.lance/_transactions/16-a110c390-e5c8-4464-b976-bc7f5195fa15.txn +0 -0
  13. package/.ctxman/self-knowledge/documents.lance/_transactions/17-97513225-53de-4216-b61a-6337bd0cc4ad.txn +0 -0
  14. package/.ctxman/self-knowledge/documents.lance/_transactions/18-5ba450f0-c527-459c-bf4f-6d79b5e4285f.txn +0 -0
  15. package/.ctxman/self-knowledge/documents.lance/_transactions/19-600d3a63-5225-49e9-b8b7-30e037b564ab.txn +0 -0
  16. package/.ctxman/self-knowledge/documents.lance/_transactions/2-48a61b4e-92cf-4342-8376-914c1b99a9f9.txn +0 -0
  17. package/.ctxman/self-knowledge/documents.lance/_transactions/20-121dd912-5410-410e-84ff-82c7a23604a0.txn +0 -0
  18. package/.ctxman/self-knowledge/documents.lance/_transactions/3-bc6844ab-7ea3-4bb3-9ee1-538ce5664a9c.txn +0 -0
  19. package/.ctxman/self-knowledge/documents.lance/_transactions/4-d5e1754f-dbb5-454e-a9be-2a7da8d7bcf9.txn +0 -0
  20. package/.ctxman/self-knowledge/documents.lance/_transactions/5-4fae93df-0568-4b6f-8acf-8bef4bba6047.txn +0 -0
  21. package/.ctxman/self-knowledge/documents.lance/_transactions/6-4b1b8b87-068e-49a3-ba2b-d8dae628b252.txn +0 -0
  22. package/.ctxman/self-knowledge/documents.lance/_transactions/7-63d040fb-d2fa-4c0f-bed0-53411918a7b0.txn +0 -0
  23. package/.ctxman/self-knowledge/documents.lance/_transactions/8-c5628cf6-264c-420f-aab8-bc96a9083591.txn +0 -0
  24. package/.ctxman/self-knowledge/documents.lance/_transactions/9-c94570aa-5e53-4fcb-971f-cecc1d1d5492.txn +0 -0
  25. package/.ctxman/self-knowledge/documents.lance/_versions/1.manifest +0 -0
  26. package/.ctxman/self-knowledge/documents.lance/_versions/10.manifest +0 -0
  27. package/.ctxman/self-knowledge/documents.lance/_versions/11.manifest +0 -0
  28. package/.ctxman/self-knowledge/documents.lance/_versions/12.manifest +0 -0
  29. package/.ctxman/self-knowledge/documents.lance/_versions/13.manifest +0 -0
  30. package/.ctxman/self-knowledge/documents.lance/_versions/14.manifest +0 -0
  31. package/.ctxman/self-knowledge/documents.lance/_versions/15.manifest +0 -0
  32. package/.ctxman/self-knowledge/documents.lance/_versions/16.manifest +0 -0
  33. package/.ctxman/self-knowledge/documents.lance/_versions/17.manifest +0 -0
  34. package/.ctxman/self-knowledge/documents.lance/_versions/18.manifest +0 -0
  35. package/.ctxman/self-knowledge/documents.lance/_versions/19.manifest +0 -0
  36. package/.ctxman/self-knowledge/documents.lance/_versions/2.manifest +0 -0
  37. package/.ctxman/self-knowledge/documents.lance/_versions/20.manifest +0 -0
  38. package/.ctxman/self-knowledge/documents.lance/_versions/21.manifest +0 -0
  39. package/.ctxman/self-knowledge/documents.lance/_versions/3.manifest +0 -0
  40. package/.ctxman/self-knowledge/documents.lance/_versions/4.manifest +0 -0
  41. package/.ctxman/self-knowledge/documents.lance/_versions/5.manifest +0 -0
  42. package/.ctxman/self-knowledge/documents.lance/_versions/6.manifest +0 -0
  43. package/.ctxman/self-knowledge/documents.lance/_versions/7.manifest +0 -0
  44. package/.ctxman/self-knowledge/documents.lance/_versions/8.manifest +0 -0
  45. package/.ctxman/self-knowledge/documents.lance/_versions/9.manifest +0 -0
  46. package/.ctxman/self-knowledge/documents.lance/data/000010010011011101000010de8621405d9d5cb06540dbf02c.lance +0 -0
  47. package/.ctxman/self-knowledge/documents.lance/data/0000101001011100011000003fb62a4aa8978974075c144f1c.lance +0 -0
  48. package/.ctxman/self-knowledge/documents.lance/data/000011010000100111001011c6cc824d628f3bb1f4e04cd5d0.lance +0 -0
  49. package/.ctxman/self-knowledge/documents.lance/data/001000001000011001011100d8f74349ada090b332cd1df669.lance +0 -0
  50. package/.ctxman/self-knowledge/documents.lance/data/01000001111010001000010045ab44467bb1e7e4d8ae06bd58.lance +0 -0
  51. package/.ctxman/self-knowledge/documents.lance/data/01000101101110111110011131ef904241a89e1ffb6ddaf8e3.lance +0 -0
  52. package/.ctxman/self-knowledge/documents.lance/data/010010110000010000011010fbfcc145c6a8a827b28057a07e.lance +0 -0
  53. package/.ctxman/self-knowledge/documents.lance/data/1000011000101010001110003fb4f045c3835982efa1405324.lance +0 -0
  54. package/.ctxman/self-knowledge/documents.lance/data/100111011101110111101011f4396b410fa06af3b028d204e6.lance +0 -0
  55. package/.ctxman/self-knowledge/documents.lance/data/100111100111101000001100596b174e00995d6cc2969cc8dc.lance +0 -0
  56. package/.ctxman/self-knowledge/documents.lance/data/1010001100011000110010102ea16b484d887c7c9725feffd6.lance +0 -0
  57. package/.ctxman/self-knowledge/documents.lance/data/101101100010101111110111c5230944d9b3af7301b6392dda.lance +0 -0
  58. package/.ctxman/self-knowledge/documents.lance/data/1011011100100111111110105892bf41b5a530fedd7cf516f1.lance +0 -0
  59. package/.ctxman/self-knowledge/documents.lance/data/10111110000010001011110164e8774742bade87b483c10f36.lance +0 -0
  60. package/.ctxman/self-knowledge/documents.lance/data/1100000100010110001110103ffaca40a2a42c85067ebaf9ae.lance +0 -0
  61. package/.ctxman/self-knowledge/documents.lance/data/110000010001110110101110664bde4c76a78dfc14b05e83b8.lance +0 -0
  62. package/.ctxman/self-knowledge/documents.lance/data/11001100111000010100110050645c4281b1f35b2022234f7f.lance +0 -0
  63. package/.ctxman/self-knowledge/documents.lance/data/1101111011001100110111017214924a368f5719eab2246619.lance +0 -0
  64. package/.ctxman/self-knowledge/documents.lance/data/1110000111001010001000002150c24dcab653d39d07032e63.lance +0 -0
  65. package/.ctxman/self-knowledge/documents.lance/data/1110100000000100000011014d20534967a18b5c87721659ff.lance +0 -0
  66. package/.ctxman/self-knowledge/documents.lance/data/11110101111010000101011135a0114ef2b35dc6f1297a3381.lance +0 -0
  67. package/.ctxman/wizard-profiles/code-review/.contextignore +41 -0
  68. package/.ctxman/wizard-profiles/code-review/.contextinclude +30 -0
  69. package/.ctxman/wizard-profiles/code-review/.methodignore +26 -0
  70. package/.ctxman/wizard-profiles/code-review/.methodinclude +47 -0
  71. package/.ctxman/wizard-profiles/code-review/profile.json +26 -0
  72. package/.ctxman/wizard-profiles/documentation/.contextignore +21 -0
  73. package/.ctxman/wizard-profiles/documentation/.contextinclude +24 -0
  74. package/.ctxman/wizard-profiles/documentation/.methodignore +19 -0
  75. package/.ctxman/wizard-profiles/documentation/.methodinclude +44 -0
  76. package/.ctxman/wizard-profiles/documentation/profile.json +27 -0
  77. package/.ctxman/wizard-profiles/full/.contextignore +23 -0
  78. package/.ctxman/wizard-profiles/full/.contextinclude +38 -0
  79. package/.ctxman/wizard-profiles/full/.methodignore +5 -0
  80. package/.ctxman/wizard-profiles/full/.methodinclude +5 -0
  81. package/.ctxman/wizard-profiles/full/profile.json +28 -0
  82. package/.ctxman/wizard-profiles/llm-explain/.contextignore +25 -0
  83. package/.ctxman/wizard-profiles/llm-explain/.contextinclude +33 -0
  84. package/.ctxman/wizard-profiles/llm-explain/.methodignore +19 -0
  85. package/.ctxman/wizard-profiles/llm-explain/.methodinclude +48 -0
  86. package/.ctxman/wizard-profiles/llm-explain/profile.json +27 -0
  87. package/.ctxman/wizard-profiles/minimal/.contextignore +27 -0
  88. package/.ctxman/wizard-profiles/minimal/.contextinclude +14 -0
  89. package/.ctxman/wizard-profiles/minimal/.methodignore +22 -0
  90. package/.ctxman/wizard-profiles/minimal/.methodinclude +18 -0
  91. package/.ctxman/wizard-profiles/minimal/profile.json +26 -0
  92. package/.ctxman/wizard-profiles/security-audit/.contextignore +36 -0
  93. package/.ctxman/wizard-profiles/security-audit/.contextinclude +37 -0
  94. package/.ctxman/wizard-profiles/security-audit/.methodignore +29 -0
  95. package/.ctxman/wizard-profiles/security-audit/.methodinclude +60 -0
  96. package/.ctxman/wizard-profiles/security-audit/profile.json +34 -0
  97. package/README.md +1167 -0
  98. package/bin/cli.js +650 -0
  99. package/bin/cm-ask.js +95 -0
  100. package/bin/cm-gitingest.js +134 -0
  101. package/bin/cm-update.js +175 -0
  102. package/bin/mcp-server.js +31 -0
  103. package/ctxman.js +236 -0
  104. package/examples/README.md +298 -0
  105. package/examples/custom-llm-profiles.example.json +19 -0
  106. package/examples/wizard-profiles/code-review/.contextignore +41 -0
  107. package/examples/wizard-profiles/code-review/.contextinclude +30 -0
  108. package/examples/wizard-profiles/code-review/.methodignore +26 -0
  109. package/examples/wizard-profiles/code-review/.methodinclude +47 -0
  110. package/examples/wizard-profiles/code-review/profile.json +26 -0
  111. package/examples/wizard-profiles/documentation/.contextignore +21 -0
  112. package/examples/wizard-profiles/documentation/.contextinclude +24 -0
  113. package/examples/wizard-profiles/documentation/.methodignore +19 -0
  114. package/examples/wizard-profiles/documentation/.methodinclude +44 -0
  115. package/examples/wizard-profiles/documentation/profile.json +27 -0
  116. package/examples/wizard-profiles/full/.contextignore +23 -0
  117. package/examples/wizard-profiles/full/.contextinclude +38 -0
  118. package/examples/wizard-profiles/full/.methodignore +5 -0
  119. package/examples/wizard-profiles/full/.methodinclude +5 -0
  120. package/examples/wizard-profiles/full/profile.json +28 -0
  121. package/examples/wizard-profiles/llm-explain/.contextignore +25 -0
  122. package/examples/wizard-profiles/llm-explain/.contextinclude +33 -0
  123. package/examples/wizard-profiles/llm-explain/.methodignore +19 -0
  124. package/examples/wizard-profiles/llm-explain/.methodinclude +48 -0
  125. package/examples/wizard-profiles/llm-explain/profile.json +27 -0
  126. package/examples/wizard-profiles/minimal/.contextignore +27 -0
  127. package/examples/wizard-profiles/minimal/.contextinclude +14 -0
  128. package/examples/wizard-profiles/minimal/.methodignore +22 -0
  129. package/examples/wizard-profiles/minimal/.methodinclude +18 -0
  130. package/examples/wizard-profiles/minimal/profile.json +26 -0
  131. package/examples/wizard-profiles/security-audit/.contextignore +36 -0
  132. package/examples/wizard-profiles/security-audit/.contextinclude +37 -0
  133. package/examples/wizard-profiles/security-audit/.methodignore +29 -0
  134. package/examples/wizard-profiles/security-audit/.methodinclude +60 -0
  135. package/examples/wizard-profiles/security-audit/profile.json +34 -0
  136. package/index.js +68 -0
  137. package/lib/agents/pr-failure-agent.js +201 -0
  138. package/lib/analyzers/go-method-analyzer.js +126 -0
  139. package/lib/analyzers/method-analyzer.js +457 -0
  140. package/lib/analyzers/token-calculator.js +577 -0
  141. package/lib/api/mcp/prompts.js +319 -0
  142. package/lib/api/mcp/resources.js +269 -0
  143. package/lib/api/mcp/server.js +339 -0
  144. package/lib/api/mcp/transports/HttpSseTransport.js +63 -0
  145. package/lib/api/rest/server.js +405 -0
  146. package/lib/cache/CacheManager.js +388 -0
  147. package/lib/core/Analyzer.js +180 -0
  148. package/lib/core/ContextBuilder.js +325 -0
  149. package/lib/core/Reporter.js +270 -0
  150. package/lib/core/Scanner.js +129 -0
  151. package/lib/formatters/format-registry.js +419 -0
  152. package/lib/formatters/gitingest-formatter.js +746 -0
  153. package/lib/formatters/toon-formatter-v1.3.js +731 -0
  154. package/lib/formatters/toon-formatter.js +291 -0
  155. package/lib/integrations/git/BlameTracker.js +142 -0
  156. package/lib/integrations/git/DiffAnalyzer.js +260 -0
  157. package/lib/integrations/git/GitClient.js +336 -0
  158. package/lib/parsers/gitignore-parser.js +127 -0
  159. package/lib/parsers/method-filter-parser.js +50 -0
  160. package/lib/plugins/ExporterPlugin.js +102 -0
  161. package/lib/plugins/LanguagePlugin.js +100 -0
  162. package/lib/plugins/PluginManager.js +302 -0
  163. package/lib/rag/DataSourcePlugin.js +31 -0
  164. package/lib/rag/EmbeddingProvider.js +75 -0
  165. package/lib/rag/Indexer.js +83 -0
  166. package/lib/rag/VectorStoreFactory.js +24 -0
  167. package/lib/rag/sources/FileDataSource.js +70 -0
  168. package/lib/rag/stores/BaseVectorStore.js +43 -0
  169. package/lib/rag/stores/ChromaDBStore.js +85 -0
  170. package/lib/rag/stores/LanceDBStore.js +109 -0
  171. package/lib/rag/stores/PineconeStore.js +74 -0
  172. package/lib/ui/dashboard.js +109 -0
  173. package/lib/ui/index.js +15 -0
  174. package/lib/ui/progress-bar.js +110 -0
  175. package/lib/ui/select-input.js +51 -0
  176. package/lib/ui/wizard.js +359 -0
  177. package/lib/utils/clipboard-utils.js +66 -0
  178. package/lib/utils/config-utils.js +94 -0
  179. package/lib/utils/error-handler.js +145 -0
  180. package/lib/utils/file-utils.js +89 -0
  181. package/lib/utils/format-converter.js +325 -0
  182. package/lib/utils/git-utils.js +337 -0
  183. package/lib/utils/llm-detector.js +409 -0
  184. package/lib/utils/logger.js +278 -0
  185. package/lib/utils/token-utils.js +200 -0
  186. package/lib/utils/tokenizer-adapter.js +454 -0
  187. package/lib/utils/updater.js +565 -0
  188. package/lib/watch/FileWatcher.js +208 -0
  189. package/lib/watch/IncrementalAnalyzer.js +206 -0
  190. 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,19 @@
1
+ # Documentation Profile - Method Level Ignore Filters
2
+
3
+ # Private methods
4
+ _*
5
+ *Private*
6
+ *Internal*
7
+ __*
8
+
9
+ # Test methods
10
+ test*
11
+ it
12
+ describe
13
+ beforeEach
14
+ afterEach
15
+
16
+ # Mock/stub helpers
17
+ mock*
18
+ stub*
19
+ fake*
@@ -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/**
@@ -0,0 +1,5 @@
1
+ # Full Profile - Method Level Ignore Filters
2
+ # No methods ignored (include everything)
3
+
4
+ # This file is intentionally empty
5
+ # Full profile includes all methods