Existing App
Use this path when you already have a Hono or Nitro app and want Junior to own the Slack runtime routes inside it.
The safest integration is still the scaffolded shape: a dedicated server entrypoint that exports the Hono app returned by createApp(), plus juniorNitro() in Nitro config.
Add the server entrypoint
Section titled “Add the server entrypoint”Create a Junior server module:
import { initSentry } from "@sentry/junior/instrumentation";initSentry();
import { createApp } from "@sentry/junior";
const app = await createApp();
export default app;createApp() mounts the supported Junior routes listed in Route & Handler Surface.
Add Nitro wiring
Section titled “Add Nitro wiring”Register juniorNitro() so app files and declared plugin packages are copied into the deployment bundle:
import { defineConfig } from "nitro";import { juniorNitro } from "@sentry/junior/nitro";
export default defineConfig({ modules: [ juniorNitro({ plugins: { packages: ["@sentry/junior-github"], }, }), ], routes: { "/**": { handler: "./server.ts" }, },});If your existing app already owns routes, make sure the Junior Hono app still receives the paths under /api/webhooks, /api/oauth/callback, /api/internal/turn-resume, /api/info, and /health. Do not split those routes across independent runtime instances.
Add app files
Section titled “Add app files”Junior expects app context and local extension files under app/:
app/├── SOUL.md├── WORLD.md├── DESCRIPTION.md├── skills/└── plugins/Keep provider setup in plugin manifests and env vars, not in skill prose.
Verify integration
Section titled “Verify integration”Run the same checks as a scaffolded app:
pnpm exec junior checkpnpm devcurl http://localhost:3000/healthThen complete Slack App Setup and verify one real Slack mention.
Next step
Section titled “Next step”Review Config & Environment before deploying, then follow Deploy to Vercel.