PSI Wiki Site
Web-based interface for the PSI Knowledge Base, built on Quartz - a static site generator that converts Obsidian vaults into searchable websites.
Overview
The PSI Wiki Site publishes the PSI Knowledge Base as a web application, making documentation accessible via browser without requiring Obsidian.
| Property | Value |
|---|---|
| Live Site | wiki.progressivesurface.com |
| Repository | ProgressiveSurface/PSI-Wiki-Site |
| Framework | Quartz v4 |
| Content Source | content/ folder in the repo |
| Hosting | Azure Static Web Apps |
| Branch | v4 |
Features
Quartz provides these features out of the box:
| Feature | Description |
|---|---|
| Full-text search | Search across all wiki content |
| Graph view | Visual map of page connections |
| Backlinks | See which pages link to current page |
| Popover previews | Hover over links to preview content |
| Dark mode | Toggle between light/dark themes |
| Table of contents | Auto-generated from headings |
| Wikilinks | Obsidian [[link]] syntax supported |
| Callouts | Obsidian callout blocks render correctly |
Architecture
PSI-Wiki-Site/
├── content/ ← Wiki markdown lives here
│ ├── company/ Domain knowledge, terminology
│ ├── applications/ Living docs per app
│ ├── development/ Architecture, deployment patterns
│ ├── data/ Schemas, catalogs
│ ├── reference/ AFTEC subroutine catalog
│ ├── analytics/ Dashboards, methodology
│ ├── guides/ Step-by-step tutorials
│ ├── llms.txt AI documentation index
│ └── CLAUDE_CONTEXT.md AI agent entry point
├── CLAUDE.md AI agent instructions + wiki access reference
├── .claude/ Skills, structured data exports
├── quartz.config.ts Quartz configuration
└── .github/workflows/ CI/CD (auto-deploy on push)
How It Works
- Content: Markdown files in the
content/folder of this repo - Build: Quartz transforms markdown → HTML/JS/CSS
- Deploy: Push to
v4→ GitHub Actions → Azure Static Web Apps
Configuration
Key settings in quartz.config.ts:
const config: QuartzConfig = {
configuration: {
pageTitle: "PSI Knowledge Base",
pageTitleSuffix: " | PSI Wiki",
baseUrl: "wiki.progressivesurface.com",
ignorePatterns: ["private", "templates", ".obsidian"],
},
// ... plugins
}Plugins Enabled
| Plugin | Purpose |
|---|---|
FrontMatter | Parse YAML frontmatter |
ObsidianFlavoredMarkdown | Support Obsidian syntax |
SyntaxHighlighting | Code block highlighting |
TableOfContents | Generate TOC from headings |
CrawlLinks | Process wikilinks |
ContentIndex | Generate sitemap and RSS |
Local Development
Prerequisites
- Node.js 20+ (check
.node-version) - npm
Setup
# Clone the site repo
git clone https://progressivesurface.ghe.com/ProgressiveSurface/PSI-Wiki-Site.git
cd PSI-Wiki-Site
# Install dependencies
npm install
# Start dev server
npx quartz build --serveThe site will be available at http://localhost:8080.
Building for Production
npx quartz buildOutput goes to public/ folder.
Deployment
Azure Static Web Apps (Production)
The site is hosted on Azure Static Web Apps with automatic deployment:
| Setting | Value |
|---|---|
| App Name | psi-wiki |
| Resource Group | PS-WEBAPPS |
| URL | https://wiki.progressivesurface.com |
Auto-deploy workflow:
- Push to
v4branch on GitHub - Azure Static Web Apps GitHub Action triggers
- Quartz builds the site
- Deploys to Azure automatically
Manual Deploy
# Build locally
npx quartz build
# Deploy public/ folder to any static hostAI Agent Integration
The wiki is designed for both human readers and AI agents. Wiki access for AI is configured via CLAUDE.md in the project root rather than as a separate skill.
How It Works
CLAUDE.mdcontains all wiki access instructions: structure, key pages, update workflow, and GitHub API commandscontent/CLAUDE_CONTEXT.mdprovides business context and navigation for AI agentscontent/llms.txtserves as the AI documentation index.claude/data/contains structured JSON exports for programmatic lookups
Updating the Wiki (AI Workflow)
When working locally (preferred):
- Edit files directly under
content/ - Update
content/llms.txtif adding/changing pages - Commit and push to
v4
When working from another repo (fallback):
- Use
gh apicommands documented inCLAUDE.mdto read/write pages via GitHub API
Why CLAUDE.md Instead of a Skill
Wiki access instructions are embedded in CLAUDE.md so they are always loaded in context. This means any AI agent working in the repo automatically knows how to read and update the wiki without needing to invoke a separate skill.
Updating from Upstream Quartz
The repo maintains upstream remote for Quartz updates:
# Fetch upstream changes
git fetch upstream
# Merge updates (resolve conflicts as needed)
git merge upstream/v4Related Pages
- Wiki Homepage - Main wiki entry point
- Getting Started - How to use the wiki
- Connect AI Agents - AI agent setup
Last updated: February 2026