@lucasygu/yc-cli 0.1.0 → 0.2.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/README.md ADDED
@@ -0,0 +1,240 @@
1
+ # yc — CLI for YC Startup School, a16z Speedrun & South Park Commons
2
+
3
+ A CLI tool for managing your YC Startup School journey, submitting a16z Speedrun applications, and applying to South Park Commons — all from the terminal.
4
+
5
+ > ### Easiest way to get started
6
+ >
7
+ > Paste this to your AI coding agent (Claude Code, Cursor, Codex, Windsurf, OpenClaw, etc.):
8
+ >
9
+ > **"Install the `@lucasygu/yc-cli` tool via npm and run `yc whoami` to verify it works. Repo: https://github.com/lucasygu/yc-cli"**
10
+ >
11
+ > OpenClaw users can also run: **`clawhub install yc`**
12
+ >
13
+ > The agent will handle installation, verify the connection, and troubleshoot any cookie issues. Just make sure you're logged into [startupschool.org](https://www.startupschool.org/) in Chrome first.
14
+ >
15
+ > Once installed, try: **"Check my YC Startup School dashboard and submit this week's update"** — the agent will pull your streak, curriculum progress, and walk you through submitting.
16
+
17
+ ## Install
18
+
19
+ ```bash
20
+ npm install -g @lucasygu/yc-cli
21
+ # Or via ClawHub (OpenClaw ecosystem)
22
+ clawhub install yc
23
+ ```
24
+
25
+ Requires Node.js >= 22.
26
+
27
+ - **YC Startup School**: Uses cookies from your Chrome browser session — log into [startupschool.org](https://www.startupschool.org/) in Chrome first.
28
+ - **a16z Speedrun**: No authentication needed (public API).
29
+ - **South Park Commons**: Uses Playwright (headless Chromium) to fill Airtable forms — no auth needed.
30
+
31
+ After installing, run `yc whoami` to verify the connection. If macOS shows a Keychain prompt, click "Always Allow". The CLI auto-detects all Chrome profiles to find your YC session.
32
+
33
+ ## What You Can Do
34
+
35
+ - **Dashboard tracking** — Check your streak, curriculum progress, and weekly update status
36
+ - **Weekly updates** — Submit updates from the terminal (interactive or scripted)
37
+ - **Update history** — Review all past updates with metrics, morale, and goals
38
+ - **Speedrun applications** — Apply to a16z Speedrun with a JSON template or interactively
39
+ - **Deck upload** — Upload pitch deck PDFs for Speedrun applications
40
+ - **SPC applications** — Apply to South Park Commons Founder Fellowship or Community Membership via Playwright browser automation
41
+
42
+ When used through an AI agent, these workflows chain together automatically. Each CLI command also works standalone.
43
+
44
+ ## Quick Start
45
+
46
+ ```bash
47
+ # YC Startup School
48
+ yc whoami # Test connection, show user info
49
+ yc dashboard # Show streak, curriculum, weekly status
50
+ yc updates # List all weekly updates
51
+ yc show <id> # Show a single update in detail
52
+ yc new # Submit new weekly update (interactive)
53
+ yc new --metric 5 --morale 7 --talked-to 3 # Non-interactive
54
+
55
+ # a16z Speedrun
56
+ yc speedrun template # Generate JSON template
57
+ yc speedrun apply # Interactive application
58
+ yc speedrun apply --from-json app.json # Submit from JSON
59
+ yc speedrun apply --from-json app.json --dry-run # Validate only
60
+ yc speedrun upload-deck deck.pdf # Upload pitch deck
61
+
62
+ # South Park Commons
63
+ yc spc info # Show programs and form URLs
64
+ yc spc template # Generate JSON template (fellowship)
65
+ yc spc template --type membership # Community membership
66
+ yc spc apply # Interactive application
67
+ yc spc apply --from-json app.json # Fill from JSON
68
+ yc spc apply --from-json app.json --dry-run --headed # Visual preview
69
+ yc spc open # Open form in browser
70
+ ```
71
+
72
+ ## Commands
73
+
74
+ | Command | Description |
75
+ |---------|-------------|
76
+ | `whoami` | Test connection and show current user info |
77
+ | `dashboard` | Show streak, curriculum progress, and weekly update status |
78
+ | `updates` | List all weekly updates with metrics and morale |
79
+ | `show <id>` | Show a single update in full detail |
80
+ | `new` | Submit a new weekly update (interactive or with flags) |
81
+ | `speedrun template` | Generate a JSON template for a16z Speedrun application |
82
+ | `speedrun apply` | Submit a Speedrun application (interactive or from JSON) |
83
+ | `speedrun upload-deck <file>` | Upload a pitch deck PDF |
84
+ | `spc info` | Show SPC programs and form URLs |
85
+ | `spc template` | Generate a JSON template for SPC application |
86
+ | `spc apply` | Fill and submit SPC application via Playwright |
87
+ | `spc open` | Open SPC application form in browser |
88
+
89
+ ### Global Options (YC Startup School)
90
+
91
+ | Option | Description | Default |
92
+ |--------|-------------|---------|
93
+ | `--cookie-source <browser>` | Browser to read cookies from (chrome, safari, firefox) | `chrome` |
94
+ | `--chrome-profile <name>` | Chrome profile directory name (e.g., "Profile 1"). Auto-detected if omitted. | auto |
95
+ | `--json` | Output as JSON | `false` |
96
+
97
+ ### Weekly Update Options (`yc new`)
98
+
99
+ | Option | Description |
100
+ |--------|-------------|
101
+ | `--metric <value>` | Primary metric value (number) |
102
+ | `--morale <value>` | Morale 1-10 |
103
+ | `--talked-to <value>` | Users talked to (number) |
104
+ | `--change <text>` | What most improved your metric |
105
+ | `--blocker <text>` | Biggest obstacle |
106
+ | `--learned <text>` | What you learned from users |
107
+ | `--goal <goals...>` | Goals for next week (can specify multiple) |
108
+
109
+ ### Speedrun Options (`yc speedrun apply`)
110
+
111
+ | Option | Description |
112
+ |--------|-------------|
113
+ | `--from-json <file>` | Load application from a JSON file |
114
+ | `--dry-run` | Validate and show payload without submitting |
115
+
116
+ ### SPC Options (`yc spc apply`)
117
+
118
+ | Option | Description | Default |
119
+ |--------|-------------|---------|
120
+ | `--type <type>` | Form type: `fellowship` or `membership` | `fellowship` |
121
+ | `--from-json <file>` | Load application from JSON file | — |
122
+ | `--dry-run` | Fill form but do not submit | `false` |
123
+ | `--headed` | Show browser window (default: headless) | `false` |
124
+
125
+ ### Speedrun Categories
126
+
127
+ ```
128
+ B2B / Enterprise Applications
129
+ Consumer Applications
130
+ Deep Tech
131
+ Gaming / Entertainment Studio
132
+ Infrastructure / Dev Tools
133
+ Healthcare
134
+ GovTech
135
+ Web3
136
+ Other
137
+ ```
138
+
139
+ ### SPC Programs
140
+
141
+ | Program | Funding | Duration |
142
+ |---------|---------|----------|
143
+ | Founder Fellowship | $400K for 7% + $600K follow-on | Cohort-based (Spring/Fall) |
144
+ | Community Membership | No funding | Up to 6 months |
145
+
146
+ ## Troubleshooting
147
+
148
+ | Problem | Solution |
149
+ |---------|----------|
150
+ | `No session cookie found` | Log into startupschool.org in Chrome, then retry |
151
+ | macOS Keychain prompt | Enter your password and click "Always Allow" — the CLI needs to decrypt Chrome's cookies |
152
+ | Multiple Chrome profiles | The CLI auto-scans all profiles. To pick one: `--chrome-profile "Profile 1"` |
153
+ | Using Brave/Arc/other | Try `--cookie-source safari`, or log into startupschool.org in Chrome |
154
+ | Speedrun API error | No auth needed — check your internet connection |
155
+ | SPC form timeout | Airtable forms are heavy SPAs. Retry or use `--headed` to debug |
156
+
157
+ ## How It Works
158
+
159
+ **YC Startup School** — Reads your session cookies from Chrome (via [@steipete/sweet-cookie](https://github.com/steipete/sweet-cookie)), extracts the Rails CSRF token, then uses GraphQL for reads (`/graphql` endpoint) and Rails REST for writes (weekly update submission). No browser automation needed — just HTTP requests.
160
+
161
+ **a16z Speedrun** — Direct JSON API calls to Speedrun's public endpoint. No authentication, no signing, no cookies. Upload pitch decks via GCS signed URLs.
162
+
163
+ **South Park Commons** — SPC uses Airtable Interface forms (client-rendered SPAs). Since there's no public API, the CLI uses [Playwright](https://playwright.dev/) to navigate, fill, and submit the form programmatically. Supports headless and headed modes for preview before submission.
164
+
165
+ ## Workflows
166
+
167
+ ### Weekly Update Routine
168
+
169
+ ```bash
170
+ yc dashboard # Check streak and status
171
+ yc new # Submit this week's update
172
+ yc updates # Verify it's there
173
+ ```
174
+
175
+ ### Speedrun Application via AI Agent
176
+
177
+ ```bash
178
+ yc speedrun template > /tmp/speedrun-app.json # Generate template
179
+ # ... AI fills in the JSON with your details ...
180
+ yc speedrun apply --from-json /tmp/speedrun-app.json --dry-run # Validate
181
+ yc speedrun apply --from-json /tmp/speedrun-app.json # Submit
182
+ ```
183
+
184
+ ### SPC Application via AI Agent
185
+
186
+ ```bash
187
+ yc spc template > /tmp/spc-app.json # Generate template
188
+ # ... AI fills in the JSON with your details ...
189
+ yc spc apply --from-json /tmp/spc-app.json --dry-run --headed # Preview in browser
190
+ yc spc apply --from-json /tmp/spc-app.json # Submit
191
+ ```
192
+
193
+ ## AI Agent Integration
194
+
195
+ ### Claude Code
196
+
197
+ Installs automatically as a Claude Code skill. Use `/yc` in Claude Code:
198
+
199
+ ```
200
+ /yc whoami # Test connection
201
+ /yc dashboard # Check streak
202
+ /yc new # Submit weekly update
203
+ /yc speedrun apply # Apply to a16z Speedrun
204
+ /yc spc apply # Apply to SPC
205
+ ```
206
+
207
+ You can give natural language instructions for complex tasks:
208
+
209
+ - *"Check my Startup School dashboard and tell me if I need to submit this week"*
210
+ - *"Submit my weekly update — metric is 15, morale is 8, talked to 5 users"*
211
+ - *"Help me apply to a16z Speedrun with my startup details"*
212
+ - *"Fill out an SPC Founder Fellowship application for me"*
213
+
214
+ Claude will automatically generate templates, fill in your details, validate, and submit.
215
+
216
+ ### OpenClaw / ClawHub
217
+
218
+ Officially supports [OpenClaw](https://openclaw.ai) and [ClawHub](https://docs.openclaw.ai/tools/clawhub). Install via ClawHub:
219
+
220
+ ```bash
221
+ clawhub install yc
222
+ ```
223
+
224
+ All `yc` commands are available in OpenClaw after installation. The SKILL.md is compatible with both Claude Code and OpenClaw ecosystems.
225
+
226
+ ## Authentication
227
+
228
+ | Platform | Method | Setup |
229
+ |----------|--------|-------|
230
+ | YC Startup School | Chrome session cookies | Log into startupschool.org in Chrome |
231
+ | a16z Speedrun | None (public API) | — |
232
+ | South Park Commons | Playwright (headless browser) | — |
233
+
234
+ ## Disclaimer
235
+
236
+ This tool uses unofficial APIs for YC Startup School. YC may change or block these APIs at any time. The a16z Speedrun API is public. SPC uses Playwright to fill Airtable forms. Use responsibly and at your own risk. This project is not affiliated with Y Combinator, a16z, or South Park Commons.
237
+
238
+ ## License
239
+
240
+ MIT
package/SKILL.md CHANGED
@@ -1,8 +1,8 @@
1
1
  ---
2
- description: Manage Y Combinator Startup School from the terminal — weekly updates, dashboard, progress tracking
2
+ description: CLI for YC Startup School, a16z Speedrun, and South Park Commons — weekly updates, dashboard, applications
3
3
  allowed-tools: Bash, Read, Write
4
4
  name: yc
5
- version: 0.1.0
5
+ version: 0.2.0
6
6
  metadata:
7
7
  openclaw:
8
8
  requires:
@@ -17,31 +17,53 @@ metadata:
17
17
  tags:
18
18
  - ycombinator
19
19
  - startup-school
20
+ - a16z
21
+ - speedrun
22
+ - south-park-commons
23
+ - spc
20
24
  - productivity
21
25
  ---
22
26
 
23
- # YC CLI — Y Combinator Startup School
27
+ # YC CLI — YC Startup School, a16z Speedrun, and South Park Commons
24
28
 
25
- CLI tool for managing your YC Startup School journey. Submit weekly updates, track your streak, and view your dashboard — all from the terminal.
29
+ CLI tool for managing your YC Startup School journey, submitting a16z Speedrun applications, and applying to South Park Commons — all from the terminal.
26
30
 
27
31
  ## Prerequisites
28
32
 
29
33
  - Node.js 22+
30
- - Logged into [startupschool.org](https://www.startupschool.org/) in Chrome
31
- - macOS (for cookie extraction from Chrome Keychain)
34
+ - For YC commands: Logged into [startupschool.org](https://www.startupschool.org/) in Chrome, macOS
35
+ - For Speedrun commands: No auth required (public API)
36
+ - For SPC commands: Chrome browser (for form auto-fill via Chrome automation)
32
37
 
33
38
  ## Quick Reference
34
39
 
35
40
  ```bash
41
+ # YC Startup School
36
42
  yc whoami # Test connection, show user info
37
43
  yc dashboard # Show streak, curriculum, weekly status
38
44
  yc updates # List all weekly updates
39
45
  yc show <id> # Show a single update in detail
40
46
  yc new # Submit new weekly update (interactive)
41
47
  yc new --metric 5 --morale 7 --talked-to 3 # Non-interactive
48
+
49
+ # a16z Speedrun
50
+ yc speedrun template # Generate JSON template
51
+ yc speedrun apply # Interactive application
52
+ yc speedrun apply --from-json app.json # Submit from JSON file
53
+ yc speedrun apply --from-json app.json --dry-run # Validate without submitting
54
+ yc speedrun upload-deck deck.pdf # Upload pitch deck
55
+
56
+ # South Park Commons
57
+ yc spc info # Show form URLs and program details
58
+ yc spc template # Generate JSON template (fellowship)
59
+ yc spc template --type membership # Template for community membership
60
+ yc spc apply # Interactive application
61
+ yc spc apply --from-json app.json # Fill from JSON file
62
+ yc spc apply --from-json app.json --dry-run --headed # Preview
63
+ yc spc open # Open form in browser
42
64
  ```
43
65
 
44
- ## Commands
66
+ ## YC Startup School Commands
45
67
 
46
68
  ### `yc whoami`
47
69
  Test your connection and display user info (name, track, slug).
@@ -81,9 +103,53 @@ yc new \
81
103
  --goal "Set up analytics"
82
104
  ```
83
105
 
106
+ ## a16z Speedrun Commands
107
+
108
+ ### `yc speedrun template`
109
+ Generate a JSON template for a Speedrun application. Save it, fill in your details, then submit with `--from-json`.
110
+
111
+ ### `yc speedrun apply`
112
+ Submit a Speedrun application. Two modes:
113
+
114
+ **Interactive mode** (prompts for all fields):
115
+ ```bash
116
+ yc speedrun apply
117
+ ```
118
+
119
+ **From JSON file** (for automation / repeat submissions):
120
+ ```bash
121
+ # Generate template, edit it, submit
122
+ yc speedrun template > my-app.json
123
+ # ... edit my-app.json with your details ...
124
+ yc speedrun apply --from-json my-app.json
125
+
126
+ # Dry run first to validate
127
+ yc speedrun apply --from-json my-app.json --dry-run
128
+ ```
129
+
130
+ ### `yc speedrun upload-deck <file>`
131
+ Upload a pitch deck PDF and get the GCS URL to include in your application.
132
+
133
+ ```bash
134
+ yc speedrun upload-deck pitch.pdf
135
+ ```
136
+
137
+ ### Speedrun Categories
138
+ ```
139
+ B2B / Enterprise Applications
140
+ Consumer Applications
141
+ Deep Tech
142
+ Gaming / Entertainment Studio
143
+ Infrastructure / Dev Tools
144
+ Healthcare
145
+ GovTech
146
+ Web3
147
+ Other
148
+ ```
149
+
84
150
  ## Global Options
85
151
 
86
- All commands support:
152
+ YC Startup School commands support:
87
153
  - `--cookie-source <browser>` — Browser to read cookies from (chrome, safari, firefox). Default: chrome
88
154
  - `--chrome-profile <name>` — Specific Chrome profile directory name
89
155
  - `--json` — Output raw JSON (for scripting)
@@ -92,29 +158,89 @@ All commands support:
92
158
 
93
159
  ### Weekly Update Routine
94
160
  ```bash
95
- # Check if this week's update is submitted
96
- yc dashboard
161
+ yc dashboard # Check status
162
+ yc new # Submit if needed
163
+ yc updates # Verify
164
+ ```
97
165
 
98
- # If not, submit it
99
- yc new
166
+ ### Speedrun Application via Claude Code
167
+ When the user asks to apply to a16z Speedrun, generate a JSON template, fill it with their info, and submit:
168
+ ```bash
169
+ yc speedrun template > /tmp/speedrun-app.json
170
+ # ... Claude fills in the JSON ...
171
+ yc speedrun apply --from-json /tmp/speedrun-app.json --dry-run # Validate first
172
+ yc speedrun apply --from-json /tmp/speedrun-app.json # Submit
173
+ ```
174
+
175
+ ## South Park Commons Commands
176
+
177
+ SPC uses Airtable Interface forms. The CLI fills and submits via Playwright (headless Chromium).
100
178
 
101
- # Verify it shows up
102
- yc updates
179
+ ### `yc spc info`
180
+ Show available SPC programs and their Airtable form URLs.
181
+
182
+ ### `yc spc template`
183
+ Generate a JSON template for an SPC application.
184
+
185
+ ```bash
186
+ yc spc template # Founder Fellowship (default)
187
+ yc spc template --type membership # Community Membership
103
188
  ```
104
189
 
105
- ### Automation with Claude Code
106
- When the user asks to submit their weekly update, use the `yc new` command with flags:
190
+ ### `yc spc apply`
191
+ Fill and submit an SPC application via Playwright (headless browser).
192
+
107
193
  ```bash
108
- yc new --metric <value> --morale <1-10> --talked-to <count> \
109
- --change "summary" --blocker "obstacle" --goal "goal1" --goal "goal2"
194
+ yc spc apply # Interactive
195
+ yc spc apply --from-json my-app.json # From JSON file
196
+ yc spc apply --from-json my-app.json --dry-run # Fill but don't submit
197
+ yc spc apply --from-json my-app.json --headed # Show browser window
198
+ yc spc apply --from-json my-app.json --dry-run --headed # Visual review
110
199
  ```
111
200
 
112
- ## Authentication
201
+ ### `yc spc open`
202
+ Open the SPC application form in your default browser.
203
+
204
+ ```bash
205
+ yc spc open # Founder Fellowship
206
+ yc spc open --type membership # Community Membership
207
+ ```
208
+
209
+ ### SPC Programs
210
+
211
+ | Program | Funding | Duration |
212
+ |---------|---------|----------|
213
+ | Founder Fellowship | $400K for 7% + $600K follow-on | Cohort-based (Spring/Fall) |
214
+ | Community Membership | No funding | Up to 6 months |
215
+
216
+ ## Workflows
113
217
 
114
- YC CLI extracts session cookies directly from your browser — no API keys or tokens needed. Just log in to startupschool.org in Chrome and the CLI handles the rest.
218
+ ### Weekly Update Routine
219
+ ```bash
220
+ yc dashboard # Check status
221
+ yc new # Submit if needed
222
+ yc updates # Verify
223
+ ```
224
+
225
+ ### Speedrun Application via Claude Code
226
+ When the user asks to apply to a16z Speedrun, generate a JSON template, fill it with their info, and submit:
227
+ ```bash
228
+ yc speedrun template > /tmp/speedrun-app.json
229
+ # ... Claude fills in the JSON ...
230
+ yc speedrun apply --from-json /tmp/speedrun-app.json --dry-run # Validate first
231
+ yc speedrun apply --from-json /tmp/speedrun-app.json # Submit
232
+ ```
233
+
234
+ ### SPC Application via Claude Code
235
+ ```bash
236
+ yc spc template > /tmp/spc-app.json # Generate template
237
+ # ... Claude fills in the JSON ...
238
+ yc spc apply --from-json /tmp/spc-app.json --dry-run --headed # Preview in browser
239
+ yc spc apply --from-json /tmp/spc-app.json # Submit
240
+ ```
241
+
242
+ ## Authentication
115
243
 
116
- If you get authentication errors:
117
- 1. Open Chrome and visit https://www.startupschool.org/
118
- 2. Make sure you're logged in (can see dashboard)
119
- 3. Try running `yc whoami` again
120
- 4. If still failing, log out and back in to refresh your session
244
+ - **YC Startup School**: Extracts session cookies from Chrome — log in at startupschool.org first.
245
+ - **a16z Speedrun**: No authentication needed. The API is public.
246
+ - **South Park Commons**: No auth needed. Uses Playwright (headless Chromium) to fill Airtable forms.
package/dist/cli.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * yc — CLI for Y Combinator Startup School
3
+ * yc — CLI for Y Combinator Startup School, a16z Speedrun, and SPC
4
4
  *
5
- * Submit weekly updates, track your streak, manage your YC journey
6
- * from the terminal. Cookie-based auth from your browser session.
5
+ * Submit weekly updates, track your streak, manage your YC journey,
6
+ * apply to a16z Speedrun and South Park Commons — all from the terminal.
7
7
  */
8
8
  export {};
9
9
  //# sourceMappingURL=cli.d.ts.map