providers

package
v0.5.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package providers owns the production-wiring entry points for every provider registry the CLI uses. Splitting this out from cmd/semantica/main.go keeps the production provider list discoverable, testable, and reusable across binaries (current CLI plus any future embedded build or sub-binary). The package has no business logic - it only enumerates the production set of writers and future hook providers in the agreed fallback order.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHookRegistry

func NewHookRegistry() *hooks.Registry

NewHookRegistry returns the production hooks.Registry used by every consumer that reads the capture-side provider set: the worker, the commit-msg hook, enable/disable, capture, agents, and the health checks. Argument order does not matter because the registry's List() always returns providers in the canonical order defined in internal/hooks.providerOrder, so all consumers see the same iteration regardless of insertion sequence.

Tests that want a custom set construct hooks.NewRegistry directly with their own providers; this constructor exists for the production-wiring path only.

func NewWriterRegistry

func NewWriterRegistry() *llm.WriterRegistry

NewWriterRegistry returns the production WriterRegistry used by `semantica explain --generate` and the post-commit auto-playbook flow. The fallback order matters: when a user has multiple AI CLIs installed, the first writer that successfully generates a response wins. Order rationale:

  • Claude Code first: established daily-driver assumption used throughout the codebase; produces JSON-shaped responses that parse cleanly into the narrative shape.
  • Codex second: first-class capture provider with `codex exec --output-last-message` for clean final-output capture.
  • Cursor / Gemini / Copilot / Kiro CLI follow: stable but less battle-tested for playbook generation.

Tests that want a custom set construct llm.NewWriterRegistry directly with their own writers; this constructor exists for the production-wiring path only.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL