A zero-dependency, isomorphic visual logger that makes
console.logactually beautiful.
Built for developers who care deeply about Developer Experience (DX).
Letβs be honest.
console.log() is functional β but not expressive.
- Walls of unformatted objects
[Object object]noise- No circular reference handling
- Manual performance timing
- Tables that collapse in narrow terminals
Vero fixes that β without breaking the console.
It is not a production logger.
Use Pino or Winston for structured production logging.
Vero is a visual debugger for development.
- π‘ Zero Dependencies
- π Isomorphic by Design
- π Does NOT override
globalThis.console - π¨ Type-aware color formatting
- π Responsive ASCII tables
- β± Visual performance timers
- π§ Runtime-agnostic (Web Standards only)
# Deno
deno add jsr:@tiagordebarros/vero# pnpm
pnpm i jsr:@tiagordebarros/vero# pnpm (using pnpm 10.8 or older)
pnpm dlx jsr add @tiagordebarros/vero# Yarn
yarn add jsr:@tiagordebarros/vero# Yarn (using Yarn 4.8 or older)
yarn dlx jsr add @tiagordebarros/vero# vlt
vlt install jsr:@tiagordebarros/vero# npm
npx jsr add @tiagordebarros/vero# Bun
bunx jsr add @tiagordebarros/veroimport { logger } from "@tiagordebarros/vero";
logger.info("Hello world");
logger.success("It works!");const user = {
id: 1,
name: "Alice",
roles: ["admin", "editor"],
meta: { active: true },
};
logger.info(user);β Circular-safe
β Depth-limited
β Type-aware coloring
β Clean nested visualization
logger.table([
{ endpoint: "/api/v1", latency: "12ms", status: 200 },
{ endpoint: "/api/auth", latency: "450ms", status: 500 },
]);- Two-pass column width calculation
- Unicode box drawing
- Auto card-view fallback on narrow terminals
- Layout adapts to terminal width
logger.time("DatabaseQuery");
await db.query("SELECT * FROM users");
logger.timeEnd("DatabaseQuery");Example output:
β± DatabaseQuery β β β β β Β·Β·Β·Β· 42.3ms
Color-coded thresholds:
- π’ < 50ms
- π‘ < 200ms
- π΄ > 200ms
Vero works identically across:
- π¦ Deno
- π’ Node.js
- π₯ Bun
- βοΈ Cloudflare Workers
- π Browsers
No runtime hacks.
No conditional builds.
Only Web Standards.
The project follows a layered architecture:
constants/β visual & theme primitivescore/β logger engine & configurationformatting/β ANSI, layout & object formattingperformance/β benchmarking & timing utilitiesutils/β environment & terminal helperstypes/β public type definitionsmod.tsβ public entrypoint
For full technical details, see:
β‘ ARCHITECTURE.md
- CONTRIBUTING.md
- SECURITY.md
- SUPPORT.md
- ARCHITECTURE.md
Vero guarantees:
- No console override
- No runtime coupling
- No external dependencies
- Stable public API
- Deterministic formatting behavior
- Plugin system
- Theme system
- Extended browser styling
- Terminal charts
- Implement OSC 8
- Coverage automation
Before submitting a PR, read CONTRIBUTING.md.
Architectural rules are strict:
- Zero Dependencies
- Isomorphic only
- No console override
- No runtime-specific branches
This is intentional.
If Vero improves your DX, consider sponsoring development.
See FUNDING.yml for available options.
MIT Β© 2026
Tiago Ribeiro de Barros
ORCID: https://orcid.org/0000-0001-6823-3562
See LICENSE for more details.
From Latin verus β truth.
See the truth in your code.
β Star this repository if Vero made your terminal beautiful.






