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,5 @@
1
+ # Full Profile - Method Level Include Filters
2
+ # Include all methods (no filtering)
3
+
4
+ # Include everything with wildcard
5
+ *
@@ -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,19 @@
1
+ # LLM Explain 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,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,14 @@
1
+ # Minimal Profile - File Level Include Filters
2
+
3
+ # Only core source files
4
+ src/**/*.js
5
+ src/**/*.ts
6
+ lib/**/*.js
7
+ lib/**/*.ts
8
+
9
+ # Main entry point
10
+ index.js
11
+ index.ts
12
+
13
+ # Essential configuration
14
+ package.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,18 @@
1
+ # Minimal Profile - Method Level Include Filters
2
+
3
+ # Core entry points
4
+ main
5
+ init*
6
+ setup*
7
+
8
+ # Primary operations
9
+ process*
10
+ handle*
11
+ execute*
12
+ run*
13
+
14
+ # Essential CRUD
15
+ create*
16
+ get*
17
+ update*
18
+ delete*
@@ -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 };