Skip to content
blogus uvx blogus

FAQ

Questions teams ask before wiring it in

Short, accurate answers. If yours isn’t here, reach the maintainers or open an issue on GitHub.

+ What exactly does blogus do?

It extracts LLM prompts from your codebase, versions them as .prompt files with YAML frontmatter, pins each one with a sha256 in prompts.lock, and verifies the lock in CI. The slogan is "package.lock for AI prompts." It is a build-time tool, not a runtime service.

+ What languages does blogus scan?

The scan step identifies OpenAI and Anthropic calls in Python and JavaScript source, reporting file path, line number, and whether each call uses an inline string or an already-versioned prompt.

+ How does the lock file work?

blogus lock computes a sha256 over each .prompt file’s template content and records it in prompts.lock alongside the git commit it was generated from. blogus verify recomputes hashes on disk and exits non-zero on any mismatch.

+ What is the .prompt file format?

YAML frontmatter (name, model.id, model.temperature, variables) followed by a Jinja-style template body with {{variable}} placeholders. Variables can be marked required or given a default. Pinning the model id and temperature stops SDK or default-config drift from silently changing behaviour.

+ What does blogus fix change in my code?

It rewrites the original call to load_prompt("name", var=value) and inserts a marker comment of the form # @blogus:summarize sha256:a1b2c3d4 above it. blogus verify reads that marker to confirm the code, the file, and the lock all agree.

+ Does it need a server or hosted backend?

No. blogus is a Python CLI and library. The lockfile lives in your repo and the verify command runs locally and in CI. The optional blogus[web] extra ships a local browser UI on http://localhost:8000; nothing is hosted for you.

+ Can I run it in CI without secrets?

Yes. The build-time path — scan, init, lock, verify, fix, check — never calls a model and needs no keys. Only exec, analyze, and test invoke a model, reading OPENAI_API_KEY / ANTHROPIC_API_KEY from the environment.

+ How do I install it?

uv add blogus, or uvx blogus scan to try it without installing. The local web UI is behind blogus[web]; the interactive TUI demo (blogus demo) is behind blogus[tui]. It is published to PyPI as blogus.

+ How is this different from PromptLayer or Langfuse?

PromptLayer is a hosted registry and dashboard; Langfuse is a runtime observability and eval platform. blogus is build-time only — it keeps the source of truth in your repo and guarantees what shipped is what was reviewed. It composes with both rather than replacing them.

+ Is it open source?

Yes, MIT licensed, built by Skelf-Research. The source is on GitHub and the package is on PyPI.