diff --git a/.github-minimum-intelligence/install/MINIMUM-INTELLIGENCE-INSTALLER.ts b/.github-minimum-intelligence/install/MINIMUM-INTELLIGENCE-INSTALLER.ts index 1915f1e..65b49ad 100644 --- a/.github-minimum-intelligence/install/MINIMUM-INTELLIGENCE-INSTALLER.ts +++ b/.github-minimum-intelligence/install/MINIMUM-INTELLIGENCE-INSTALLER.ts @@ -17,9 +17,10 @@ * ───────────────────────────────────────────────────────────────────────────── * 1. Creates `.github/workflows/` and `.github/ISSUE_TEMPLATE/` if missing. * 2. Copies the agent workflow template into `.github/workflows/`. - * 3. Copies the hatch issue template into `.github/ISSUE_TEMPLATE/`. + * 3. Copies the hatch and chat issue templates into `.github/ISSUE_TEMPLATE/`. * 4. Initialises the `AGENTS.md` identity file if one does not exist. - * 5. Installs runtime dependencies via `bun install`. + * 5. Initialises `.pi/settings.json` with default provider config if not customised. + * 6. Installs runtime dependencies via `bun install`. */ import { existsSync, mkdirSync, copyFileSync, readFileSync, writeFileSync } from "fs"; @@ -37,12 +38,16 @@ const issueTemplateDir = resolve(repoRoot, ".github", "ISSUE_TEMPLATE"); // Source templates inside install/ const workflowSrc = resolve(installDir, "github-minimum-intelligence-agent.yml"); const hatchSrc = resolve(installDir, "github-minimum-intelligence-hatch.md"); +const chatSrc = resolve(installDir, "github-minimum-intelligence-chat.md"); const agentsSrc = resolve(installDir, "MINIMUM-INTELLIGENCE-AGENTS.md"); +const settingsSrc = resolve(installDir, "settings.json"); // Destination paths const workflowDest = resolve(workflowsDir, "github-minimum-intelligence-agent.yml"); const hatchDest = resolve(issueTemplateDir, "github-minimum-intelligence-hatch.md"); +const chatDest = resolve(issueTemplateDir, "github-minimum-intelligence-chat.md"); const agentsDest = resolve(minimumIntelligenceDir, "AGENTS.md"); +const settingsDest = resolve(minimumIntelligenceDir, ".pi", "settings.json"); // ─── Helpers ────────────────────────────────────────────────────────────────── @@ -75,8 +80,9 @@ ensureDir(issueTemplateDir); // 2. Copy workflow template copyTemplate(workflowSrc, workflowDest); -// 3. Copy issue template +// 3. Copy issue templates copyTemplate(hatchSrc, hatchDest); +copyTemplate(chatSrc, chatDest); // 4. Initialise AGENTS.md if it does not already contain an identity if (existsSync(agentsDest)) { @@ -90,7 +96,10 @@ if (existsSync(agentsDest)) { copyTemplate(agentsSrc, agentsDest); } -// 5. Install runtime dependencies +// 5. Initialise .pi/settings.json with defaults if not already customised +copyTemplate(settingsSrc, settingsDest); + +// 6. Install runtime dependencies console.log("\n Installing dependencies...\n"); const install = Bun.spawnSync(["bun", "install"], { cwd: minimumIntelligenceDir, diff --git a/.github-minimum-intelligence/install/github-minimum-intelligence-chat.md b/.github-minimum-intelligence/install/github-minimum-intelligence-chat.md new file mode 100644 index 0000000..b4ca90f --- /dev/null +++ b/.github-minimum-intelligence/install/github-minimum-intelligence-chat.md @@ -0,0 +1,6 @@ +--- +name: "💬 Chat" +about: "Start a conversation with the AI agent" +labels: [] +--- + diff --git a/.github-minimum-intelligence/install/settings.json b/.github-minimum-intelligence/install/settings.json new file mode 100644 index 0000000..632f7f0 --- /dev/null +++ b/.github-minimum-intelligence/install/settings.json @@ -0,0 +1,5 @@ +{ + "defaultProvider": "anthropic", + "defaultModel": "claude-sonnet-4-20250514", + "defaultThinkingLevel": "low" +} diff --git a/.github/ISSUE_TEMPLATE/github-minimum-intelligence-chat.md b/.github/ISSUE_TEMPLATE/github-minimum-intelligence-chat.md new file mode 100644 index 0000000..b4ca90f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/github-minimum-intelligence-chat.md @@ -0,0 +1,6 @@ +--- +name: "💬 Chat" +about: "Start a conversation with the AI agent" +labels: [] +--- + diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..af2cbfc --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,18 @@ +# Security Policy + +## Reporting a Vulnerability + +If you discover a security vulnerability, **do not open a public issue.** Instead, refer to the [Incident Response Plan](.github-minimum-intelligence/docs/incident-response.md) and contact the maintainers privately. + +## Security Documentation + +| Document | Description | +|----------|-------------| +| [Security Assessment](.github-minimum-intelligence/docs/security-assessment.md) | Comprehensive security review covering threat model, vulnerability assessment, access control, supply chain, and compliance. | +| [Capabilities Analysis](.github-minimum-intelligence/docs/warning-blast-radius.md) | Evidence-based audit of agent capabilities and access scope. | +| [Incident Response Plan](.github-minimum-intelligence/docs/incident-response.md) | Step-by-step procedures for containment, eradication, recovery, and hardening. | +| [Before You Begin](.github-minimum-intelligence/docs/final-warning.md) | Important usage information, precautions, and the governance framework. | + +## Supported Versions + +Only the latest version on the `main` branch is actively supported with security updates. diff --git a/setup.sh b/setup.sh index 51b3a8b..8a5c7eb 100755 --- a/setup.sh +++ b/setup.sh @@ -66,6 +66,11 @@ cp -R "$EXTRACTED/$TARGET_DIR" "$TARGET_DIR" # and should not be carried over into a fresh installation. rm -rf "$TARGET_DIR/state" +# Reset repo-specific files to their default templates so new installations +# do not inherit the source repo's agent identity or model configuration. +cp "$TARGET_DIR/install/MINIMUM-INTELLIGENCE-AGENTS.md" "$TARGET_DIR/AGENTS.md" +cp "$TARGET_DIR/install/settings.json" "$TARGET_DIR/.pi/settings.json" + echo " Copied $TARGET_DIR/" # ─── Install ───────────────────────────────────────────────────────────────────