diff --git a/.editorconfig b/.editorconfig
index 06892ad..fb35c3b 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -5,3 +5,6 @@ indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
+
+[.ps1]
+end_of_line = lf
diff --git a/.github/workflows/build-and-stage.yml b/.github/workflows/build-and-stage.yml
index 2194752..fcc4acf 100644
--- a/.github/workflows/build-and-stage.yml
+++ b/.github/workflows/build-and-stage.yml
@@ -34,6 +34,10 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
+ - name: Generate API browser docs
+ shell: pwsh
+ run: src/api-browser-generation/build-metadata.ps1
+
- name: dotnet build
run: dotnet build src/Client --configuration Release
diff --git a/.gitignore b/.gitignore
index 4d0ef17..b3af878 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,6 @@
*.code-workspace
src/.vscode/*
-src/Client/wwwroot/site-data/docs/*
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
@@ -364,7 +363,6 @@ MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
-src/Client/wwwroot/site-data/docs/toc.json
# local tools
tools/
@@ -374,3 +372,18 @@ tools/
# Visual Studio Code state
/.vscode/
+
+# Items produced or moved by docfx
+src/Client/wwwroot/docs
+src/Client/wwwroot/api/
+src/Client/wwwroot/public/
+src/Client/wwwroot/manifest.json
+src/Client/wwwroot/guides/
+src/Client/wwwroot/articles/
+src/Client/wwwroot/*xrefmap.yml
+src/Client/wwwroot/index.json
+src/Client/docfx-content/api-browser/**/.manifest
+src/Client/docfx-content/api-browser/**/*.yml
+
+src/api-browser-generation/sources/
+src/api-browser-generation/yaml/
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index e8d4b48..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,17 +0,0 @@
-FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build
-ENV SRC_DIR=/usr/src/MainSite
-COPY src $SRC_DIR
-RUN dotnet restore $SRC_DIR \
- --runtime linux-x64
-RUN dotnet publish $SRC_DIR/Client \
- --runtime linux-x64 \
- --framework net8.0 \
- --self-contained \
- --configuration Release \
- --output /build
-
-FROM mcr.microsoft.com/dotnet/aspnet:8.0
-WORKDIR /app
-COPY --from=build /build .
-EXPOSE 8080
-ENTRYPOINT ["dotnet", "Steeltoe.Client.dll"]
diff --git a/docker-compose.yaml b/docker-compose.yaml
deleted file mode 100644
index 1e04d38..0000000
--- a/docker-compose.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-version: "3"
-services:
- main-site:
- build: .
- ports:
- - "8081:8080"
- environment:
- - ASPNETCORE_ENVIRONMENT=Development
diff --git a/src/.gitignore b/src/.gitignore
deleted file mode 100644
index 85e7c1d..0000000
--- a/src/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/.idea/
diff --git a/src/Client/Components/App.razor b/src/Client/Components/App.razor
index f48a9b7..0af095c 100644
--- a/src/Client/Components/App.razor
+++ b/src/Client/Components/App.razor
@@ -34,10 +34,12 @@