- app/agents/: new Agents page showing per-agent status + workspace files - app/knowledge/: Knowledge base viewer - app/api/tiger/: proxy routes for cron, file-tasks, file-projects, keys, agents - components/agent-strip.tsx: agent status bar for dashboard home - components/command-bar.tsx: command palette - components/digest-card.tsx + schedule-card.tsx: weekly digest + cron schedule - components/status-footer.tsx: system status footer - tasks page: dual-source (TASKS.md JSON block + SQLite) with fallback - projects page: PROJECTS.md reader with kanban board integration
32 lines
1 KiB
TypeScript
32 lines
1 KiB
TypeScript
"use client"
|
|
|
|
import { CommandBar } from "@/components/command-bar"
|
|
import { AgentStrip } from "@/components/agent-strip"
|
|
import { DigestCard } from "@/components/digest-card"
|
|
import { TelegramThreadCard } from "@/components/telegram-thread-card"
|
|
import { StatusFooter } from "@/components/status-footer"
|
|
import { ScheduleCard } from "@/components/schedule-card"
|
|
|
|
export default function HomePage() {
|
|
return (
|
|
<div className="flex flex-col gap-5 max-w-5xl mx-auto w-full">
|
|
{/* HERO — the command bar is the front door of Tiger. */}
|
|
<CommandBar />
|
|
|
|
{/* AGENTS — one strip, all 5 agents, live state at a glance. */}
|
|
<AgentStrip />
|
|
|
|
{/* CONTEXT ROW — digest (left) + Telegram thread (right) */}
|
|
<div className="grid gap-4 md:grid-cols-2">
|
|
<DigestCard />
|
|
<TelegramThreadCard />
|
|
</div>
|
|
|
|
{/* SCHEDULE ROW — Tiger's cron jobs + next-run times */}
|
|
<ScheduleCard />
|
|
|
|
{/* FOOTER — system health strip. Becomes a banner on crash. */}
|
|
<StatusFooter />
|
|
</div>
|
|
)
|
|
}
|