@rutvijsathe/ideate 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 ideate contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,117 @@
1
- # Temporary Holding Version
1
+ # /ideate
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ An evidence-backed idea validation skill for Claude Code. Takes you from blank page to a BUILD / NARROW / PIVOT / KILL verdict and scoped MVP — without opinion, flattery, or made-up data.
4
+
5
+ [![Version](https://img.shields.io/badge/version-0.1.0-blue)](CHANGELOG.md)
6
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
7
+ [![Stars](https://img.shields.io/github/stars/rutvij26/ideate?style=flat)](https://github.com/rutvij26/ideate/stargazers)
8
+
9
+ ## Why
10
+
11
+ Most ideation advice is vibes. /ideate forces every claim about demand, competitors, or pricing to have a source — or be labelled `ASSUMPTION`. It tries to kill your idea first, then validates what survives.
12
+
13
+ Works for founders, OSS devs, internal-tool builders, researchers, and learners. Works offline too (with honest confidence caps).
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ npx @rutvijsathe/ideate
19
+ ```
20
+
21
+ Works on Unix, macOS, and Windows. Re-run to update.
22
+
23
+ <details>
24
+ <summary>No Node? Use curl / PowerShell instead</summary>
25
+
26
+ **Unix / macOS**
27
+ ```bash
28
+ curl -fsSL https://raw.githubusercontent.com/rutvij26/ideate/main/install.sh | bash
29
+ ```
30
+
31
+ **Windows (PowerShell)**
32
+ ```powershell
33
+ irm https://raw.githubusercontent.com/rutvij26/ideate/main/install.ps1 | iex
34
+ ```
35
+
36
+ </details>
37
+
38
+ ## Quick Start
39
+
40
+ ```
41
+ /ideate
42
+ ```
43
+
44
+ That's it. The skill detects your intent and asks only what it needs.
45
+
46
+ **Or be explicit:**
47
+
48
+ | Command | What it does |
49
+ |---|---|
50
+ | `/ideate` | Auto-detect intent from context |
51
+ | `/ideate validate` | Score a specific idea against demand/competition |
52
+ | `/ideate ideate` | Generate ideas from pain signals |
53
+ | `/ideate compete` | Map competitors and find gaps |
54
+ | `/ideate scope` | Define MVP after a BUILD/NARROW verdict |
55
+ | `/ideate compare` | Score 2–4 ideas side-by-side |
56
+ | `/ideate full` | End-to-end pipeline with stage gates |
57
+
58
+ ## Sample Run (Offline Mode)
59
+
60
+ ```
61
+ > /ideate validate "a CLI tool that explains git diffs in plain English"
62
+
63
+ Goal type: Commercial
64
+
65
+ [OFFLINE MODE — no search tools available]
66
+ Confidence cap: LOW. All demand claims labelled ASSUMPTION.
67
+
68
+ --- ADVERSARIAL PASS ---
69
+ 1. GitHub Copilot and similar tools already explain code inline; users won't switch for a standalone CLI
70
+ 2. The addressable market is developers comfortable enough with git to use a CLI but confused by diffs — this overlap may be small
71
+ 3. ASSUMPTION: developers will pay for this vs using a free LLM wrapper
72
+
73
+ --- VERDICT ---
74
+ NARROW — LOW confidence
75
+ Weighted score: 3.2/5
76
+
77
+ What would change this: find 3 independent posts where developers express frustration with understanding git diffs despite using existing tools. Use search string: "git diff confusing site:reddit.com"
78
+
79
+ Files written: ideate/cli-git-diff-explainer/validation.md
80
+ ```
81
+
82
+ ## Philosophy
83
+
84
+ **Evidence > Opinion.** Every claim about demand, competitors, or pricing needs a source URL, a short quote, and a date — or it is labelled `ASSUMPTION`.
85
+
86
+ **Try to kill first.** The adversarial pass runs before any positive verdict. BUILD is only possible if the case for outweighs the case against.
87
+
88
+ **No flattery, no hedging.** Verdicts are BUILD / NARROW / PIVOT / KILL. Confidence is HIGH / MEDIUM / LOW. The cheapest next experiment always has a pass/fail threshold.
89
+
90
+ ## Output
91
+
92
+ All output is saved to `ideate/<slug>/` in your working directory. Each mode writes its own file:
93
+ - `brief.md` — idea summary
94
+ - `evidence.md` — evidence log with sources
95
+ - `validation.md` — full verdict with score breakdown
96
+ - `competitors.md` — competitive landscape
97
+ - `mvp.md` — MVP scope and handoff prompt
98
+ - `kill-debrief.md` — failure analysis and pivot hypotheses
99
+
100
+ ## User Config (Optional)
101
+
102
+ Copy the templates and fill them in:
103
+ ```bash
104
+ mkdir -p ~/.config/ideate
105
+ cp modes/_profile.template.md ~/.config/ideate/_profile.md
106
+ cp modes/_custom.template.md ~/.config/ideate/_custom.md
107
+ ```
108
+
109
+ These files are not tracked by git (`git clean` safe).
110
+
111
+ ## Contributing
112
+
113
+ See [CONTRIBUTING.md](CONTRIBUTING.md). All contributions welcome — new modes, new goal types, new evidence sources, eval cases.
114
+
115
+ ## License
116
+
117
+ MIT — see [LICENSE](LICENSE).
package/bin/install.js ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ const { execSync } = require('child_process');
5
+ const path = require('path');
6
+
7
+ const root = path.join(__dirname, '..');
8
+
9
+ try {
10
+ if (process.platform === 'win32') {
11
+ execSync(
12
+ `powershell -ExecutionPolicy Bypass -File "${path.join(root, 'install.ps1')}"`,
13
+ { stdio: 'inherit' }
14
+ );
15
+ } else {
16
+ execSync(`bash "${path.join(root, 'install.sh')}"`, { stdio: 'inherit' });
17
+ }
18
+ } catch (e) {
19
+ process.exit(e.status || 1);
20
+ }
package/install.ps1 ADDED
@@ -0,0 +1,43 @@
1
+ $Target = Join-Path $env:USERPROFILE ".claude\skills\ideate"
2
+ $Repo = "https://github.com/rutvij26/ideate"
3
+ $Branch = "main"
4
+
5
+ # ── Update path ────────────────────────────────────────────────────────────────
6
+ if (Test-Path (Join-Path $Target ".git")) {
7
+ Write-Host "/ideate is already installed at $Target"
8
+ $answer = Read-Host "Update to latest? [Y/n]"
9
+ if ($answer -match '^[nN]$') {
10
+ Write-Host "No changes made."
11
+ exit 0
12
+ }
13
+ Push-Location $Target
14
+ git pull --ff-only
15
+ Pop-Location
16
+ Write-Host "Updated. Restart Claude Code to pick up changes."
17
+ exit 0
18
+ }
19
+
20
+ # ── Fresh install ───────────────────────────────────────────────────────────────
21
+ if (Test-Path $Target) {
22
+ $answer = Read-Host "$Target already exists. Overwrite? [y/N]"
23
+ if ($answer -notmatch '^[yY]$') {
24
+ Write-Host "Install cancelled."
25
+ exit 0
26
+ }
27
+ Remove-Item -Recurse -Force $Target
28
+ }
29
+
30
+ if (Get-Command git -ErrorAction SilentlyContinue) {
31
+ git clone --depth=1 --branch $Branch $Repo $Target
32
+ } else {
33
+ Write-Host "git not found — downloading zip instead..."
34
+ $tmp = Join-Path $env:TEMP "ideate-install-$(Get-Random)"
35
+ New-Item -ItemType Directory -Force -Path $tmp | Out-Null
36
+ Invoke-WebRequest "$Repo/archive/refs/heads/$Branch.zip" -OutFile "$tmp\ideate.zip"
37
+ Expand-Archive "$tmp\ideate.zip" -DestinationPath $tmp -Force
38
+ Move-Item "$tmp\ideate-$Branch" $Target
39
+ Remove-Item -Recurse -Force $tmp
40
+ }
41
+
42
+ Write-Host ""
43
+ Write-Host "Done. Restart Claude Code and run /ideate to get started."
package/install.sh ADDED
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ TARGET="$HOME/.claude/skills/ideate"
5
+ REPO="https://github.com/rutvij26/ideate"
6
+ BRANCH="main"
7
+
8
+ # ── Update path ────────────────────────────────────────────────────────────────
9
+ if [ -d "$TARGET/.git" ]; then
10
+ echo "/ideate is already installed at $TARGET"
11
+ printf "Update to latest? [Y/n] "
12
+ read -r answer
13
+ case "${answer:-Y}" in
14
+ [nN]) echo "No changes made." && exit 0 ;;
15
+ *)
16
+ git -C "$TARGET" pull --ff-only
17
+ echo "Updated. Restart Claude Code to pick up changes."
18
+ exit 0
19
+ ;;
20
+ esac
21
+ fi
22
+
23
+ # ── Fresh install ───────────────────────────────────────────────────────────────
24
+ if [ -e "$TARGET" ]; then
25
+ printf "%s already exists. Overwrite? [y/N] " "$TARGET"
26
+ read -r answer
27
+ case "$answer" in
28
+ [yY]) rm -rf "$TARGET" ;;
29
+ *) echo "Install cancelled." && exit 0 ;;
30
+ esac
31
+ fi
32
+
33
+ if command -v git &>/dev/null; then
34
+ git clone --depth=1 --branch "$BRANCH" "$REPO" "$TARGET"
35
+ else
36
+ echo "git not found — downloading zip instead..."
37
+ TMP=$(mktemp -d)
38
+ trap 'rm -rf "$TMP"' EXIT
39
+ curl -fsSL "$REPO/archive/refs/heads/$BRANCH.zip" -o "$TMP/ideate.zip"
40
+ unzip -q "$TMP/ideate.zip" -d "$TMP"
41
+ mv "$TMP/ideate-$BRANCH" "$TARGET"
42
+ fi
43
+
44
+ echo ""
45
+ echo "Done. Restart Claude Code and run /ideate to get started."
package/package.json CHANGED
@@ -1,6 +1,23 @@
1
1
  {
2
2
  "name": "@rutvijsathe/ideate",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "Evidence-backed idea validation skill for Claude Code",
5
+ "bin": {
6
+ "ideate": "bin/install.js"
7
+ },
8
+ "keywords": ["claude", "claude-code", "skill", "ideate", "idea-validation"],
9
+ "author": "rutvij26",
10
+ "license": "MIT",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/rutvij26/ideate"
14
+ },
15
+ "engines": {
16
+ "node": ">=18"
17
+ },
18
+ "files": [
19
+ "bin/",
20
+ "install.sh",
21
+ "install.ps1"
22
+ ]
23
+ }