@openverb/pulse
v0.3.6
Published
AI-friendly project log that auto-updates with builds, tests, and errors
Downloads
1,221
Maintainers
Readme
@openverb/pulse
AI-friendly project log that automatically updates with builds, tests, and errors.
Features
- 📝 Auto-logging: Wrap any command to automatically log results
- 🚀 Runtime Error Capture: Automatically capture errors from dev servers
- 🧠 Project Brain: Machine-readable
openverb-pulse.jsonfor AI tools - 🔍 Codebase Analysis: Automatically analyzes your project to extract:
- Real tech stack from
package.json - Features from route structure
- Project purpose from main entry point
- Intent and vision from codebase
- Real tech stack from
- ✅ Task Extraction: High-severity errors automatically become actionable tasks
- 🌐 Browser viewable: HTML files work in editors and browsers
- 🤖 AI-ready: Structured JSON embedded for easy parsing
- 🔗 OpenVerb integration: Optional link to sync with OpenVerb cloud
Installation
npm install -D @openverb/pulseQuick Start
1. Initialize
npx ov-pulse init --name "My Project"This creates .ov-pulse.json and .ai/openverb-pulse.html
2. Wrap Commands
# Instead of: npm run build
npx ov-pulse exec -- npm run build
# Instead of: pnpm test
npx ov-pulse exec -- pnpm test3. Capture Runtime Errors
# Start dev server with error capture
npx ov-pulse dev -- next dev
# or
npx ov-pulse dev -- viteAutomatically captures React errors, route failures, console errors, and more.
4. View Log
# View permanent project brain
npx ov-pulse view
# View current session errors
npx ov-pulse view --sessionOpens .ai/openverb-pulse.html in your browser.
Usage
Dev Server Proxy (Runtime Error Capture)
Capture runtime errors from your dev server:
npx ov-pulse dev -- next dev
npx ov-pulse dev -- vite
npx ov-pulse dev -- npm run devWhat gets captured:
- React hydration errors
- Route/page errors
- Console errors and warnings
- Network/API errors
- Compilation errors
- Unhandled exceptions
Errors are automatically recorded to openverb-pulse.json and session errors.
Note: Only actual errors (4xx/5xx status codes) are captured. Successful requests (200) are ignored.
Exec Command
Execute any command and automatically log the result:
ov-pulse exec -- <your-command>Examples:
ov-pulse exec -- next build
ov-pulse exec -- pnpm test
ov-pulse exec -- vercel --prodSnapshot Command
Create a snapshot of current project state:
npx ov-pulse snapshotCaptures:
- Git branch and commit
- Project structure (entrypoints, routes)
- Build/runtime status
- Updates
openverb-pulse.json
Dev Command
Start dev server with runtime error capture:
npx ov-pulse dev -- <command>See Dev Server Proxy above for details.
Enrich Command (Coming Soon)
Enrich openverb-pulse.json with AI analysis:
npx ov-pulse enrichThis will use a local LLM to add:
- Diagnosis hypotheses
- Proposed fixes
- Impact severity
- Task grouping
View Command
Open the pulse log in your browser:
ov-pulse view
ov-pulse view --session # View session errorsGenerate Command
Regenerate the HTML and JSON files:
ov-pulse generateOutput Files
openverb-pulse.json
Machine-readable project brain in JSON format:
{
"schema_version": "1.0.0",
"project": { ... },
"snapshot": { ... },
"events": [ ... ],
"open_tasks": [ ... ],
"notes": [ ... ]
}This file can be consumed by AI tools (ChatGPT, Claude, Cursor, etc.) to understand your project without manual explanation.
Location: .ai/openverb-pulse.json
openverb-pulse.html
Human-readable project brain with visual timeline.
Location: .ai/openverb-pulse.html
session-errors.json & session-errors.html
Ephemeral errors from current development session.
Location: .ai/session-errors.json and .ai/session-errors.html
Integration with package.json
Add scripts to your package.json:
{
"scripts": {
"dev": "ov-pulse dev -- next dev",
"build": "ov-pulse exec -- next build",
"test": "ov-pulse exec -- pnpm vitest",
"deploy": "ov-pulse exec -- vercel --prod",
"pulse:view": "ov-pulse view",
"pulse:snapshot": "ov-pulse snapshot"
}
}Configuration
Edit .ov-pulse.json:
{
"projectName": "My Project",
"projectId": "optional-project-id",
"visualMode": "none",
"sync": {
"enabled": false,
"endpoint": null,
"apiKeyEnv": null
},
"outputFile": ".ai/openverb-pulse.html"
}How It Works
- Command Execution:
ov-pulse execruns your command and captures output - Runtime Capture:
ov-pulse devproxies your dev server and captures runtime errors - Event Logging: Results are saved to
.ai/openverb-pulse.jsonand session errors - HTML Generation:
.ai/openverb-pulse.htmlis generated with:- Human-readable event list
- Embedded JSON for AI/tool parsing
- "Continue in OpenVerb" link
AI Integration
For ChatGPT/Claude (browser)
- Run
ov-pulse viewto open the log - Copy relevant event snippets or the entire
openverb-pulse.json - Paste into chat
For Cursor/VS Code AI
The AI can read .ai/openverb-pulse.json or .ai/openverb-pulse.html directly as files in your repo.
For AI with Browsing
Use the "Continue in OpenVerb" link to view logs on the web, then share the URL.
File Structure
.ai/
├── openverb-pulse.json # Machine-readable project brain (unified format)
├── openverb-pulse.html # Browser-viewable log
├── session-errors.json # Ephemeral errors
└── session-errors.html # Session errors viewer
.ov-pulse.json # ConfigurationLicense
MIT
