Developer Setup

One-command setup for Claude Code, PSI context, and development tools.


What You’ll Get

ToolPurpose
GitHub CLIRepository access, authentication
Azure CLIAzure deployments and management
Node.jsRequired runtime for Claude Code
Claude CodeAI coding assistant
sqlcmd (go)Azure SQL database access with Entra MFA auth
Global CLAUDE.mdPSI terminology, wiki access, tech stack conventions

After setup, you can use Claude Code from any project to look up PSI terminology, read wiki documentation, search for processes and data schemas, and get deployment guidance.


Quick Start

Step 1: Install GitHub CLI

winget install GitHub.cli

Then restart your terminal.

Step 2: Authenticate with GitHub Enterprise

gh auth login -h progressivesurface.ghe.com

Select: HTTPS → Login with browser

Step 3: Run the Installer

gh api repos/ProgressiveSurface/PSI-Wiki-Site/contents/.claude/installer/setup.ps1?ref=v4 -H "Accept: application/vnd.github.raw" --hostname progressivesurface.ghe.com | iex

The installer will check what’s already installed, show what needs updating, and ask for confirmation before making changes.


Updating

Re-run the same installer command anytime:

gh api repos/ProgressiveSurface/PSI-Wiki-Site/contents/.claude/installer/setup.ps1?ref=v4 -H "Accept: application/vnd.github.raw" --hostname progressivesurface.ghe.com | iex

Update Notifications

The installer can set up a daily scheduled task that notifies you when updates are available:

.\setup.ps1 -SetupNotifications

What Gets Installed

Development Tools

ToolMin VersionInstall Command
GitHub CLI2.40.0winget install GitHub.cli
Azure CLI2.50.0winget install Microsoft.AzureCLI
Node.js18.0.0winget install OpenJS.NodeJS.LTS
Claude Code1.0.0npm install -g @anthropic-ai/claude-code
sqlcmd (go)1.9.0winget install sqlcmd

Global CLAUDE.md

The installer sets up a global ~/.claude/CLAUDE.md that gives Claude PSI context in every project:

What It ProvidesDetails
PSI TerminologyRedbook, AFTEC, BOM, ECN, GTCode, etc.
Wiki Update WorkflowWhen and how to update wiki pages after code changes
App → Wiki MapWhich wiki page corresponds to which repo
GitHub API CommandsRead/search/update wiki from any project
Tech StackReact, .NET 8, UniData, Azure conventions

Deploy WebApp Skill

SkillDescription
deploy-webappInteractive Azure web application deployment guide

Installed to ~/.claude/skills/deploy-webapp/ and available globally.


Usage Examples

Once installed, try these prompts in Claude Code:

What does PHYS. mean at PSI?
Read the PSI data catalog and summarize the main data sources
Search the PSI wiki for information about ECN process
I need to deploy a new web app to Azure

Setting Up CLAUDE.md (Best Practices)

The global ~/.claude/CLAUDE.md is the recommended way to give Claude PSI context. It’s loaded automatically at the start of every session — no skill invocation needed.

Why CLAUDE.md over Skills

CLAUDE.mdSkills
LoadingAutomatic every sessionOn-demand when invoked
ContextAlways availableOnly when you remember to call it
MaintenanceOne file to updateSeparate install/update process
Best forContext that’s always needed (terminology, conventions)Interactive workflows (deployment guides)

Global vs. Project CLAUDE.md

Claude Code supports CLAUDE.md at two levels — use both:

LevelLocationLoaded When
Global~/.claude/CLAUDE.mdEvery session, every project
Project<repo-root>/CLAUDE.mdOnly when working in that repo

Global should contain cross-project context: PSI terminology, wiki workflow, tech stack. Project should contain repo-specific context: build commands, architecture decisions, unique patterns.

What to Put in Global CLAUDE.md

A good global CLAUDE.md includes:

  1. Company context — Who is PSI, what do we build
  2. Terminology — Key terms that appear across all projects
  3. Wiki workflow — How and when to update documentation
  4. App → wiki mapping — Which repo maps to which wiki page
  5. API fallback commands — GitHub API commands for remote wiki access
  6. Tech stack — Standard libraries, frameworks, and patterns

See Connect AI Agents for the full copyable template.

What to Put in Project CLAUDE.md

Each repo’s CLAUDE.md should cover:

  • Project overview — What this app does, who uses it
  • Build & test commandsnpm run dev, dotnet test, etc.
  • Architecture — Key directories, patterns, important files
  • Deployment — How to deploy, what branch goes where
  • Project-specific terms — Anything not in the global glossary

Tips for Effective CLAUDE.md Files

  • Keep it concise — Claude reads the full file every session; avoid bloat
  • Use tables — Structured data is easier for AI to parse than prose
  • Include paths — Absolute paths to key files/directories help Claude navigate
  • Update regularly — Stale instructions cause more harm than no instructions
  • Test it — Start a new Claude Code session and ask about something in your CLAUDE.md to verify it’s loaded

Troubleshooting

”gh: command not found”

GitHub CLI isn’t installed or not in PATH:

winget install GitHub.cli
# Then restart your terminal

“HTTP 404” or “Not Found”

You don’t have access to the ProgressiveSurface organization. Contact IT to be added.

npm install fails

winget install OpenJS.NodeJS.LTS
# Restart terminal, then retry

CLAUDE.md Not Loading

  1. Check the file exists: Get-ChildItem "$env:USERPROFILE\.claude\CLAUDE.md"
  2. Verify content: Get-Content "$env:USERPROFILE\.claude\CLAUDE.md" | Select-Object -First 10
  3. Start a new Claude Code session (CLAUDE.md is read at session start)
  4. Ask Claude: “What do you know about PSI?” — if it mentions terminology and wiki, it’s working

Deploy Skill Not Working

  1. Check the file exists: Get-ChildItem "$env:USERPROFILE\.claude\skills\deploy-webapp"
  2. Restart Claude Code after installation

For Developers

The installer source code is in the PSI-Wiki-Site repository:

.claude/
├── installer/
│   ├── manifest.json      # Tool versions and definitions
│   ├── setup.ps1          # Main installer script
│   ├── update-checker.ps1 # Scheduled task for notifications
│   └── README.md          # Technical documentation
└── skills/
    └── deploy-webapp/     # Deployment guide skill


Last updated: March 2026