@scheduler-systems/gal-run
v0.0.551
Published
GAL CLI - Command-line tool for managing AI agent configurations across your organization
Maintainers
Readme
GAL CLI
Governance platform for AI coding agents. Discover, centralize, and sync approved configurations for individuals and teams.
Install
pnpm add -g @scheduler-systems/gal-runOr via Homebrew:
brew tap scheduler-systems/tap
brew install galWindows:
winget install SchedulerSystems.GALBootstrap scripts:
curl -fsSL https://gal.run/install.sh | shpowershell -NoProfile -ExecutionPolicy Bypass -Command "$script = Join-Path $env:TEMP 'gal-install.ps1'; Invoke-WebRequest -UseBasicParsing -Uri 'https://gal.run/install.ps1' -OutFile $script; & $script; Remove-Item $script -Force"Usage
# Authenticate with GitHub
gal auth login
# Pull approved configs
gal sync --pull
# Configure MCP + validate tool discovery
gal mcp setup
gal mcp doctor
# Check sync status
gal sync --status
# Scan org repos for AI agent configs
gal discoverInternal Preview
gal code is currently an internal-only command gated behind the existing
internal audience tier. It does a live GET /auth/me check before launch, so
authenticated non-internal users are rejected even if they guess the command.
The production request path is gal code -> GAL API proxy -> Vertex, not
direct client access to Vertex.
Current local preview flow:
cd /Users/scheduler-systems/Documents/scheduler-systems/products/gal-run-private
pnpm build:gal-code
pnpm build:cli
GAL_NO_AUTO_UPDATE=1 \
GAL_ACCEPT_TERMS=true \
node apps/cli/dist/index.cjs code --versionManual smoke test:
cd /Users/scheduler-systems/Documents/scheduler-systems/products/gal-run-private
GAL_NO_AUTO_UPDATE=1 \
GAL_ACCEPT_TERMS=true \
node apps/cli/dist/index.cjs codeExpected behavior:
- startup lands in GAL Code with
Model gal /modelshowsCurrent model gal- non-internal authenticated users get
GAL Code requires membership in an org with internal audienceTier - prompt traffic goes to
https://api.gal.run/api/gal-code/v1/chat/completions
Supported Platforms
- Claude Code (
.claude/) - Cursor (
.cursor/) - GitHub Copilot (
.github/) - Gemini (
.gemini/) - Codex (
.codex/) - Windsurf (
.windsurf/)
MCP Server
GAL provides an MCP server for AI coding agents. Auto-configured by gal sync --pull, or set up directly:
gal mcp setup
gal mcp doctorRecommended onboarding:
gal auth login
gal mcp setup
gal mcp doctorManual config example:
Claude Code (.mcp.json):
{
"mcpServers": {
"gal": {
"type": "http",
"transport": "http",
"url": "https://api.gal.run/mcp"
}
}
}Cursor (.cursor/mcp.json), Windsurf (.windsurf/mcp_config.json), Gemini (settings.json):
{
"mcpServers": {
"gal": {
"type": "http",
"transport": "http",
"url": "https://api.gal.run/mcp"
}
}
}The hosted endpoint https://api.gal.run/mcp uses OAuth/Bearer auth.
Codex Setup
Preferred (OAuth):
codex mcp add gal --url https://api.gal.run/mcp
codex mcp login galIf OAuth login fails with Dynamic client registration not supported, use bearer-token mode:
export GAL_AUTH_TOKEN="$(node -e 'console.log(JSON.parse(require(\"fs\").readFileSync(process.env.HOME+\"/.gal/config.json\",\"utf8\")).authToken||\"\")')"
codex mcp remove gal
codex mcp add gal --url https://api.gal.run/mcp --bearer-token-env-var GAL_AUTH_TOKENIf /mcp shows Tools: (none), verify GAL_AUTH_TOKEN is set in the Codex process environment.
CI/CD Integration
- name: Install GAL CLI
run: pnpm add -g @scheduler-systems/gal-run
- name: Sync configs
run: gal sync --pull
env:
GAL_TOKEN: ${{ secrets.GAL_TOKEN }}Documentation
- Docs: https://gal.run/docs
- Dashboard: https://app.gal.run
- Issues: https://github.com/Scheduler-Systems/gal-run/issues
License
Proprietary - Copyright (c) 2026 Scheduler Systems. All rights reserved.
