{"_id":"@adaptec/goat-saas","_rev":"2-5189b7912ab8bff3d3c23bffba9cf25c","name":"@adaptec/goat-saas","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@adaptec/goat-saas","version":"1.0.0","keywords":["claude-code","skill","saas","requirements","rippl"],"author":{"name":"Keno R. Mullings / Adaptec"},"license":"SEE LICENSE IN LICENSE.md","_id":"@adaptec/goat-saas@1.0.0","maintainers":[{"name":"themullingsgroup","email":"admin@themullingsgroup.com"}],"bin":{"goat-saas":"dist/cli.js"},"dist":{"shasum":"734b6df2a5a098959553a47323b1e57fb45a9606","tarball":"https://registry.npmjs.org/@adaptec/goat-saas/-/goat-saas-1.0.0.tgz","fileCount":6,"integrity":"sha512-R1Bx0Yd3kawST+eN9f5ae4MHN9CeehjWG4Q1d/lxCCWZoe2NUOKUkpRjFVF9b8sU4ZwXS1L6sTJ3GXTLlRj5hA==","signatures":[{"sig":"MEUCIQCmalEd5DC24ph/swq/sL7XBo+/1mt+Z3kodjvObOq2hgIgTzvCCrabiIyYh2tD6/due++6qN7eV6uu9/xyVMw3qO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36407},"type":"module","gitHead":"179b598f6e5b09ab5b2013b001d560048bdfacfb","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"themullingsgroup","email":"admin@themullingsgroup.com"},"_npmVersion":"11.6.2","description":"Setup tool for the goat-saas skill — installs the skill and connects to the MCP server","directories":{},"_nodeVersion":"24.12.0","dependencies":{"node-fetch":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/goat-saas_1.0.0_1773827215613_0.5915555837399884","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adaptec/goat-saas","version":"1.0.1","description":"Setup tool for the goat-saas skill — installs the skill and connects to the MCP server","type":"module","bin":{"goat-saas":"dist/cli.js"},"scripts":{"build":"tsc","test":"vitest run","prepublishOnly":"npm run build"},"dependencies":{"node-fetch":"^3.3.0"},"devDependencies":{"@types/node":"^20.11.0","typescript":"^5.5.0","vitest":"^4.1.1"},"keywords":["claude-code","skill","saas","requirements","rippl"],"author":{"name":"Keno R. Mullings / Adaptec"},"license":"SEE LICENSE IN LICENSE.md","gitHead":"8e99a9662a265fe1e0f5bffd5e7fbcc332f9aef3","_id":"@adaptec/goat-saas@1.0.1","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-KyPMED7bto/QyhPPMFEaFH33HL3NP7wwVJhI7IySTxg21tj7IJLPV17AVIcbE1a+y050B0ZZ6vnt+BBuO2JLGQ==","shasum":"14b486288c0af02089c20dfa236be38b0a9c6265","tarball":"https://registry.npmjs.org/@adaptec/goat-saas/-/goat-saas-1.0.1.tgz","fileCount":6,"unpackedSize":40675,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEy8G0PL4+ElANpqc53kuebvt1F0psj5zPCSbXwvlSY0AiEA2KYnKJgRlpkJkotePMAtGmW8LM4rkDtxbN29kNTOU3A="}]},"_npmUser":{"name":"themullingsgroup","email":"admin@themullingsgroup.com"},"directories":{},"maintainers":[{"name":"themullingsgroup","email":"admin@themullingsgroup.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/goat-saas_1.0.1_1774503318692_0.7069300415609356"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T09:46:55.487Z","modified":"2026-03-26T05:35:18.963Z","1.0.0":"2026-03-18T09:46:55.753Z","1.0.1":"2026-03-26T05:35:18.838Z"},"author":{"name":"Keno R. Mullings / Adaptec"},"license":"SEE LICENSE IN LICENSE.md","keywords":["claude-code","skill","saas","requirements","rippl"],"description":"Setup tool for the goat-saas skill — installs the skill and connects to the MCP server","maintainers":[{"name":"themullingsgroup","email":"admin@themullingsgroup.com"}],"readme":"# @adaptec/goat-saas\n\nSetup tool for the **goat-saas** skill — a software requirements engineer and architect for web/mobile SaaS applications, powered by [Claude Code](https://claude.ai/claude-code).\n\ngoat-saas transforms requirements conversations into a comprehensive **9-document package**:\n\n| # | Document | Description |\n|---|----------|-------------|\n| 1 | README | Project master index (generated last, presented first) |\n| 2 | Application Summary | Plain-English overview for non-technical stakeholders |\n| 3 | Feature Requirements | Detailed feature specs, workflows, and data entities |\n| 4 | rippl Requirements | Machine-readable user stories and test scenarios (.rpl) |\n| 5 | Prototype Specification | Screen inventory, mock data, click-flows, and client sign-off checklist |\n| 6 | Technical Architecture | Stack, patterns, API design, encryption, and environment setup |\n| 7 | Testing Framework | Multi-layer test strategy with phase-by-phase test mapping |\n| 8 | Security & Compliance | RBAC, encryption, OWASP Top 10, and full regulatory compliance table |\n| 9 | AI Dev Instructions | Platform-specific build guidance with example AI prompts per phase |\n\nAfter all 9 documents are approved, a **QA Review** checks cross-document consistency and reports gaps before the package is declared complete. Optional **Word (.docx) export** is available for every document.\n\n---\n\n## Prerequisites\n\nBefore running setup, make sure you have:\n\n- **Claude Code** installed and authenticated — either the [CLI](https://claude.ai/claude-code) or the [VS Code extension](https://marketplace.visualstudio.com/items?itemName=anthropics.claude-code)\n- **Node.js 18+** — check with `node --version`\n- **A valid API key** — provided by your instructor (educational use) or included with your subscription\n\n---\n\n## Quick Start\n\n```bash\nnpx @adaptec/goat-saas setup\n```\n\nYou'll be prompted for your API key. The tool will verify it, install the skill, and configure the MCP server connection. After it completes:\n\n1. Restart Claude Code (close and reopen VS Code, or restart the CLI)\n2. Start a new conversation\n3. Type `/goat-saas`\n\nThat's it — the skill takes over from there.\n\n---\n\n## Commands\n\n### `npx @adaptec/goat-saas setup`\n\nFirst-time installation. Installs the skill and connects to the MCP server.\n\n**What happens:**\n\n```\ngoat-saas Setup\n\nEnter your API key: gs_your_key_here\n  Verifying connection to server...\n  [OK] API key verified\n  Fetching skill prompt from server...\n  [OK] Skill installed to ~/.claude/skills/goat-saas/SKILL.md\n  Configuring MCP server in Claude Code settings...\n  [OK] MCP server configured in ~/.claude/settings.json\n\nSetup complete! Restart Claude Code, then use /goat-saas to start.\n```\n\n**Step by step:**\n1. Prompts for your API key\n2. Connects to the goat-saas server and validates your key (checks expiry, permissions, and rate limit)\n3. Downloads the latest skill prompt from the server and saves it to `~/.claude/skills/goat-saas/SKILL.md`\n4. Adds the goat-saas MCP server entry to `~/.claude/settings.json`, preserving all your existing settings and MCP servers\n\n### `npx @adaptec/goat-saas update`\n\nUpdate the skill to the latest version from the server.\n\n```bash\nnpx @adaptec/goat-saas update\n```\n\n**What happens:**\n- Reads your existing API key from `~/.claude/settings.json` (no need to re-enter it)\n- Downloads the latest skill prompt from the server\n- Overwrites the local `~/.claude/skills/goat-saas/SKILL.md` with the updated version\n\nRun this when you're notified of a skill update. Restart Claude Code after updating.\n\n### `npx @adaptec/goat-saas uninstall`\n\nRemove the skill and MCP server configuration.\n\n```bash\nnpx @adaptec/goat-saas uninstall\n```\n\n**What happens:**\n- Deletes `~/.claude/skills/goat-saas/SKILL.md`\n- Removes the `goat-saas` entry from `mcpServers` in `~/.claude/settings.json`\n- Does not touch any other Claude Code settings, skills, or MCP servers\n\n### No arguments / `npx @adaptec/goat-saas`\n\nPrints usage help:\n\n```\ngoat-saas — SaaS Requirements Skill for Claude Code\n\nUsage:\n  npx @adaptec/goat-saas setup       Install skill and connect to MCP server\n  npx @adaptec/goat-saas update      Update skill to latest version from server\n  npx @adaptec/goat-saas uninstall   Remove skill and MCP server config\n```\n\n---\n\n## How It Works\n\ngoat-saas uses a **hybrid architecture** that combines a local skill prompt with a remote MCP server:\n\n```\n┌──────────────────────────────┐         ┌────────────────────────────────┐\n│  Your Machine (Claude Code)  │  HTTPS  │  goat-saas MCP Server          │\n│                              │────────>│  (goat-saas-mcp-server.replit.app)\n│  Local:                      │         │                                │\n│  ~/.claude/skills/goat-saas/ │         │  Serves on demand:             │\n│    SKILL.md                  │<────────│  - Document templates          │\n│    (conversation workflow)   │         │  - rippl v2 syntax spec        │\n│                              │         │  - Scenario patterns           │\n│  Claude reads the skill,     │         │  - Architecture patterns       │\n│  calls MCP tools as needed   │         │                                │\n└──────────────────────────────┘         └────────────────────────────────┘\n```\n\n- **SKILL.md** (local) contains the full conversational workflow — the question framework, document generation order, approval flow, QA review, and all rules. This is what makes the skill interactive and sequential.\n\n- **MCP server** (remote) serves the proprietary document templates, the rippl v2 language spec, scenario patterns, and architecture patterns. When Claude needs a template to generate a document, it calls the server and receives the content. The templates are never stored as files on your machine.\n\n**Why this matters:** You get the full interactive experience of the skill — the same conversational flow, the same document quality, the same QA review — without proprietary content being stored locally.\n\n---\n\n## Using the Skill\n\nAfter setup, start a new Claude Code conversation and type:\n\n```\n/goat-saas\n```\n\n### What the skill does\n\n**Phase 1 — Platform & Requirements Gathering:**\n- Asks which AI development platform you'll use (Replit or Claude Code)\n- Walks you through structured questions covering 8 areas: What, Who, Why, Workflows, When, Data, Tech, and Auth\n- If you say \"ASSUME\" or \"generate now,\" it makes logical assumptions and labels them clearly\n\n**Phase 2 — Sequential Document Generation:**\n- Generates 9 documents one at a time, in this order:\n\n```\nDocument 2: Application Summary\n   ↓ [You approve]\nDocument 3: Feature Requirements\n   ↓ [You approve]\nDocument 4: rippl Requirements (.rpl)\n   ↓ [You approve]\nDocument 5: Prototype Specification\n   ↓ [You approve]\nDocument 6: Technical Architecture\n   ↓ [You approve]\nDocument 7: Testing Framework\n   ↓ [You approve]\nDocument 8: Security & Compliance\n   ↓ [You approve]\nDocument 9: AI Development Instructions\n   ↓ [You approve]\nDocument 1: README (generated last, presented first)\n   ↓ [You approve]\nQA Review: Cross-document consistency check\n   ↓ [Findings presented, fixes applied]\n   ↓ [Complete — 9-document package delivered]\n```\n\n- After each document, you can request changes before approving\n- Optional Word (.docx) export is offered after each approval\n\n### Key features\n\n- **rippl v2 requirements files** — machine-readable `.rpl` files with user stories, test scenarios, and data models\n- **Prototype specification** — screen-by-screen blueprint with mock data, click-flows, and a client sign-off checklist\n- **Per-phase testing** — testing is continuous (written after every development phase), not deferred to the end\n- **Security & compliance** — every standard (HIPAA, GDPR, CCPA, SOC 2, PCI-DSS, FERPA, ADA/WCAG) explicitly addressed or marked N/A\n- **Terms of Service & Privacy** — ToS/Privacy pages and signup acceptance are standard in every generated app\n- **Mobile support** — Expo wrapper (default for web+mobile), Capacitor (alternative), or Expo + React Native (mobile-only)\n- **QA Review** — automated cross-document consistency and gap analysis before final delivery\n\n---\n\n## Environment Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `GOAT_SAAS_SERVER_URL` | `https://goat-saas-mcp-server.replit.app` | Override the MCP server URL. Use this for development, testing, or connecting to a custom deployment. |\n\nExample:\n\n```bash\nGOAT_SAAS_SERVER_URL=http://localhost:3001 npx @adaptec/goat-saas setup\n```\n\n---\n\n## API Key\n\nYour API key is:\n\n| Property | Detail |\n|----------|--------|\n| **Format** | `gs_<name>_<random>` (e.g., `gs_john_doe_a8f3c9e2d1b4`) |\n| **Scope** | Personal — tied to your identity |\n| **Expiry** | Time-limited — expires at the end of your course or subscription period |\n| **Rate limit** | Requests per hour (set by your administrator) |\n| **Storage** | Stored locally in `~/.claude/settings.json` under `mcpServers.goat-saas.headers.Authorization` |\n| **Transmission** | Sent only to `goat-saas-mcp-server.replit.app` over HTTPS |\n\n**If your key expires or stops working:**\n1. Check with your instructor or subscription provider for a replacement key\n2. Run `npx @adaptec/goat-saas setup` with the new key (it will overwrite the old configuration)\n\n---\n\n## Files Modified\n\nThe setup tool creates or modifies exactly two files:\n\n| File | What happens |\n|------|-------------|\n| `~/.claude/skills/goat-saas/SKILL.md` | **Created** on setup. **Overwritten** on update. **Deleted** on uninstall. Contains the skill conversation workflow (no proprietary templates). |\n| `~/.claude/settings.json` | **Modified** — a `goat-saas` entry is added under `mcpServers`. All existing settings, permissions, and other MCP servers are preserved. On uninstall, only the `goat-saas` entry is removed. |\n\nNo other files are created, modified, or deleted. The setup tool does not install global packages, modify your shell profile, or create background processes.\n\n---\n\n## Platform Compatibility\n\n| Platform | Supported | Notes |\n|----------|-----------|-------|\n| **macOS** | Yes | `~/.claude/` is in your home directory |\n| **Linux** | Yes | `~/.claude/` is in your home directory |\n| **Windows** | Yes | `~/.claude/` resolves to `C:\\Users\\<you>\\.claude\\` |\n| **WSL** | Yes | Automatically detected — `~/.claude` is symlinked to the Windows home directory so skills and settings are shared between WSL and Windows |\n| **Claude Code CLI** | Yes | Full support |\n| **Claude Code VS Code extension** | Yes | Full support — restart VS Code after setup |\n\n---\n\n## Troubleshooting\n\n### \"Could not verify API key\"\n\n- Double-check your API key for typos, extra spaces, or line breaks\n- Your key may have expired — contact your instructor or subscription provider\n- The server may be temporarily unavailable — wait a minute and retry\n\n### Skill not found (`/goat-saas` doesn't trigger)\n\n- **Restart Claude Code** — close and reopen VS Code, or restart the CLI\n- Verify the skill file exists:\n  ```bash\n  cat ~/.claude/skills/goat-saas/SKILL.md | head -5\n  ```\n  You should see the `---` frontmatter and `name: goat-saas`\n- If the file is missing, run `npx @adaptec/goat-saas setup` again\n\n### \"Connection failed\" during setup\n\n- Check your internet connection\n- Verify the server is reachable:\n  ```bash\n  curl https://goat-saas-mcp-server.replit.app/health\n  ```\n  You should see `{\"status\":\"ok\",\"server\":\"goat-saas-mcp\",\"version\":\"1.0.0\"}`\n- The server may be cold-starting (Replit autoscale) — wait 30 seconds and retry\n\n### Templates not loading during document generation\n\n- The MCP server connection may have dropped. Check it in Claude Code:\n  ```\n  /mcp\n  ```\n  Look for `goat-saas` in the server list and verify its status\n- Re-run setup to reconfigure:\n  ```bash\n  npx @adaptec/goat-saas setup\n  ```\n- Verify `~/.claude/settings.json` contains the MCP server entry:\n  ```json\n  {\n    \"mcpServers\": {\n      \"goat-saas\": {\n        \"type\": \"http\",\n        \"url\": \"https://goat-saas-mcp-server.replit.app/mcp\",\n        \"headers\": {\n          \"Authorization\": \"Bearer gs_your_key_here\"\n        }\n      }\n    }\n  }\n  ```\n\n### Update command says \"No goat-saas MCP server configured\"\n\n- The `update` command reads your API key from `~/.claude/settings.json`. If the config is missing, run `setup` first:\n  ```bash\n  npx @adaptec/goat-saas setup\n  ```\n\n### Claude generates documents but they're missing structure or feel generic\n\n- The MCP server may not be responding. Check connection:\n  ```bash\n  curl -H \"Authorization: Bearer gs_your_key_here\" \\\n    https://goat-saas-mcp-server.replit.app/skill-prompt | head -5\n  ```\n- If that returns an error, your key may be expired or rate-limited\n- Try generating again — Claude will retry MCP tool calls\n\n### WSL: skill not visible on Windows side\n\nIf you ran setup from WSL but Claude Code on Windows does not see the skill:\n\n- The setup tool auto-detects WSL and creates a symlink from `~/.claude` to `/mnt/c/Users/<you>/.claude`. Check if the symlink exists:\n  ```bash\n  ls -la ~/.claude\n  ```\n  You should see something like `~/.claude -> /mnt/c/Users/YourName/.claude`\n- If it is a regular directory instead of a symlink, back it up and re-run setup:\n  ```bash\n  mv ~/.claude ~/.claude.bak\n  npx @adaptec/goat-saas setup\n  ```\n- If auto-detection failed, create the symlink manually (see DISTRIBUTION.md for steps)\n\n### Windows-specific: path errors\n\n- The setup tool uses `os.homedir()` which resolves correctly on Windows\n- If you see path errors, verify Claude Code is installed and `%USERPROFILE%\\.claude\\` exists\n\n---\n\n## Frequently Asked Questions\n\n**Can I use the skill without the MCP server?**\nNo. The skill prompt (SKILL.md) contains the conversation workflow but not the document templates. The templates are served by the MCP server on demand. Without the server, Claude won't have the structure to generate documents correctly.\n\n**Can I use the skill on multiple machines?**\nYes. Run `npx @adaptec/goat-saas setup` on each machine with the same API key. The key is not locked to a single device.\n\n**Does the skill work offline?**\nNo. The MCP server must be reachable over the internet for template retrieval during document generation.\n\n**What happens when my API key expires?**\nThe skill will stop loading templates. You'll see errors during document generation. Get a new key from your instructor or subscription provider, then run `setup` again with the new key.\n\n**Can I see what data is sent to the server?**\nThe only data sent to the server is your API key (in the Authorization header) and the MCP tool call name (e.g., `get_document_template('app-summary')`). Your project details, conversations, and generated documents are never sent to the goat-saas server — those stay between you and Claude.\n\n**How do I check which version of the skill I have?**\n```bash\nhead -5 ~/.claude/skills/goat-saas/SKILL.md\n```\nThe frontmatter will show the skill name and description. To get the latest version:\n```bash\nnpx @adaptec/goat-saas update\n```\n\n---\n\n## License\n\nSee [LICENSE.md](LICENSE.md) for full terms. Summary:\n\n- The goat-saas skill, document templates, and rippl v2 language are proprietary to **Keno Mullings / Adaptec**\n- **Documents you generate are yours** — you own all deliverables and can use them without restriction\n- The rippl copyright header (`rippl v2.0 (c) 2025 Keno Mullings`) must be retained in all `.rpl` files\n- API keys are personal, non-transferable, and time-limited\n- Content served by the MCP server is licensed for real-time use only — do not extract, cache, or redistribute\n\n---\n\n## Support\n\nFor setup issues, API key problems, subscription management, or skill questions:\n\n**Keno Mullings / Adaptec**\ninfo@themullingsgroup.com\n","readmeFilename":"README.md"}