# Getting Started with Vibes

Welcome to Vibes! This guide will help you catch the vibe and start building quickly.

## Quick Start (5 minutes)

```bash
# Clone the repo
git clone <repo-url> vibes
cd vibes

# Install dependencies
pnpm install

# Start exploring!
pnpm dev
```

## Your First Vibe

### 1. Create a Feature (2 minutes)
```bash
# Use our feature generator
pnpm vibe create my-cool-feature

# Or use the script directly
./tools/create-feature.sh my-cool-feature

# Or manually:
mkdir -p features/my-cool-feature/{ui,api,logic,data,tests}
```

### 2. Scaffold an App (1 minute)  
```bash
# Web app
cd apps && npm create vite@latest my-web-app

# Mobile app
cd apps && npx create-expo-app my-mobile-app

# API
cd apps && go-blueprint create
```

### 3. Connect and Vibe
```typescript
// In your app
import { MyCoolFeature } from '@features/my-cool-feature';

// That's it! Start vibing
```

## The Vibe Check

Ask yourself:
- ✅ Is this code obvious?
- ✅ Can I explain it in one sentence?
- ✅ Does it feel natural?
- ✅ Am I fighting the tools?

If any answer is "no", you might be overthinking it.

## Common Vibes

### The Explorer Vibe
"I want to try something new"
```bash
cd apps
npx create-next-app experiment --typescript
# Just start building, organize later
```

### The Builder Vibe
"I need a new feature"
```bash
./tools/create-feature.sh user-profile
# Everything is set up, just fill in the blanks
```

### The Integrator Vibe
"I want to use a cool library"
```bash
cd features/my-feature
pnpm add that-cool-library
# Use it directly, no wrappers needed
```

## Tips for Good Vibes

1. **Start Simple**
   - Don't create abstractions until you need them
   - Copy-paste is fine at first
   - Refactor when patterns emerge

2. **Use What Works**
   - Stick with tools you know
   - Don't force architectural patterns
   - Let the code guide you

3. **Keep It Obvious**
   - If you need to explain it, simplify it
   - Code should read like documentation
   - Names should be self-explanatory

4. **Flow States**
   - Work on one thing at a time
   - Use hot reload everywhere
   - Keep feedback loops tight

## When You're Stuck

1. **Take a Break** - Good vibes don't force
2. **Simplify** - Remove code rather than add
3. **Ask** - "What's the most obvious solution?"
4. **Ship It** - Perfect is the enemy of vibes

## Examples

### Feature Vibe
```typescript
// features/todo/index.ts
export { TodoList } from './ui/TodoList';
export { todoApi } from './api/routes';
export { TodoService } from './logic/TodoService';
```

### App Vibe
```typescript
// apps/my-app/main.ts
import { TodoList, todoApi } from '@features/todo';

// Just compose features
app.use('/todos', todoApi);
app.render(<TodoList />);
```

## Next Steps

1. Check out the [examples](./examples)
2. Read about [feature patterns](./patterns.md)
3. Join the [vibe community](#)

Remember: If it doesn't feel right, it probably isn't. Trust your vibes! 🌊