Arguseye

Your template, rendered by its own engine.

Native template previews bring JSON context, unsaved edits and before/after evidence to the existing Arguseye workflow.

Use your project’s engine

Native template previews require Arguseye 0.0.16 or later and use real installed Node, Python, PHP and Ruby engines. Each release runs native rendering and extracted extension checks on Linux x64, Windows x64 and macOS ARM64.

Inspect the implementation on GitHub ↗

Choose a template. Supply its context. Compare an edit.

  1. Right-click a supported file in VS Code’s editor, tab or Explorer and choose Arguseye: Preview Component.
  2. Select the engine and an optional named data profile. Open Props to edit the JSON context.
  3. Capture a baseline, edit a template or partial without saving, and select Compare Changes.

Coding agents use the same engine through render_component with engine, profile and props. Each render returns a screenshot, accessibility text, source revision, timing, warnings and errors. Baselines preserve the resolved context and viewport.

arguseye shot templates/card.html --root . --engine django \
  --props '{"name":"Ada"}' --capture-dir /tmp/card-baseline --json

arguseye diff --root . --baseline /tmp/card-baseline \
  --out /tmp/card-comparison --json

Use Arguseye 0.0.16 or later for these commands. Templates replace their rendered document when edited, so interactive state resets. This differs from React refresh or a Vue style edit.

Native engines, with explicit scopes

Engine families covered by installed development fixtures
Project runtimeEnginesRendering scope
Node.jsHandlebars, Mustache, EJS, Pug, Nunjucks, LiquidJS, Eta, doTProject-owned packages, template context and native partials/includes where the engine provides them.
PythonDjango, Jinja2, Mako, TornadoStandalone templates, actual inheritance/includes and explicitly registered filters. No automatic views, middleware or database data.
PHPTwig, Blade, Smarty, Latte, PHP viewsComposer engines and standalone Blade. Laravel application services need explicit setup. Arbitrary PHP imports execute from disk.
RubyERB, Haml, Slim, native LiquidStandalone templates and Liquid partials. Rails controllers and implicit Rails view helpers are not reconstructed.

Jinja2 is not rendered with Nunjucks. Native Ruby Liquid is separate from LiquidJS. HTML and TPL need an explicit engine or project mapping when ambiguous. Other runtimes need a native JSON-lines adapter and their own conformance evidence; this is not universal engine certification.

Use your existing project environment

Declare mappings and optional preview data in arguseye.templates.json. Python/PHP/Ruby projects do not need React or a package.json. Install the project’s dependencies and configure its interpreter when needed.

{
  "version": 1,
  "mappings": [{"pattern": "templates/**/*.html", "engine": "django"}],
  "roots": ["templates"],
  "profiles": {"example": {"name": "Ada"}},
  "runtimes": {"python": ".venv/bin/python"}
}

On Windows, a project virtual environment normally uses .venv/Scripts/python.exe. Profiles can reference JSON files; explicit context overrides profile keys. Static inspection reports configuration without starting the application.

Read the evidence before trusting the pixels

Missing lookups are reported where tracing is available. Engines without lookup tracing return a warning, even if their HTML renders. Native syntax errors retain file paths and engine stacks. Captures wait for fonts and image decoding within a one-second bound. Missing, corrupt or still-loading font faces are named in warnings and keep the result incomplete; a fallback font is not proof of a loaded face.

Built-in template loaders apply canonical file boundaries and unsaved-buffer overlays. Workers have bounded queues, deadlines and output sizes. Project templates and helpers are trusted executable code; this is not an operating-system sandbox.

A component or template preview does not run authentication, backend state, framework request handlers or full user journeys. Browser email previews do not certify Gmail or Outlook rendering.

Read the configuration, setup hooks and adapter protocol ↗ · Existing component compatibility ↗