AI-powered Jira issue triage and weekly report generation. Configure everything through a local web UI — Jira credentials, LLM provider, your role, and write-back permissions.
- Automated Triage: Categorize, summarize, find similar issues, and propose solutions using AI
- Weekly Reports: Generate markdown reports with trends, metrics, and recommendations
- Role-Based Analysis: 6 roles (Product Owner, Developer, PM, QA, Tech Lead, Scrum Master) that customize AI perspective
- Multiple LLM Providers: OpenAI, Ollama (local), or any OpenAI-compatible API
- Scheduling: Automatic triage and report generation via cron
- Write Mode: Optionally post triage comments back to Jira
- Local-First: All data stored locally in JSON files
- Language: TypeScript 5.7+
- Monorepo: pnpm workspaces
- AI: LangGraph.js + LangChain.js
- Jira: jira.js v5
- Web UI: Next.js 15 + shadcn/ui + Tailwind CSS 4
- Storage: node-json-db
- Scheduling: node-cron
- Node.js >= 20
- pnpm >= 9
# Clone the repository
git clone <repo-url>
cd jira-agentic-assistant
# Install dependencies
pnpm install
# Build the core package
pnpm --filter @jira-assistant/core build
# Start the development server
pnpm devOpen http://localhost:3000 and complete the setup wizard.
- Jira Connection: Enter your Jira Cloud URL, email, API token, and project key
- LLM Provider: Choose OpenAI, Ollama, or OpenAI-compatible and configure credentials
- Role Selection: Pick your role to customize AI analysis
- Write Mode: Choose read-only or write-to-Jira
See docs/jira-pat-guide.md for Jira API token setup.
jira-agentic-assistant/
├── packages/core/ # @jira-assistant/core - Business logic
│ ├── src/
│ │ ├── agents/ # LangGraph triage & report agents
│ │ ├── config/ # Zod schemas & defaults
│ │ ├── db/ # node-json-db repositories
│ │ ├── jira/ # Jira client, reader, writer
│ │ ├── llm/ # LLM factory & prompts
│ │ ├── reports/ # Markdown report generator
│ │ ├── scheduler/ # node-cron job manager
│ │ └── types/ # TypeScript type definitions
│ └── vitest.config.ts
├── apps/web/ # @jira-assistant/web - Next.js dashboard
│ └── src/
│ ├── app/ # Pages & API routes
│ ├── components/ # UI components
│ ├── hooks/ # React hooks
│ └── lib/ # Utilities
└── data/ # Runtime data (gitignored)
├── db/ # JSON database files
└── reports/ # Generated markdown reports
Click "Run Triage" on the dashboard to fetch recent issues from Jira and analyze them with AI. Each issue gets:
- Category: bug, feature-request, improvement, question, task
- Severity: critical, high, medium, low
- Effort Estimate: XS, S, M, L, XL
- AI Summary: Concise 2-3 sentence summary
- Similar Issues: Previously triaged issues with similarity scores
- Proposed Solution: Actionable recommendation
Click "Generate Report" to create a weekly markdown report covering:
- Key metrics and category breakdowns
- Severity analysis
- Critical items requiring attention
- Trends and recommendations
Reports are saved as markdown files in data/reports/.
Enable automatic triage and report generation in Settings > Scheduling:
- Triage: Default every 4 hours (
0 */4 * * *) - Reports: Default Monday 9am (
0 9 * * 1)
# Build core package
pnpm --filter @jira-assistant/core build
# Watch mode for core
pnpm --filter @jira-assistant/core dev
# Run Next.js dev server
pnpm dev
# Run tests
pnpm testAPACHE 2.0