# BookTracker — AI Extensions

> **Summary — what this page covers**
> A map of what Day 2 adds to the BookTracker solution from Day 1. Each section drops new files
> into the same codebase attendees already understand. Use this page so people can see the whole
> arc before building piece by piece.

## What gets added, by section

```text
BookTracker/
  BookTracker.Api/
    Endpoints/ChatEndpoints.cs       ← Section 1: SDK + chat
    Endpoints/AgentEndpoints.cs      ← Section 2: tool-calling agent
    Endpoints/RecommendEndpoints.cs  ← Section 3: RAG endpoint
    Services/ClaudeService.cs        ← Section 1: SDK wrapper
    Services/StreamingService.cs     ← Section 2: SSE streaming
    Services/RagService.cs           ← Section 3: RAG pipeline
  BookTracker.VectorStore/           ← Section 3: Qdrant + embeddings
  BookTracker.Mcp/                   ← Section 4: C# MCP server
  BookTracker.Tests/                 ← Section 5: AI-generated tests
  .github/workflows/                 ← Section 5: CI/CD
```

## The end state

By 5:00 PM the BookTracker API has grown a full set of AI-native features on the same codebase: a
**streaming chat assistant**, a **tool-calling agent** that queries the real database, a **RAG
recommendation engine** grounded in book data, a **C# MCP server** callable from Claude Code, an
**AI-generated test suite**, and a **GitHub Actions pipeline** with automated AI code review. Each
piece is a few files dropped into a project you already know — the AI is new, the architecture isn't.

## Carry-over from Day 1

Your **`.claude/` setup from Day 1** (rules, skills, the guardrail hook, the plugin) still applies —
the `PostToolUse` build hook and the destructive-command guardrail keep working for you as you write
all of today's code. You're building with Claude Code *and* building with the API at the same time.
