Files
AgenticCode/openspec/changes/archive/2026-04-04-basic-chat-interface/proposal.md
local 1614a61617 feat: add basic chat interface with MudBlazor and propose responses API integration
Install MudBlazor 9.2.0, replace Bootstrap layout with MudLayout/MudAppBar,
create Chat.razor with message list, text input, auto-scroll, and hardcoded
responses. Add ChatMessage shared model. Remove template pages (Counter,
Weather), move health check to /health. Include OpenSpec change artifacts
for the upcoming wire-responses-api work.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 01:24:40 +01:00

1.8 KiB

Why

The project exists to be a working AI chat interface, but there is no chat UI yet — only a health check page. This change builds the foundational chat experience using MudBlazor components, with hardcoded responses so the UI can be developed and tested independently of the OpenAI API integration.

What Changes

  • Install and configure MudBlazor in the Client project (NuGet, CSS/JS, providers, imports)
  • Replace the Bootstrap navbar/layout with a MudBlazor layout (MudLayout, MudAppBar, MudMainContent)
  • Create a Chat page with a message list and text input, styled after ChatGPT/Gemini
  • Add a shared ChatMessage model (role + content + timestamp)
  • Wire the input to append user messages and reply with a hardcoded bot response
  • Remove template pages (Counter, Weather) that are no longer needed

Capabilities

New Capabilities

  • chat-ui: The chat interface — message display, input handling, auto-scroll, and layout
  • mudblazor-setup: MudBlazor installation, theming, and provider configuration

Modified Capabilities

Impact

  • src/ChatAgent.Client/ChatAgent.Client.csproj: Add MudBlazor package
  • src/ChatAgent.Client/wwwroot/index.html: Add MudBlazor CSS/JS/font links
  • src/ChatAgent.Client/_Imports.razor: Add MudBlazor using
  • src/ChatAgent.Client/Program.cs: Add MudBlazor services
  • src/ChatAgent.Client/Layout/MainLayout.razor: Replace with MudBlazor layout
  • src/ChatAgent.Client/Layout/NavMenu.razor: Replace or remove Bootstrap nav
  • src/ChatAgent.Client/Pages/Chat.razor: New chat page (becomes default route)
  • src/ChatAgent.Client/Pages/Home.razor: Demote from / route or keep as /health
  • src/ChatAgent.Shared/Models/ChatMessage.cs: New shared message model
  • src/ChatAgent.Client/Pages/Counter.razor: Remove
  • src/ChatAgent.Client/Pages/Weather.razor: Remove