singularity-forge/scripts/install-pi-global.js
ace-pm 35dc87ef53 chore: sync workspace state after rebrand
- Rebrand commits already in history (gsd → forge)
- Sync pre-existing doc, docker, and CI config updates
- All rebrand artifacts verified in place:
  * Native crates: forge-engine, forge-ast, forge-grep
  * Log prefixes: [forge] across 22+ files
  * Binary: ~/bin/sf-run
  * Workspace scopes: @sf-run/*, @singularity-forge/*
  * Nix flake: Rust toolchain ready

System ready for: nix develop && bun run build:native

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 14:54:20 +02:00

44 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
import { cpSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'
import os from 'node:os'
import { dirname, join, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
const __dirname = dirname(fileURLToPath(import.meta.url))
const resourcesDir = resolve(__dirname, '..', 'src', 'resources')
const piRoot = join(os.homedir(), '.pi')
const piAgentDir = join(piRoot, 'agent')
const copyDir = (name) => {
const src = join(resourcesDir, name)
const dest = join(piAgentDir, name)
if (!existsSync(src)) return false
mkdirSync(dest, { recursive: true })
cpSync(src, dest, { recursive: true, force: true })
return true
}
mkdirSync(piAgentDir, { recursive: true })
const copied = []
if (copyDir('extensions')) copied.push('extensions')
if (copyDir('skills')) copied.push('skills')
if (copyDir('agents')) copied.push('agents')
const agentsMdSrc = join(resourcesDir, 'AGENTS.md')
if (existsSync(agentsMdSrc)) {
writeFileSync(join(piAgentDir, 'AGENTS.md'), readFileSync(agentsMdSrc))
copied.push('AGENTS.md')
}
const workflowSrc = join(resourcesDir, 'SF-WORKFLOW.md')
if (existsSync(workflowSrc)) {
writeFileSync(join(piRoot, 'SF-WORKFLOW.md'), readFileSync(workflowSrc))
copied.push('SF-WORKFLOW.md')
}
process.stdout.write(
`Installed SF resources for pi in ${piRoot}\n` +
`Copied: ${copied.join(', ')}\n` +
`Extensions are now available under ${join(piAgentDir, 'extensions')}\n`
)