Class: SimpleCov::Formatter::AIFormatter
- Inherits:
-
Object
- Object
- SimpleCov::Formatter::AIFormatter
- Extended by:
- T::Sig
- Defined in:
- lib/simplecov-ai.rb,
lib/simplecov-ai/version.rb,
lib/simplecov-ai/ast_resolver.rb,
lib/simplecov-ai/configuration.rb,
lib/simplecov-ai/markdown_builder.rb
Overview
Transforms raw simplecov coverage results into an AI-optimized markdown digest. It addresses the context window limitations of LLMs by emitting token-efficient reports and relying on AST-based semantic mapping to pinpoint exact methods or classes with deficient coverage.
Defined Under Namespace
Classes: ASTResolver, Configuration, MarkdownBuilder
Constant Summary collapse
- VERSION =
The semantic version identifier for the gem, used for dependency resolution and enforcing compatibility across upgrades.
T.let('0.10.2', String)
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.configuration ⇒ Object
30 31 32 |
# File 'lib/simplecov-ai.rb', line 30 def self.configuration @configuration ||= T.let(Configuration.new, T.nilable(Configuration)) end |
.configure(&blk) ⇒ Object
40 41 42 |
# File 'lib/simplecov-ai.rb', line 40 def self.configure(&blk) blk&.call(configuration) end |
Instance Method Details
#format(result) ⇒ Object
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/simplecov-ai.rb', line 52 def format(result) config = self.class.configuration builder = MarkdownBuilder.new(result, config) digest = builder.build FileUtils.mkdir_p(File.dirname(config.report_path)) File.write(config.report_path, digest) puts "\n[SimpleCov AI Formatter] Digest written to #{config.report_path}" if config.output_to_console end |