{"id":32782160,"url":"https://github.com/jubstaaa/hono-telescope","last_synced_at":"2026-03-12T11:11:21.037Z","repository":{"id":321228972,"uuid":"1077603149","full_name":"Jubstaaa/hono-telescope","owner":"Jubstaaa","description":"A powerful debugging and monitoring tool for Hono applications, inspired by Laravel Telescope","archived":false,"fork":false,"pushed_at":"2025-11-04T15:02:25.000Z","size":778,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-04T17:07:48.376Z","etag":null,"topics":["bun","debugging","hono","middleware","monitoring","nodejs","observability","performance","telescope","typescript"],"latest_commit_sha":null,"homepage":"https://hono-telescope-9lvpv.ondigitalocean.app/telescope","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jubstaaa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["jubstaaa"],"buy_me_a_coffee":"jubstaa"}},"created_at":"2025-10-16T13:31:02.000Z","updated_at":"2025-11-04T15:02:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"cbd7c6b7-e56c-4605-9dd1-dee5f373b54f","html_url":"https://github.com/Jubstaaa/hono-telescope","commit_stats":null,"previous_names":["jubstaaa/hono-telescope"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/Jubstaaa/hono-telescope","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jubstaaa%2Fhono-telescope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jubstaaa%2Fhono-telescope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jubstaaa%2Fhono-telescope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jubstaaa%2Fhono-telescope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jubstaaa","download_url":"https://codeload.github.com/Jubstaaa/hono-telescope/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jubstaaa%2Fhono-telescope/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282713022,"owners_count":26714760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-04T02:00:05.887Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bun","debugging","hono","middleware","monitoring","nodejs","observability","performance","telescope","typescript"],"created_at":"2025-11-04T21:00:39.106Z","updated_at":"2025-11-04T21:01:52.316Z","avatar_url":"https://github.com/Jubstaaa.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jubstaaa","https://buymeacoffee.com/jubstaa"],"categories":[],"sub_categories":[],"readme":"# hono-telescope\n\n[![npm version](https://badge.fury.io/js/hono-telescope.svg)](https://badge.fury.io/js/hono-telescope)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)\n[![Bun](https://img.shields.io/badge/Bun-Ready-black.svg)](https://bun.sh/)\n[![Node.js](https://img.shields.io/badge/Node.js-\u003e=18.0.0-green.svg)](https://nodejs.org/)\n[![GitHub stars](https://img.shields.io/github/stars/jubstaaa/hono-telescope?style=social)](https://github.com/jubstaaa/hono-telescope)\n[![GitHub watchers](https://img.shields.io/github/watchers/jubstaaa/hono-telescope?style=social)](https://github.com/jubstaaa/hono-telescope)\n\n\u003e **⚠️ Beta Release**: This package is currently in beta. APIs may change before the stable release.\n\nA powerful debugging and monitoring tool for Hono applications, inspired by Laravel Telescope. Monitor HTTP requests, exceptions, logs, and database queries with a beautiful web dashboard.\n\n---\n\n## 🌐 Live Demo\n\n\u003e 🎉 **Try it live!** No installation needed. Test all features on our hosted example:\n\u003e\n\u003e **[📊 Hono Telescope Dashboard](https://hono-telescope-9lvpv.ondigitalocean.app/telescope)**\n\u003e\n\u003e **API Base URL:** `https://hono-telescope-9lvpv.ondigitalocean.app`\n\n---\n\n## ✨ Features\n\n**Currently Available:**\n\n- 🔍 **HTTP Request Monitoring** - Track all incoming and outgoing requests with detailed headers and payloads\n- 🚨 **Exception Tracking** - Capture and monitor application errors with stack traces\n- 📝 **Log Monitoring** - Monitor console logs with different severity levels\n- 🗄️ **Database Query Monitoring** - Track SQL queries (Prisma, Sequelize, MongoDB, Bun SQLite) with execution time\n- 📊 **Beautiful Dashboard** - Modern React-based web interface with real-time updates\n- 🎯 **Zero Configuration** - Works out of the box with sensible defaults\n- 🏷️ **Tagging System** - Organize entries with custom tags and context\n- 🔧 **TypeScript Support** - Full type definitions and type safety\n- ⚡ **High Performance** - Minimal overhead with efficient memory management\n- 🌐 **Bun \u0026 Node.js** - Works with both runtimes seamlessly\n- 🗂️ **Multiple Database Support** - Integrates with popular database libraries\n\n**Planned Features (Roadmap):**\n\n- 🎨 **Code Formatting** - Built-in Prettier integration for consistent code style\n- 🔖 **Automated Versioning** - Release-it integration for semantic versioning\n- 💾 **Data Export** - Export monitored data in multiple formats (JSON, CSV)\n- 🔔 **Alerts \u0026 Notifications** - Real-time alerts for errors and performance issues\n- 📈 **Analytics \u0026 Reporting** - Advanced analytics and historical data analysis\n- 🔐 **Authentication \u0026 Authorization** - Dashboard access control\n- 🌍 **Multi-Tenancy Support** - Support for multiple isolated projects\n- 📱 **Mobile Dashboard** - Responsive mobile-friendly dashboard improvements\n- 🧩 **Plugin System** - Extensible plugin architecture for custom integrations\n- 🔄 **Data Persistence** - Optional database storage for long-term monitoring\n\n## 📦 Installation\n\n```bash\n# Using npm\nnpm install hono-telescope\n\n# Using yarn\nyarn add hono-telescope\n\n# Using pnpm\npnpm add hono-telescope\n\n# Using bun\nbun add hono-telescope\n```\n\n## Quick Start\n\n```typescript\nimport { Hono } from 'hono';\nimport { setupTelescope } from 'hono-telescope';\n\nconst app = new Hono();\n\n// Setup Telescope with default configuration\nsetupTelescope(app);\n\n// Your routes\napp.get('/', (c) =\u003e {\n  console.log('Home page accessed');\n  return c.json({ message: 'Hello World!' });\n});\n\nexport default app;\n```\n\nVisit `http://localhost:3000/telescope` to access the dashboard.\n\n\u003e 📋 **Complete Example**: See [src/example/index.ts](./src/example/index.ts) for a full working example with all Telescope features including database query monitoring, multiple HTTP clients (fetch + Axios), and error handling.\n\n## API Testing\n\n### Try the Live Demo\n\nVisit the [live dashboard](https://hono-telescope-9lvpv.ondigitalocean.app/telescope) and test these endpoints:\n\n**API Base:** `https://hono-telescope-9lvpv.ondigitalocean.app`\n\n#### Quick Test with Shell Script\n\nRun all endpoints at once with our test script:\n\n```bash\n# Download and run the test script\nbash \u003c(curl -s https://raw.githubusercontent.com/jubstaaa/hono-telescope/main/src/example/test-all-endpoints.sh)\n```\n\nOr if you have the repo cloned locally:\n\n```bash\nbash src/example/test-all-endpoints.sh\n```\n\nThis will automatically test all endpoints and populate the Telescope dashboard with data! ✨\n\n#### Available Test Endpoints\n\n**Users Management**\n\n```bash\n# Get all users\ncurl https://hono-telescope-9lvpv.ondigitalocean.app/api/users\n\n# Create a new user\ncurl -X POST https://hono-telescope-9lvpv.ondigitalocean.app/api/users \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"John Doe\", \"email\": \"john@example.com\", \"username\": \"johndoe\"}'\n\n# Get user by ID\ncurl https://hono-telescope-9lvpv.ondigitalocean.app/api/users/1\n\n# Update user\ncurl -X PUT https://hono-telescope-9lvpv.ondigitalocean.app/api/users/1 \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"Jane Doe\", \"username\": \"janedoe\"}'\n\n# Delete user\ncurl -X DELETE https://hono-telescope-9lvpv.ondigitalocean.app/api/users/1\n```\n\n**Database Operations** (SQLite with Bun)\n\n```bash\n# Trigger database query\ncurl https://hono-telescope-9lvpv.ondigitalocean.app/api/health/db\n```\n\n**External Requests** (HTTP Interceptor)\n\n```bash\n# Trigger outgoing HTTP request (tested with Axios)\ncurl https://hono-telescope-9lvpv.ondigitalocean.app/api/external/request\n```\n\n**Error Handling** (Exception Tracking)\n\n```bash\n# Trigger an error\ncurl https://hono-telescope-9lvpv.ondigitalocean.app/api/error\n```\n\n**Logging** (Log Monitoring)\n\n```bash\n# Trigger log entries\ncurl https://hono-telescope-9lvpv.ondigitalocean.app/api/logs\n```\n\n### View the Dashboard\n\nAfter making requests, visit the [Telescope Dashboard](https://hono-telescope-9lvpv.ondigitalocean.app/telescope) to see:\n\n- 📊 **Incoming Requests** - All HTTP requests with headers, payload, and response\n- 📤 **Outgoing Requests** - External API calls made by the app\n- 📝 **Logs** - Console logs captured in real-time\n- ⚠️ **Exceptions** - Errors and stack traces\n- 🗄️ **Queries** - Database queries with execution time\n- 📈 **Statistics** - Summary of all monitored events\n\n## Configuration\n\n```typescript\nimport { setupTelescope } from 'hono-telescope';\n\nsetupTelescope(app, {\n  enabled: true, // Enable/disable Telescope\n  path: '/telescope', // Dashboard path\n  max_entries: 1000, // Maximum entries to store\n  ignored_paths: ['/health'], // Paths to ignore\n  watchers: {\n    requests: true, // Monitor HTTP requests\n    exceptions: true, // Monitor exceptions\n    logs: true, // Monitor logs\n    queries: true, // Monitor database queries\n  },\n});\n```\n\n## Database Query Monitoring\n\nHono Telescope automatically intercepts and monitors queries from:\n\n- **Prisma** - Full ORM support with $queryRaw and $executeRaw\n- **Sequelize** - SQL ORM query tracking\n- **MongoDB** - NoSQL document operations\n- **Bun SQLite** - Native SQLite database queries\n\nQueries are automatically captured with:\n\n- ⏱️ Execution time\n- 📋 Query text and bindings\n- 🔗 Parent request context\n- 🚨 Error information if query fails\n\n## Development\n\n### Getting Started\n\nFirst, install dependencies:\n\n```bash\nbun install\n```\n\nThen build the project for the first time:\n\n```bash\nbun run build\n```\n\n### Running in Development Mode\n\nHono Telescope requires three separate processes running simultaneously for full development experience. Open three terminal windows:\n\n**Terminal 1 - TypeScript Compilation (Watch Mode)**\n\n```bash\nbun run dev\n```\n\nThis watches for TypeScript changes and compiles them to JavaScript.\n\n**Terminal 2 - Example Application**\n\n```bash\nbun run dev:example\n```\n\nThis starts the example Hono application with hot reload at `http://localhost:3000`\n\n- Example API endpoints: `http://localhost:3000/api/...`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjubstaaa%2Fhono-telescope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjubstaaa%2Fhono-telescope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjubstaaa%2Fhono-telescope/lists"}