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.

PropertyValue
Live Sitewiki.progressivesurface.com
RepositoryProgressiveSurface/PSI-Wiki-Site
FrameworkQuartz v4
Content Sourcecontent/ folder in the repo
HostingAzure Static Web Apps
Branchv4

Features

Quartz provides these features out of the box:

FeatureDescription
Full-text searchSearch across all wiki content
Graph viewVisual map of page connections
BacklinksSee which pages link to current page
Popover previewsHover over links to preview content
Dark modeToggle between light/dark themes
Table of contentsAuto-generated from headings
WikilinksObsidian [[link]] syntax supported
CalloutsObsidian 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

  1. Content: Markdown files in the content/ folder of this repo
  2. Build: Quartz transforms markdown → HTML/JS/CSS
  3. 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

PluginPurpose
FrontMatterParse YAML frontmatter
ObsidianFlavoredMarkdownSupport Obsidian syntax
SyntaxHighlightingCode block highlighting
TableOfContentsGenerate TOC from headings
CrawlLinksProcess wikilinks
ContentIndexGenerate 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 --serve

The site will be available at http://localhost:8080.

Building for Production

npx quartz build

Output goes to public/ folder.


Deployment

Azure Static Web Apps (Production)

The site is hosted on Azure Static Web Apps with automatic deployment:

SettingValue
App Namepsi-wiki
Resource GroupPS-WEBAPPS
URLhttps://wiki.progressivesurface.com

Auto-deploy workflow:

  1. Push to v4 branch on GitHub
  2. Azure Static Web Apps GitHub Action triggers
  3. Quartz builds the site
  4. Deploys to Azure automatically

Manual Deploy

# Build locally
npx quartz build
 
# Deploy public/ folder to any static host

AI 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.md contains all wiki access instructions: structure, key pages, update workflow, and GitHub API commands
  • content/CLAUDE_CONTEXT.md provides business context and navigation for AI agents
  • content/llms.txt serves as the AI documentation index
  • .claude/data/ contains structured JSON exports for programmatic lookups

Updating the Wiki (AI Workflow)

When working locally (preferred):

  1. Edit files directly under content/
  2. Update content/llms.txt if adding/changing pages
  3. Commit and push to v4

When working from another repo (fallback):

  • Use gh api commands documented in CLAUDE.md to 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/v4


Last updated: February 2026