File size: 2,116 Bytes
bd28470
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Contributing to AI Client Acquisition System

Welcome! This guide will help you get started as a contributor.

## Getting Started

1. **Clone the repo**
   ```bash
   git clone https://github.com/iDevBuddy/ai-client-acquisition.git
   cd ai-client-acquisition
   ```

2. **Install dependencies**
   ```bash
   npm install
   cd src/profiling/python-service && pip install -r requirements.txt && cd ../../..
   ```

3. **Set up environment**
   ```bash
   cp .env.example .env
   # Fill in your API keys β€” ask @iDevBuddy for access
   ```

4. **Set up database**
   - Create a Supabase project (free)
   - Run migration files from `supabase/migrations/` in order

5. **Start development**
   ```bash
   # Terminal 1: Trigger.dev tasks
   npm run trigger:dev

   # Terminal 2: Python AI service
   cd src/profiling/python-service && python main.py
   ```

## Project Architecture

```
Phase 1: FINDING (current)
  Discovery β†’ Scraping β†’ Pain Detection β†’ Email Finding β†’ AI Profiling β†’ Scoring β†’ Slack

Phase 2: OUTREACH (upcoming)
  Email sequences β†’ LinkedIn messaging β†’ Follow-ups β†’ Reply handling
```

## Code Conventions

- **TypeScript** for orchestration, discovery, and integrations
- **Python** for AI profiling service (FastAPI)
- **Zod** for runtime validation
- Use `logger` (pino) for all logging β€” no `console.log`
- Every LLM call must have a `traceId`
- Every external API call must go through `retry.ts`

## Branch Strategy

```
main        β†’ production-ready code
develop     β†’ integration branch
feature/*   β†’ new features
fix/*       β†’ bug fixes
```

## Pull Request Process

1. Create a feature branch: `git checkout -b feature/your-feature`
2. Make your changes
3. Test locally (see Testing section)
4. Push and create a PR against `develop`
5. Get at least 1 review before merging

## Security Rules

⚠️ **NEVER commit API keys or secrets**
- `.env` is in `.gitignore` β€” keep it that way
- Use `.env.example` for templates (no real values)
- If you accidentally commit a key, rotate it IMMEDIATELY

## Questions?

Reach out to @iDevBuddy on GitHub or Slack.