ref-agents 1.0.0__py3-none-any.whl

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 (175) hide show
  1. ref_agents/__init__.py +9 -0
  2. ref_agents/api_keys.json.example +8 -0
  3. ref_agents/auth.py +129 -0
  4. ref_agents/codemap/..md +62 -0
  5. ref_agents/codemap/CODE_MAP.md +37 -0
  6. ref_agents/codemap/core.md +43 -0
  7. ref_agents/codemap/models.md +43 -0
  8. ref_agents/codemap/prompts.md +40 -0
  9. ref_agents/codemap/security.md +45 -0
  10. ref_agents/codemap/tools.md +94 -0
  11. ref_agents/codemap/tools_browser.md +44 -0
  12. ref_agents/codemap/utils.md +42 -0
  13. ref_agents/codemap/workflow.md +42 -0
  14. ref_agents/config/ai_patterns.yaml +101 -0
  15. ref_agents/config/frameworks/angular.yaml +104 -0
  16. ref_agents/config/frameworks/aspnet.yaml +84 -0
  17. ref_agents/config/frameworks/ef_core.yaml +81 -0
  18. ref_agents/config/frameworks/react.yaml +111 -0
  19. ref_agents/config/frameworks/spring_boot.yaml +117 -0
  20. ref_agents/config/languages/csharp.yaml +153 -0
  21. ref_agents/config/languages/java.yaml +188 -0
  22. ref_agents/config/languages/javascript.yaml +172 -0
  23. ref_agents/config/languages/python.yaml +153 -0
  24. ref_agents/config/languages/typescript.yaml +193 -0
  25. ref_agents/constants.py +553 -0
  26. ref_agents/core/__init__.py +15 -0
  27. ref_agents/core/config_loader.py +160 -0
  28. ref_agents/core/config_models.py +167 -0
  29. ref_agents/core/config_parsing.py +84 -0
  30. ref_agents/core/language_detector.py +388 -0
  31. ref_agents/core/validation_models.py +66 -0
  32. ref_agents/core/validation_primitives.py +176 -0
  33. ref_agents/errors.py +34 -0
  34. ref_agents/license_client.py +247 -0
  35. ref_agents/models/__init__.py +22 -0
  36. ref_agents/models/gherkin.py +45 -0
  37. ref_agents/models/hierarchy.py +80 -0
  38. ref_agents/models/invest.py +59 -0
  39. ref_agents/models/version.py +49 -0
  40. ref_agents/prompts/__init__.py +9 -0
  41. ref_agents/prompts/start_agent.py +772 -0
  42. ref_agents/rules/architecture/backend_patterns.md +43 -0
  43. ref_agents/rules/architecture/diagramming.md +100 -0
  44. ref_agents/rules/architecture/frontend_patterns.md +40 -0
  45. ref_agents/rules/architecture/impact_analysis.md +129 -0
  46. ref_agents/rules/architecture/migration_strategy.md +208 -0
  47. ref_agents/rules/architecture/regression_protocol.md +77 -0
  48. ref_agents/rules/architecture/system_design.md +97 -0
  49. ref_agents/rules/common/codemap_standard.md +97 -0
  50. ref_agents/rules/common/core_protocol.md +59 -0
  51. ref_agents/rules/common/prompt_engineering.md +294 -0
  52. ref_agents/rules/development/debugging.md +32 -0
  53. ref_agents/rules/development/implementation.md +205 -0
  54. ref_agents/rules/operations/completion.md +119 -0
  55. ref_agents/rules/operations/cutover_protocol.md +218 -0
  56. ref_agents/rules/operations/discovery.md +179 -0
  57. ref_agents/rules/operations/fix_workflow.md +87 -0
  58. ref_agents/rules/operations/forensics.md +278 -0
  59. ref_agents/rules/operations/platform.md +263 -0
  60. ref_agents/rules/operations/synchronous_flow.md +25 -0
  61. ref_agents/rules/product/ac_validation.md +25 -0
  62. ref_agents/rules/product/brainstorming.md +27 -0
  63. ref_agents/rules/product/ref_flow.md +101 -0
  64. ref_agents/rules/product/requirements_std.md +114 -0
  65. ref_agents/rules/product/spec_writing.md +235 -0
  66. ref_agents/rules/product/strategy.md +96 -0
  67. ref_agents/rules/quality/documentation_standards.md +46 -0
  68. ref_agents/rules/quality/parity_testing.md +234 -0
  69. ref_agents/rules/quality/project_documentation.md +56 -0
  70. ref_agents/rules/quality/qa_lead.md +111 -0
  71. ref_agents/rules/quality/test_design.md +146 -0
  72. ref_agents/rules/quality/testing_standards.md +293 -0
  73. ref_agents/rules/review/pr_review.md +116 -0
  74. ref_agents/rules/security/security_audit.md +83 -0
  75. ref_agents/security/__init__.py +22 -0
  76. ref_agents/security/dependency_audit.py +188 -0
  77. ref_agents/security/file_audit.py +208 -0
  78. ref_agents/security/network_scan.py +179 -0
  79. ref_agents/security/report_generator.py +313 -0
  80. ref_agents/security/secret_scan.py +252 -0
  81. ref_agents/security/url_scan.py +240 -0
  82. ref_agents/security_scan.py +236 -0
  83. ref_agents/server.py +1586 -0
  84. ref_agents/session.py +100 -0
  85. ref_agents/tool_names.py +55 -0
  86. ref_agents/tools/__init__.py +8 -0
  87. ref_agents/tools/agents_generator.py +315 -0
  88. ref_agents/tools/ai_pattern_detector.py +815 -0
  89. ref_agents/tools/brownfield_populator.py +529 -0
  90. ref_agents/tools/browser/__init__.py +50 -0
  91. ref_agents/tools/browser/evidence_verifier.py +302 -0
  92. ref_agents/tools/browser/execution_logger.py +249 -0
  93. ref_agents/tools/browser/playwright_mcp_client.py +259 -0
  94. ref_agents/tools/browser/screenshot_utils.py +184 -0
  95. ref_agents/tools/browser/test_executor.py +537 -0
  96. ref_agents/tools/code_quality_scanner.py +629 -0
  97. ref_agents/tools/codemap/..md +93 -0
  98. ref_agents/tools/codemap/CODE_MAP.md +30 -0
  99. ref_agents/tools/codemap/browser.md +44 -0
  100. ref_agents/tools/codemap.py +403 -0
  101. ref_agents/tools/codemap_freshness.py +234 -0
  102. ref_agents/tools/comment_smell_scanner.py +346 -0
  103. ref_agents/tools/complexity.py +436 -0
  104. ref_agents/tools/complexity_ast.py +333 -0
  105. ref_agents/tools/compliance.py +246 -0
  106. ref_agents/tools/compliance_remediation.py +846 -0
  107. ref_agents/tools/context_graph.py +839 -0
  108. ref_agents/tools/context_manager.py +550 -0
  109. ref_agents/tools/context_tools.py +121 -0
  110. ref_agents/tools/cross_repo_linker.py +393 -0
  111. ref_agents/tools/dead_code_scanner.py +637 -0
  112. ref_agents/tools/debt_scanner.py +1092 -0
  113. ref_agents/tools/dependency_graph.py +272 -0
  114. ref_agents/tools/discovery_audit.py +372 -0
  115. ref_agents/tools/docs_scanner.py +600 -0
  116. ref_agents/tools/evaluate_gate.py +119 -0
  117. ref_agents/tools/external_detector.py +524 -0
  118. ref_agents/tools/features_generator.py +282 -0
  119. ref_agents/tools/flow_gap_detector.py +373 -0
  120. ref_agents/tools/flow_mapper.py +327 -0
  121. ref_agents/tools/full_suite_runner.py +740 -0
  122. ref_agents/tools/gherkin_parser.py +227 -0
  123. ref_agents/tools/guard_tools.py +139 -0
  124. ref_agents/tools/handoff_tools.py +282 -0
  125. ref_agents/tools/health_scanner.py +1211 -0
  126. ref_agents/tools/hierarchy_manager.py +289 -0
  127. ref_agents/tools/invest_scorer.py +249 -0
  128. ref_agents/tools/jira_confluence_export.py +306 -0
  129. ref_agents/tools/json_output.py +76 -0
  130. ref_agents/tools/migration_mapper.py +946 -0
  131. ref_agents/tools/migration_readiness_scanner.py +209 -0
  132. ref_agents/tools/pattern_learner.py +522 -0
  133. ref_agents/tools/report_utils.py +155 -0
  134. ref_agents/tools/requirements_serializer.py +225 -0
  135. ref_agents/tools/security_audit_tool.py +106 -0
  136. ref_agents/tools/sequencing_engine.py +288 -0
  137. ref_agents/tools/summary_generator.py +275 -0
  138. ref_agents/tools/symbol_resolver.py +306 -0
  139. ref_agents/tools/symbol_smoke_runner.py +336 -0
  140. ref_agents/tools/test_plan_validator.py +189 -0
  141. ref_agents/tools/test_smell_walker.py +902 -0
  142. ref_agents/tools/tier1_fixer.py +502 -0
  143. ref_agents/tools/validators/__init__.py +419 -0
  144. ref_agents/tools/validators/architect.py +268 -0
  145. ref_agents/tools/validators/cutover_engineer.py +167 -0
  146. ref_agents/tools/validators/developer.py +180 -0
  147. ref_agents/tools/validators/discovery.py +150 -0
  148. ref_agents/tools/validators/forensic_engineer.py +191 -0
  149. ref_agents/tools/validators/impact_architect.py +181 -0
  150. ref_agents/tools/validators/migration_planner.py +166 -0
  151. ref_agents/tools/validators/parity_tester.py +155 -0
  152. ref_agents/tools/validators/platform_engineer.py +134 -0
  153. ref_agents/tools/validators/pr_reviewer.py +129 -0
  154. ref_agents/tools/validators/product_manager.py +291 -0
  155. ref_agents/tools/validators/qa_lead.py +172 -0
  156. ref_agents/tools/validators/scrum_master.py +212 -0
  157. ref_agents/tools/validators/security_owner.py +162 -0
  158. ref_agents/tools/validators/specifier.py +134 -0
  159. ref_agents/tools/validators/strategist.py +149 -0
  160. ref_agents/tools/validators/tester.py +121 -0
  161. ref_agents/tools/version_manager.py +202 -0
  162. ref_agents/tools/workflow_tools.py +1549 -0
  163. ref_agents/utils/__init__.py +21 -0
  164. ref_agents/utils/git_utils.py +351 -0
  165. ref_agents/utils/handoff_logger.py +368 -0
  166. ref_agents/utils/ignore_matcher.py +270 -0
  167. ref_agents/workflow/__init__.py +19 -0
  168. ref_agents/workflow/capabilities.py +328 -0
  169. ref_agents/workflow/state_machine.py +708 -0
  170. ref_agents/workflow/transitions.py +658 -0
  171. ref_agents-1.0.0.dist-info/METADATA +365 -0
  172. ref_agents-1.0.0.dist-info/RECORD +175 -0
  173. ref_agents-1.0.0.dist-info/WHEEL +4 -0
  174. ref_agents-1.0.0.dist-info/entry_points.txt +2 -0
  175. ref_agents-1.0.0.dist-info/licenses/LICENSE +115 -0
@@ -0,0 +1,193 @@
1
+ # TypeScript Language Configuration for REF Agents
2
+
3
+ language: typescript
4
+ extensions: [".ts", ".tsx", ".mts", ".cts"]
5
+ parser: ast # Production-grade: AST parsing for accurate per-function complexity
6
+
7
+ # Debt detection patterns
8
+ debt_patterns:
9
+ todo_fixme:
10
+ description: "TODO/FIXME comments indicate incomplete work"
11
+ severity: medium
12
+ pattern: "//\\s*(TODO|FIXME|XXX|HACK|BUG)[\\s:]+(.+)"
13
+ suggestion: "Address the TODO or create a tracked issue"
14
+
15
+ any_type:
16
+ description: "Using 'any' defeats TypeScript's type safety"
17
+ severity: high
18
+ pattern: ":\\s*any\\b"
19
+ suggestion: "Use specific types, unknown, or generics"
20
+
21
+ ts_ignore:
22
+ description: "@ts-ignore suppresses type errors"
23
+ severity: high
24
+ pattern: "@ts-ignore|@ts-nocheck"
25
+ suggestion: "Fix the type error instead of ignoring"
26
+
27
+ console_log:
28
+ description: "console.log leaks to production, use structured logging"
29
+ severity: high
30
+ pattern: "console\\.(log|debug|info|warn|error)\\("
31
+ suggestion: "Use structured logging library (e.g., pino, winston)"
32
+
33
+ empty_catch:
34
+ description: "Empty catch blocks swallow errors"
35
+ severity: high
36
+ pattern: "catch\\s*\\([^)]*\\)\\s*\\{\\s*\\}"
37
+ suggestion: "Handle or log the error"
38
+
39
+ magic_numbers:
40
+ description: "Magic numbers violate DRY and hurt maintainability"
41
+ severity: medium
42
+ pattern: "(?<!\\d)[0-9]{2,}(?!\\d)"
43
+ suggestion: "Extract to named constants (e.g., const MAX_RETRIES = 3)"
44
+
45
+ long_function:
46
+ description: "Function exceeds line limit"
47
+ severity: medium
48
+ pattern: "function|=>|async"
49
+ suggestion: "Break into smaller focused functions"
50
+
51
+ missing_return_type:
52
+ description: "Functions should have explicit return types"
53
+ severity: medium
54
+ pattern: "function\\s+\\w+\\s*\\([^)]*\\)\\s*\\{"
55
+ suggestion: "Add return type annotation"
56
+
57
+ # Code Quality Patterns
58
+ unused_import:
59
+ description: "Unused imports increase bundle size and reduce clarity"
60
+ severity: low
61
+ pattern: "^import\\s+.*from"
62
+ suggestion: "Remove unused imports (use ESLint rule: @typescript-eslint/no-unused-vars)"
63
+
64
+ implicit_any:
65
+ description: "Implicit any defeats TypeScript's type safety"
66
+ severity: high
67
+ pattern: "function\\s+\\w+\\s*\\([^)]*\\)\\s*:\\s*any|const\\s+\\w+\\s*:\\s*any"
68
+ suggestion: "Add explicit types or use unknown"
69
+
70
+ non_null_assertion:
71
+ description: "Non-null assertion (!) bypasses type safety"
72
+ severity: medium
73
+ pattern: "!\\s*[a-zA-Z_$]|\\w+\\s*!"
74
+ suggestion: "Use optional chaining or proper null checks"
75
+
76
+ any_in_generic:
77
+ description: "Generic with 'any' loses type safety"
78
+ severity: high
79
+ pattern: "<\\s*any\\s*>|Array\\s*<\\s*any\\s*>"
80
+ suggestion: "Use specific types or unknown"
81
+
82
+ missing_async_await:
83
+ description: "Promise not awaited"
84
+ severity: high
85
+ pattern: "Promise\\s*\\.(then|catch)\\s*\\("
86
+ suggestion: "Use async/await for better error handling"
87
+
88
+ direct_mutation:
89
+ description: "Direct state mutation in React/Redux"
90
+ severity: critical
91
+ pattern: "\\.(push|pop|shift|unshift|splice|sort|reverse)\\s*\\(|\\w+\\s*=\\s*\\w+\\["
92
+ suggestion: "Use immutable patterns (spread, map, filter)"
93
+
94
+ # Deprecated patterns
95
+ deprecated_imports:
96
+ "tslint": "Use ESLint instead"
97
+ "mocha": "Consider using Jest or Vitest"
98
+ "jasmine": "Consider using Jest or Vitest"
99
+
100
+ # Naming conventions
101
+ naming:
102
+ generic_names:
103
+ - data
104
+ - result
105
+ - temp
106
+ - handler
107
+ - manager
108
+ - helper
109
+ - utils
110
+ - item
111
+ - elem
112
+ - val
113
+ - obj
114
+ - x
115
+ - y
116
+ - z
117
+
118
+ conventions:
119
+ functions: camelCase
120
+ classes: PascalCase
121
+ interfaces: PascalCase (I-prefix optional)
122
+ constants: UPPER_SNAKE_CASE
123
+ variables: camelCase
124
+ types: PascalCase
125
+
126
+ # Quality thresholds (production-grade, industry-standard)
127
+ thresholds:
128
+ # Dual-threshold system: Function-level (algorithm complexity) + File-level (module size)
129
+ function_complexity_warn: 15 # Per-function cognitive complexity (warning)
130
+ function_complexity_block: 25 # Per-function cognitive complexity (blocker)
131
+ file_complexity_warn: 80 # Aggregate file complexity (warning)
132
+ file_complexity_block: 150 # Aggregate file complexity (blocker)
133
+ # Legacy single threshold (deprecated, use function_complexity_block)
134
+ complexity: 25 # Fallback for backward compatibility
135
+ function_length: 50 # Testable functions
136
+ nesting_depth: 3 # Readable code
137
+ file_length: 300 # Single responsibility
138
+ comment_ratio: 0.3
139
+ class_ratio: 0.5
140
+
141
+ # File exclusions
142
+ exclusions:
143
+ # Skip entire analysis (autogenerated, vendor, coverage, hidden dirs)
144
+ skip_analysis:
145
+ - "**/node_modules/**"
146
+ - "**/.next/**"
147
+ - "**/.nuxt/**"
148
+ - "**/.cache/**"
149
+ - "**/.git/**"
150
+ - "**/coverage/**"
151
+ - "**/dist/**"
152
+ - "**/build/**"
153
+ - "**/.dist/**"
154
+ - "**/.build/**"
155
+ - "**/.*/**" # Hidden directories (e.g., .vscode, .idea)
156
+ - "**/*.generated.ts"
157
+ - "**/*.generated.tsx"
158
+ - "**/*.auto.ts"
159
+ - "**/*.auto.tsx"
160
+ - "**/*.json" # JSON files excluded from complexity checks
161
+ - "**/vendor/**"
162
+ - "**/vendors/**"
163
+ - "**/third-party/**"
164
+ - "**/third_party/**"
165
+
166
+ # Skip file-level complexity check only (still analyze per-function)
167
+ file_complexity:
168
+ - "*.test.ts"
169
+ - "*.test.tsx"
170
+ - "*.spec.ts"
171
+ - "*.spec.tsx"
172
+ - "*dto.ts"
173
+ - "*dto.tsx"
174
+ - "*model.ts"
175
+ - "*model.tsx"
176
+ - "*types.ts"
177
+ - "*types.tsx"
178
+ - "*interface.ts"
179
+ - "*interface.tsx"
180
+
181
+ # AI anti-patterns
182
+ anti_patterns:
183
+ over_abstraction:
184
+ description: "Too many classes/interfaces"
185
+ threshold: 0.5
186
+
187
+ copy_paste:
188
+ description: "Duplicated code blocks"
189
+ min_block_size: 5
190
+
191
+ prop_drilling:
192
+ description: "Props passed through many levels"
193
+ max_levels: 2