loopshouse 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.
Files changed (4) hide show
  1. package/README.md +161 -0
  2. package/SKILL.md +158 -0
  3. package/dist/loops.js +59836 -0
  4. package/package.json +31 -0
package/README.md ADDED
@@ -0,0 +1,161 @@
1
+ # loopshouse
2
+
3
+ CLI and MCP server for [Loops House](https://loops.house) — manage hackathon projects, brainstorm with AI, and submit from your terminal or AI agent.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ # Run directly (no install)
9
+ npx loopshouse auth login
10
+
11
+ # Or install globally
12
+ npm i -g loopshouse
13
+ loops auth login
14
+ ```
15
+
16
+ ## Authentication
17
+
18
+ The CLI uses browser-based OAuth (Google or GitHub) via Supabase PKCE. Tokens are stored at `~/.loops/credentials.json` and auto-refresh on use.
19
+
20
+ ```bash
21
+ # Log in (opens browser)
22
+ loops auth login
23
+ loops auth login --provider github
24
+
25
+ # Check status
26
+ loops auth status
27
+
28
+ # Log out
29
+ loops auth logout
30
+ ```
31
+
32
+ ## Commands
33
+
34
+ ### Projects
35
+
36
+ ```bash
37
+ # List your projects
38
+ loops project list
39
+
40
+ # Create a project
41
+ loops project create --name "My DeFi App" --description "On-chain analytics tool"
42
+
43
+ # Create with full details
44
+ loops project create \
45
+ --name "My App" \
46
+ --description "Description" \
47
+ --githubUrl https://github.com/user/repo \
48
+ --techStack "React,Solidity,IPFS" \
49
+ --category DeFi
50
+
51
+ # Update a project
52
+ loops project update --id <project-id> --name "New Name" --techStack "React,Rust"
53
+ ```
54
+
55
+ ### Hackathons
56
+
57
+ ```bash
58
+ # List hackathons accepting submissions
59
+ loops hackathon list
60
+
61
+ # List all hackathons (including past)
62
+ loops hackathon list --all
63
+
64
+ # AI-powered ideation for a hackathon
65
+ loops hackathon ideate -h <hackathon-id> -m "I want to build something with AI and blockchain"
66
+
67
+ # Ideate with your project context
68
+ loops hackathon ideate -h <hackathon-id> -p <project-id> -m "How does my project fit?"
69
+
70
+ # Submit to a hackathon
71
+ loops hackathon submit -h <hackathon-id> -p <project-id>
72
+ ```
73
+
74
+ ## MCP Server (AI Agent Integration)
75
+
76
+ Use the Loops CLI as an MCP tool server in Claude Code, Cursor, Windsurf, or any MCP-compatible agent.
77
+
78
+ ### Claude Code
79
+
80
+ ```bash
81
+ # Auto-configure
82
+ loops mcp add
83
+
84
+ # Or manually — add to .mcp.json in your project root:
85
+ ```
86
+
87
+ ```json
88
+ {
89
+ "mcpServers": {
90
+ "loops": {
91
+ "command": "npx",
92
+ "args": ["loopshouse", "--mcp"]
93
+ }
94
+ }
95
+ }
96
+ ```
97
+
98
+ ### Cursor / Windsurf
99
+
100
+ Add to your MCP settings:
101
+
102
+ ```json
103
+ {
104
+ "mcpServers": {
105
+ "loops": {
106
+ "command": "npx",
107
+ "args": ["loopshouse", "--mcp"]
108
+ }
109
+ }
110
+ }
111
+ ```
112
+
113
+ ### Available MCP Tools
114
+
115
+ | Tool | Description |
116
+ |------|-------------|
117
+ | `auth_login` | Authenticate via browser OAuth |
118
+ | `auth_status` | Check authentication status |
119
+ | `auth_logout` | Clear stored credentials |
120
+ | `project_list` | List your projects |
121
+ | `project_create` | Create a new project |
122
+ | `project_update` | Update project details |
123
+ | `hackathon_list` | Browse open hackathons |
124
+ | `hackathon_ideate` | AI brainstorming for a hackathon |
125
+ | `hackathon_submit` | Submit a project to a hackathon |
126
+
127
+ ### Example Agent Usage
128
+
129
+ Once configured, your AI agent can:
130
+
131
+ > "List my Loops House projects"
132
+ > "Submit my project to the Shanghai hackathon"
133
+ > "Help me brainstorm ideas for the upcoming hackathon"
134
+
135
+ The agent calls the MCP tools automatically — no manual CLI commands needed.
136
+
137
+ ## Environment Variables
138
+
139
+ | Variable | Default | Description |
140
+ |----------|---------|-------------|
141
+ | `LOOPS_PLATFORM_URL` | `https://loops.house` | Override the platform API URL (for local dev) |
142
+
143
+ ## Development
144
+
145
+ ```bash
146
+ # Clone and install
147
+ cd skill && bun install
148
+
149
+ # Run in dev mode
150
+ bun run dev -- auth status
151
+
152
+ # Build for npm
153
+ bun run build
154
+
155
+ # Test compiled output
156
+ node dist/loops.js --help
157
+ ```
158
+
159
+ ## License
160
+
161
+ MIT
package/SKILL.md ADDED
@@ -0,0 +1,158 @@
1
+ ---
2
+ name: loops-cli
3
+ description: Loops House CLI for managing hackathon projects, browsing hackathons, AI-powered ideation, and submission — from the terminal or as an AI agent tool. Use when building projects for hackathons, submitting to hackathons, ideating project ideas, or managing Loops House projects programmatically. Triggers on "loops", "hackathon", "submit project", "ideate", "Loops House".
4
+ ---
5
+
6
+ # Loops House CLI
7
+
8
+ Manage the full hackathon builder lifecycle from terminal or AI agent.
9
+
10
+ ## Prerequisites
11
+
12
+ ```bash
13
+ # No install needed — use npx:
14
+ npx loopshouse auth login
15
+
16
+ # Or install globally:
17
+ npm i -g loopshouse
18
+ loops auth login
19
+
20
+ # For local dev, override the platform URL:
21
+ export LOOPS_PLATFORM_URL="http://localhost:3000"
22
+ ```
23
+
24
+ ## Authentication
25
+
26
+ ```bash
27
+ loops auth login # Browser OAuth (Google/GitHub) → saves to ~/.loops/credentials.json
28
+ loops auth status # Check current session
29
+ loops auth logout # Clear stored credentials
30
+ ```
31
+
32
+ All commands below require authentication.
33
+
34
+ ## Core Workflow
35
+
36
+ ### 1. Browse open hackathons
37
+
38
+ ```bash
39
+ loops hackathon list # Shows building + upcoming hackathons only
40
+ loops hackathon list --all # Include judging/completed/finalized
41
+ ```
42
+
43
+ Output includes: id, name, theme, phase, problem_statements, dates.
44
+
45
+ ### 2. Create or update a project
46
+
47
+ ```bash
48
+ # Create (minimal)
49
+ loops project create --name "My DApp" --description "On-chain analytics"
50
+
51
+ # Create (full)
52
+ loops project create \
53
+ --name "My DApp" \
54
+ --description "On-chain analytics dashboard" \
55
+ --tagline "Real-time DeFi insights" \
56
+ --category "DeFi" \
57
+ --githubUrl https://github.com/user/repo \
58
+ --youtubeUrl https://youtube.com/watch?v=demo \
59
+ --websiteUrl https://mydapp.xyz \
60
+ --logoUrl https://mydapp.xyz/logo.png \
61
+ --techStack "React,Solidity,The Graph,IPFS" \
62
+ --keyFeatures "On-chain analytics,Real-time alerts,Portfolio tracking" \
63
+ --screenshotUrls "https://i.imgur.com/a.png,https://i.imgur.com/b.png" \
64
+ --additionalLinks '[{"label":"Docs","url":"https://docs.mydapp.xyz"}]' \
65
+ --socialLinks '[{"label":"Twitter","url":"https://twitter.com/mydapp"}]'
66
+
67
+ # Update
68
+ loops project update --id <project-id> --description "Updated desc" --techStack "React,Rust,WASM"
69
+
70
+ # List your projects
71
+ loops project list
72
+ ```
73
+
74
+ **Create/Update fields:**
75
+
76
+ | Flag | Description | Format |
77
+ |------|-------------|--------|
78
+ | `--name` | Project name | string |
79
+ | `--description` | Full description | string |
80
+ | `--tagline` | Short tagline | string |
81
+ | `--category` | Category (DeFi, NFT, DAO, etc.) | string |
82
+ | `--githubUrl` | GitHub repo URL | URL |
83
+ | `--youtubeUrl` | YouTube demo URL | URL |
84
+ | `--websiteUrl` | Project website | URL |
85
+ | `--logoUrl` | Logo image URL | URL |
86
+ | `--techStack` | Tech stack | comma-separated |
87
+ | `--keyFeatures` | Key features | comma-separated |
88
+ | `--screenshotUrls` | Screenshot URLs | comma-separated |
89
+ | `--additionalLinks` | Extra links | JSON `[{label,url}]` |
90
+ | `--socialLinks` | Social links | JSON `[{label,url}]` |
91
+ | `--teamId` | Team ID (create only) | UUID |
92
+ | `--hackathonId` | Hackathon ID (create only) | UUID |
93
+
94
+ ### 3. Ideate with AI mentor
95
+
96
+ Brainstorm project ideas for a specific hackathon. The AI mentor knows the hackathon's problem statements, theme, and sponsor tracks. Pass `--projectId` to include your project details for contextual feedback on alignment and progress.
97
+
98
+ ```bash
99
+ # General ideation
100
+ loops hackathon ideate \
101
+ --hackathonId <hackathon-id> \
102
+ --message "I want to build something with AI and blockchain"
103
+
104
+ # Ideation with project context (recommended)
105
+ loops hackathon ideate \
106
+ --hackathonId <hackathon-id> \
107
+ --projectId <project-id> \
108
+ --message "How does my project align with this hackathon?"
109
+ ```
110
+
111
+ For multi-turn conversations, pass prior history as JSON:
112
+
113
+ ```bash
114
+ loops hackathon ideate \
115
+ --hackathonId <id> \
116
+ --projectId <project-id> \
117
+ --message "What about a decentralized identity solution?" \
118
+ --history '[{"role":"user","content":"I want to build with AI"},{"role":"assistant","content":"Great! Consider..."}]'
119
+ ```
120
+
121
+ ### 4. Submit to hackathon
122
+
123
+ ```bash
124
+ loops hackathon submit \
125
+ --hackathonId <hackathon-id> \
126
+ --projectId <project-id>
127
+ ```
128
+
129
+ Phase-gated: only works during the `building` phase (between start_date and submission_deadline). Team ID is auto-resolved from the project.
130
+
131
+ ## MCP Mode
132
+
133
+ Register as an MCP server for AI agent integration:
134
+
135
+ ```bash
136
+ loops mcp add
137
+ loops --mcp # Start as MCP stdio server
138
+ ```
139
+
140
+ ## Aliases
141
+
142
+ | Long flag | Short |
143
+ |-----------|-------|
144
+ | `--name` | `-n` |
145
+ | `--description` | `-d` |
146
+ | `--githubUrl` | `-g` |
147
+ | `--hackathonId` | `-h` |
148
+ | `--projectId` | `-p` |
149
+ | `--message` | `-m` |
150
+ | `--teamId` | `-t` |
151
+ | `--id` (update) | `-i` |
152
+
153
+ ## Architecture
154
+
155
+ - **Auth**: Supabase PKCE OAuth flow, tokens stored at `~/.loops/credentials.json`, auto-refreshed on use
156
+ - **Data commands** (list, create, update, submit): Direct Supabase client queries with user RLS context
157
+ - **AI commands** (ideate): Call platform API route (`/api/builder-agents/project-ideator`) with Bearer token auth, optionally including project snapshot for contextual feedback
158
+ - **Framework**: Built with [incur](https://github.com/nichochar/incur) — typed CLI + MCP + skill generation