Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Attio Webhook URL for job applications
# Get this from: Attio → Settings → Automations → Webhooks
ATTIO_WEBHOOK_URL=https://hooks.attio.com/w/YOUR-WEBHOOK-ID-HERE
153 changes: 153 additions & 0 deletions CLAUDE-SKILL-GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
# Root Ventures Application - Claude Skill

I've converted the MCP server into a Claude skill! This is simpler and better integrated with Claude CLI.

## ✅ What's Installed

The skill is now installed at: `~/.claude/skills/root-ventures-apply/`

## How to Use It

### Option 1: Natural Conversation (Recommended)

Just chat with Claude in your terminal:

```bash
claude
```

Then say:
```
I want to apply to Root Ventures
```

Claude will:
1. Tell you about the position
2. Collect your information naturally through conversation
3. Submit your application to Attio
4. Confirm submission

### Option 2: Direct Command

Or invoke it directly from bash:

```bash
~/.claude/skills/root-ventures-apply/apply.sh \
--name "Your Name" \
--email "your@email.com" \
--linkedin "https://linkedin.com/in/yourprofile" \
--github "yourgithub" \
--notes "Why you're interested"
```

## What Gets Submitted to Attio

The skill sends:
- `name` (required)
- `email` (required)
- `linkedin` (optional)
- `github` (optional)
- `notes` (optional)
- `position`: "Venture Capital Associate"
- `source`: "Claude Skill"

## Testing

I've already tested it successfully! Check Attio for the entry:
- Name: "Test Skill User"
- Email: skill-test@example.com
- Source: "Claude Skill"

## Example Conversation

```
You: I'd like to apply to Root Ventures. I'm Jane Doe (jane@example.com),
GitHub is janedoe. I'm excited about deep tech because I've been
building hardware projects for years.

Claude: [Collects info and uses the skill]

✅ Application submitted successfully!

Thank you for applying, Jane Doe!

What happens next:
• The team will review your application
• If there's a good fit, someone will reach out
• Check out our portfolio at https://root.vc

🚀 Applied via Claude Skill - extra points for technical creativity!
```

## Advantages Over MCP

✅ **Simpler** - No Node.js version conflicts
✅ **More reliable** - Direct bash script, fewer dependencies
✅ **Better integrated** - Works seamlessly with Claude CLI
✅ **Easier to debug** - Simple curl commands, clear error messages
✅ **Portable** - Can be shared as a simple bash script

## Sharing with Candidates

You can share the skill in multiple ways:

### Method 1: Install Script
Create an install script candidates can run:

```bash
curl -fsSL https://raw.githubusercontent.com/rootvc/cli-website/main/install-skill.sh | bash
```

### Method 2: Manual Installation
Candidates can copy the skill directory to `~/.claude/skills/root-ventures-apply/`

### Method 3: Include in Job Posting
```markdown
## How to Apply

**For Claude CLI users:**
Install our Claude skill and apply through conversation:
[Installation instructions]

**Other options:**
- Web Terminal: https://root.vc (type `apply 1`)
- Email: hello@root.vc
```

## Files Created

```
~/.claude/skills/root-ventures-apply/
├── skill.json # Skill metadata
├── apply.sh # Main application script
├── prompt.txt # Instructions for Claude
└── README.md # Documentation
```

## Next Steps

1. ✅ Skill is installed and tested
2. **Test it yourself**: Open Claude CLI and say "apply to root ventures"
3. **Create install script** for candidates (if you want to share it)
4. **Update job postings** to mention the Claude skill option

## Troubleshooting

If the skill doesn't work:

1. **Check it's executable:**
```bash
ls -la ~/.claude/skills/root-ventures-apply/apply.sh
```

2. **Test directly:**
```bash
~/.claude/skills/root-ventures-apply/apply.sh --name "Test" --email "test@example.com"
```

3. **Check Claude can find it:**
```bash
ls ~/.claude/skills/
```

The skill is now ready to use! Much simpler than the MCP server and actually submits to Attio successfully.
148 changes: 148 additions & 0 deletions DEPLOYMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# CLI Website with Interactive Applications

This fork of the Root VC CLI website adds an interactive job application flow that submits directly to Attio.

## What's New

### Features Added:
1. **Interactive Application Flow**: Candidates can now apply directly in the terminal using the `apply` command
2. **Job Listings**: Added a Venture Capital Associate position (in `config/jobs.js`)
3. **Netlify Functions**: Backend function to proxy Attio API calls
4. **Terminal Input Collection**: New `collectInput()` helper for interactive data entry

## Testing Locally

The dev server should already be running on http://localhost:8888

Try these commands in the terminal:
- `jobs` - See open positions
- `fg 1` - View the Associate role details
- `apply 1` - Start the interactive application process

## How It Works

1. User types `apply 1` in the terminal
2. Terminal prompts for:
- Name (required)
- Email (required)
- LinkedIn URL (optional)
- GitHub username (optional)
- Why Root / notes (optional)
3. Data is submitted to `/.netlify/functions/submit-application`
4. Netlify function forwards to Attio webhook
5. Success/error message shown to user

## File Changes

### New Files:
- `netlify/functions/submit-application.js` - Proxies to Attio API
- `netlify.toml` - Netlify configuration
- `DEPLOYMENT.md` - This file

### Modified Files:
- `config/jobs.js` - Added Associate position
- `config/commands.js` - Updated `jobs` and `apply` commands
- `js/terminal-ext.js` - Added `collectInput()` helper

## Deployment to Production

### Option 1: Deploy to Netlify (Recommended)

1. Push this repo to GitHub:
```bash
cd /Users/avidan/Development/cli-website-fork
git remote set-url origin <your-new-repo-url>
git add .
git commit -m "Add interactive job application flow"
git push origin main
```

2. Connect to Netlify:
- Go to https://app.netlify.com
- Click "Add new site" → "Import an existing project"
- Connect your GitHub repo
- Build settings should auto-detect from netlify.toml
- Deploy!

3. The site will be live at `https://your-site-name.netlify.app`

### Option 2: Deploy to Root.vc Domain

If you want this on the main root.vc site:

1. Update the existing root.vc repo with these changes
2. Netlify will auto-deploy on push (already configured)

## Security Considerations

### Current Setup:
- Attio webhook URL is hardcoded in the Netlify function
- This is okay since the webhook is designed to be public

### For Production (Optional):
You could move the Attio webhook to an environment variable:

1. In `netlify/functions/submit-application.js`, replace the URL with:
```javascript
const attioWebhook = process.env.ATTIO_WEBHOOK_URL;
```

2. Add to Netlify environment variables:
- Go to Site settings → Environment variables
- Add `ATTIO_WEBHOOK_URL` = `https://hooks.attio.com/w/...`

## Customization

### Adding More Job Positions:

Edit `config/jobs.js`:
```javascript
const jobs = {
1: ["Role Title", "Description line 1", "Description line 2", ...],
2: ["Another Role", "Description", ...],
};
```

### Changing Application Fields:

Edit the `apply` command in `config/commands.js` to add/remove fields using `term.collectInput()`.

### Modifying the Terminal Style:

- Colors: Edit `colorText()` function in `js/terminal.js`
- Prompts: Edit welcome messages in `js/terminal-ext.js`
- ASCII art: Add images to `images/` and reference in `config/team.js` or `config/portfolio.js`

## Testing the Flow

Open http://localhost:8888 in your browser and try:

```bash
> help
> jobs
> fg 1
> apply 1
```

Follow the prompts and submit. Check your Attio to confirm the entry was created.

## Troubleshooting

**Functions not working locally?**
- Make sure you ran `npm start` (not just `npm run build`)
- Netlify CLI should show functions being served

**Application submissions failing?**
- Check browser console for errors
- Verify Attio webhook URL is correct
- Test the webhook directly with curl:
```bash
curl -X POST https://hooks.attio.com/w/... \
-H "Content-Type: application/json" \
-d '{"name":"Test","email":"test@example.com"}'
```

**Terminal not responding?**
- Try `clear` command to reset
- Refresh the page
- Check browser console for JavaScript errors
Loading