bizy-ai 1.0.0__py3-none-any.whl

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.
agent/tasks.py ADDED
@@ -0,0 +1,251 @@
1
+ from datetime import datetime, timedelta, date
2
+ from sqlalchemy import and_, or_
3
+ from agent.models import Task, DailyLog, get_session
4
+
5
+ class TaskManager:
6
+ def __init__(self):
7
+ self.session = get_session()
8
+
9
+ def create_task(self, title, description=None, priority=3, category=None,
10
+ estimated_hours=None, due_date=None, parent_goal_id=None,
11
+ dependencies=None, tags=None):
12
+ """Create a new task"""
13
+ task = Task(
14
+ title=title,
15
+ description=description,
16
+ priority=priority,
17
+ category=category,
18
+ estimated_hours=estimated_hours,
19
+ due_date=due_date,
20
+ parent_goal_id=parent_goal_id,
21
+ dependencies=dependencies or [],
22
+ tags=tags or []
23
+ )
24
+ self.session.add(task)
25
+ self.session.commit()
26
+ return task
27
+
28
+ def get_task(self, task_id):
29
+ """Get a specific task by ID"""
30
+ return self.session.query(Task).filter(Task.id == task_id).first()
31
+
32
+ def get_tasks_for_today(self):
33
+ """Get all tasks due today or overdue"""
34
+ today = datetime.now().date()
35
+ tomorrow = today + timedelta(days=1)
36
+
37
+ tasks = self.session.query(Task).filter(
38
+ and_(
39
+ Task.status.in_(['pending', 'in_progress']),
40
+ or_(
41
+ Task.due_date == None,
42
+ Task.due_date < datetime.combine(tomorrow, datetime.min.time())
43
+ )
44
+ )
45
+ ).order_by(Task.priority, Task.due_date).all()
46
+
47
+ return tasks
48
+
49
+ def get_tasks_by_status(self, status):
50
+ """Get all tasks with a specific status"""
51
+ return self.session.query(Task).filter(Task.status == status).all()
52
+
53
+ def get_tasks_by_goal(self, goal_id):
54
+ """Get all tasks linked to a specific goal"""
55
+ return self.session.query(Task).filter(Task.parent_goal_id == goal_id).all()
56
+
57
+ def get_tasks_by_category(self, category):
58
+ """Get all tasks in a specific category"""
59
+ return self.session.query(Task).filter(Task.category == category).all()
60
+
61
+ def get_overdue_tasks(self):
62
+ """Get all overdue tasks"""
63
+ now = datetime.now()
64
+ return self.session.query(Task).filter(
65
+ and_(
66
+ Task.status.in_(['pending', 'in_progress']),
67
+ Task.due_date < now
68
+ )
69
+ ).order_by(Task.priority).all()
70
+
71
+ def update_task(self, task_id, **kwargs):
72
+ """Update task fields"""
73
+ task = self.get_task(task_id)
74
+ if task:
75
+ for key, value in kwargs.items():
76
+ if hasattr(task, key):
77
+ setattr(task, key, value)
78
+ self.session.commit()
79
+ return task
80
+
81
+ def complete_task(self, task_id, actual_hours=None):
82
+ """Mark a task as completed"""
83
+ task = self.get_task(task_id)
84
+ if task:
85
+ task.status = 'completed'
86
+ task.completed_at = datetime.now()
87
+ if actual_hours:
88
+ task.actual_hours = actual_hours
89
+ self.session.commit()
90
+ return task
91
+
92
+ def block_task(self, task_id, reason=None):
93
+ """Mark a task as blocked"""
94
+ task = self.get_task(task_id)
95
+ if task:
96
+ task.status = 'blocked'
97
+ if reason:
98
+ task.notes = f"{task.notes or ''}\n[BLOCKED] {reason}"
99
+ self.session.commit()
100
+ return task
101
+
102
+ def delete_task(self, task_id):
103
+ """Delete a task"""
104
+ task = self.get_task(task_id)
105
+ if task:
106
+ self.session.delete(task)
107
+ self.session.commit()
108
+ return True
109
+ return False
110
+
111
+ def get_tasks_for_date_range(self, start_date, end_date):
112
+ """Get all tasks within a date range"""
113
+ return self.session.query(Task).filter(
114
+ and_(
115
+ Task.due_date >= start_date,
116
+ Task.due_date <= end_date
117
+ )
118
+ ).order_by(Task.due_date, Task.priority).all()
119
+
120
+ def get_daily_summary(self, date_obj=None):
121
+ """Get summary of tasks for a specific day"""
122
+ if date_obj is None:
123
+ date_obj = datetime.now()
124
+
125
+ if isinstance(date_obj, date) and not isinstance(date_obj, datetime):
126
+ date_obj = datetime.combine(date_obj, datetime.min.time())
127
+
128
+ day_start = date_obj.replace(hour=0, minute=0, second=0, microsecond=0)
129
+ day_end = day_start + timedelta(days=1)
130
+
131
+ # Get tasks due on this day
132
+ tasks_due = self.session.query(Task).filter(
133
+ and_(
134
+ Task.due_date >= day_start,
135
+ Task.due_date < day_end
136
+ )
137
+ ).all()
138
+
139
+ # Get tasks completed on this day
140
+ tasks_completed = self.session.query(Task).filter(
141
+ and_(
142
+ Task.completed_at >= day_start,
143
+ Task.completed_at < day_end
144
+ )
145
+ ).all()
146
+
147
+ return {
148
+ 'date': date_obj.strftime('%Y-%m-%d'),
149
+ 'tasks_due': len(tasks_due),
150
+ 'tasks_completed': len(tasks_completed),
151
+ 'completion_rate': len(tasks_completed) / len(tasks_due) if tasks_due else 0,
152
+ 'completed_tasks': [t.to_dict() for t in tasks_completed],
153
+ 'pending_tasks': [t.to_dict() for t in tasks_due if t.status != 'completed']
154
+ }
155
+
156
+ def get_yesterday_summary(self):
157
+ """Get summary for yesterday"""
158
+ yesterday = datetime.now() - timedelta(days=1)
159
+ return self.get_daily_summary(yesterday)
160
+
161
+ def create_daily_log(self, date, tasks_completed, tasks_planned,
162
+ wins=None, blockers=None, learnings=None,
163
+ energy_level=None, mood=None, notes=None):
164
+ """Create or update daily log"""
165
+ # Check if log already exists
166
+ existing_log = self.session.query(DailyLog).filter(
167
+ DailyLog.date == date.replace(hour=0, minute=0, second=0, microsecond=0)
168
+ ).first()
169
+
170
+ completion_rate = tasks_completed / tasks_planned if tasks_planned > 0 else 0
171
+
172
+ if existing_log:
173
+ existing_log.tasks_completed = tasks_completed
174
+ existing_log.tasks_planned = tasks_planned
175
+ existing_log.completion_rate = completion_rate
176
+ existing_log.wins = wins
177
+ existing_log.blockers = blockers
178
+ existing_log.learnings = learnings
179
+ existing_log.energy_level = energy_level
180
+ existing_log.mood = mood
181
+ existing_log.notes = notes
182
+ log = existing_log
183
+ else:
184
+ log = DailyLog(
185
+ date=date.replace(hour=0, minute=0, second=0, microsecond=0),
186
+ tasks_completed=tasks_completed,
187
+ tasks_planned=tasks_planned,
188
+ completion_rate=completion_rate,
189
+ wins=wins,
190
+ blockers=blockers,
191
+ learnings=learnings,
192
+ energy_level=energy_level,
193
+ mood=mood,
194
+ notes=notes
195
+ )
196
+ self.session.add(log)
197
+
198
+ self.session.commit()
199
+ return log
200
+
201
+ def get_weekly_stats(self, start_date=None):
202
+ """Get statistics for the past week"""
203
+ if start_date is None:
204
+ start_date = datetime.now() - timedelta(days=7)
205
+
206
+ end_date = datetime.now()
207
+
208
+ logs = self.session.query(DailyLog).filter(
209
+ and_(
210
+ DailyLog.date >= start_date,
211
+ DailyLog.date <= end_date
212
+ )
213
+ ).order_by(DailyLog.date).all()
214
+
215
+ if not logs:
216
+ return {
217
+ 'total_tasks_completed': 0,
218
+ 'total_tasks_planned': 0,
219
+ 'average_completion_rate': 0,
220
+ 'days_logged': 0
221
+ }
222
+
223
+ total_completed = sum(log.tasks_completed for log in logs)
224
+ total_planned = sum(log.tasks_planned for log in logs)
225
+ avg_completion = sum(log.completion_rate for log in logs if log.completion_rate) / len(logs)
226
+
227
+ return {
228
+ 'total_tasks_completed': total_completed,
229
+ 'total_tasks_planned': total_planned,
230
+ 'average_completion_rate': avg_completion,
231
+ 'days_logged': len(logs),
232
+ 'logs': [log.to_dict() for log in logs]
233
+ }
234
+
235
+ def get_task_velocity(self, days=30):
236
+ """Calculate average tasks completed per day over a period"""
237
+ start_date = datetime.now() - timedelta(days=days)
238
+
239
+ logs = self.session.query(DailyLog).filter(
240
+ DailyLog.date >= start_date
241
+ ).all()
242
+
243
+ if not logs:
244
+ return 0
245
+
246
+ total_completed = sum(log.tasks_completed for log in logs)
247
+ return total_completed / len(logs) if logs else 0
248
+
249
+ def close(self):
250
+ """Close the database session"""
251
+ self.session.close()
@@ -0,0 +1,471 @@
1
+ Metadata-Version: 2.4
2
+ Name: bizy-ai
3
+ Version: 1.0.0
4
+ Summary: AI-powered business planning and execution agent
5
+ Author: Reid Chatham
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/reidchatham/bizy-ai
8
+ Project-URL: Documentation, https://github.com/reidchatham/bizy-ai#readme
9
+ Project-URL: Repository, https://github.com/reidchatham/bizy-ai
10
+ Project-URL: Issues, https://github.com/reidchatham/bizy-ai/issues
11
+ Keywords: ai,business,planning,productivity,cli,agent
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: End Users/Desktop
15
+ Classifier: Topic :: Office/Business
16
+ Classifier: Topic :: Office/Business :: Scheduling
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.13
25
+ Requires-Python: >=3.8
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: anthropic>=0.18.0
29
+ Requires-Dist: schedule>=1.2.0
30
+ Requires-Dist: python-dotenv>=1.0.0
31
+ Requires-Dist: pyyaml>=6.0
32
+ Requires-Dist: sqlalchemy>=2.0.0
33
+ Requires-Dist: requests>=2.31.0
34
+ Requires-Dist: beautifulsoup4>=4.12.0
35
+ Requires-Dist: pandas>=2.0.0
36
+ Requires-Dist: rich>=13.0.0
37
+ Requires-Dist: python-dateutil>=2.8.2
38
+ Requires-Dist: click>=8.1.0
39
+ Requires-Dist: jinja2>=3.1.2
40
+ Dynamic: license-file
41
+ Dynamic: requires-python
42
+
43
+ # Business Agent - AI-Powered Daily Business Execution Assistant
44
+
45
+ An autonomous AI agent that runs daily to help you execute your business plan, manage tasks, conduct research, and stay on track toward your goals.
46
+
47
+ ## 🎯 Current Status: Phase 1 Complete ✅
48
+
49
+ **Local Python MVP** with full AI-powered features is ready to use!
50
+
51
+ ---
52
+
53
+ ## Quick Start
54
+
55
+ ### Installation
56
+
57
+ ```bash
58
+ # Install globally via pip
59
+ pip install business-agent
60
+
61
+ # Set up your API key
62
+ mkdir -p ~/.business-agent
63
+ echo "ANTHROPIC_API_KEY=your-key-here" > ~/.business-agent/.env
64
+
65
+ # Initialize database
66
+ python -c "from agent.models import init_database; init_database()"
67
+
68
+ # Use the CLI
69
+ bizy task list
70
+ bizy goal list
71
+ ```
72
+
73
+ ### Development Setup
74
+
75
+ ```bash
76
+ # Clone the repository
77
+ git clone https://github.com/reidchatham/business-agent.git
78
+ cd business-agent
79
+
80
+ # Install in editable mode
81
+ pip install -e .
82
+
83
+ # Run setup script
84
+ ./setup.sh
85
+ ```
86
+
87
+ See **[INSTALL.md](INSTALL.md)** for detailed installation options.
88
+
89
+ ---
90
+
91
+ ## Features (Phase 1)
92
+
93
+ ✅ **AI-Powered Goal Breakdown** - Claude breaks big goals into 5-10 actionable tasks
94
+ ✅ **Daily Morning Briefings** - Personalized insights and prioritized tasks
95
+ ✅ **Evening Reviews** - Reflect with AI analysis
96
+ ✅ **Weekly Strategic Reports** - Comprehensive progress analysis
97
+ ✅ **Research Agent** - Market research and competitive intelligence
98
+ ✅ **Task Management** - Priorities, dependencies, progress tracking
99
+ ✅ **CLI Tool** - Quick command-line interactions
100
+ ✅ **Automated Scheduling** - Runs briefings/reviews automatically
101
+
102
+ ---
103
+
104
+ ## 📈 Development Roadmap
105
+
106
+ The project is designed to evolve through 4 phases:
107
+
108
+ ### Phase 2: Enhanced Python (Weeks 4-6) 🔜
109
+ - Live CLI dashboard with real-time updates
110
+ - Google Calendar integration
111
+ - Email integration
112
+ - Velocity-based predictions
113
+ - Advanced analytics with charts
114
+ - PDF/CSV exports
115
+
116
+ ### Phase 3: Web Interface (Weeks 7-10)
117
+ - FastAPI backend
118
+ - React + TypeScript frontend
119
+ - PostgreSQL database
120
+ - Real-time WebSocket updates
121
+ - Multi-device access
122
+ - User authentication
123
+
124
+ ### Phase 4: Production & Scale (Weeks 11-14)
125
+ - Cloud deployment (AWS/Railway)
126
+ - Mobile apps (PWA/React Native)
127
+ - Team collaboration
128
+ - Payment integration (Stripe)
129
+ - Integration marketplace
130
+ - Advanced analytics
131
+
132
+ **See [ROADMAP.md](ROADMAP.md) for complete migration plan and technical details.**
133
+
134
+ ---
135
+
136
+ ## Project Structure
137
+
138
+ ```
139
+ business-agent/
140
+ ├── agent/ # Core modules
141
+ │ ├── core.py # AI agent (briefings, reviews)
142
+ │ ├── models.py # Database schema
143
+ │ ├── tasks.py # Task management
144
+ │ ├── planner.py # Goal planning & AI breakdown
145
+ │ └── research.py # Research & intelligence
146
+
147
+ ├── scripts/ # Automation scripts
148
+ │ ├── init_db.py # Database setup
149
+ │ ├── morning_brief.py # Morning briefing
150
+ │ ├── evening_review.py # Evening review
151
+ │ ├── weekly_review.py # Weekly report
152
+ │ └── agent_cli.py # CLI tool
153
+
154
+ ├── templates/ # Configuration
155
+ │ └── business_plan_template.yaml
156
+
157
+ ├── main.py # Scheduler daemon
158
+ ├── requirements.txt # Python dependencies
159
+ ├── setup.sh # Automated setup
160
+
161
+ └── Documentation
162
+ ├── README.md # This file
163
+ ├── QUICKSTART.md # 5-minute quick start
164
+ ├── ROADMAP.md # Complete development roadmap
165
+ ├── GETTING_STARTED.md # Development guide
166
+ └── PROJECT_COMPLETE.md # Setup summary
167
+ ```
168
+
169
+ ---
170
+
171
+ ## Essential Commands
172
+
173
+ ### Daily Use
174
+ ```bash
175
+ # Morning
176
+ python scripts/morning_brief.py
177
+
178
+ # Complete a task
179
+ python scripts/agent_cli.py task complete 5
180
+
181
+ # Evening
182
+ python scripts/evening_review.py
183
+ ```
184
+
185
+ ### Task Management
186
+ ```bash
187
+ # Add task
188
+ python scripts/agent_cli.py task add "Task title" -p 1 -h 3
189
+
190
+ # List tasks
191
+ python scripts/agent_cli.py task list
192
+
193
+ # Complete task
194
+ python scripts/agent_cli.py task complete <ID>
195
+ ```
196
+
197
+ ### Goal Management
198
+ ```bash
199
+ # Add goal
200
+ python scripts/agent_cli.py goal add "Goal title" -h quarterly -t 2025-12-31
201
+
202
+ # List goals
203
+ python scripts/agent_cli.py goal list
204
+
205
+ # AI breakdown (creates tasks automatically)
206
+ python scripts/agent_cli.py goal breakdown <ID>
207
+ ```
208
+
209
+ ### Research
210
+ ```bash
211
+ # Research topic
212
+ python scripts/agent_cli.py research topic "market trends"
213
+
214
+ # Competitor analysis
215
+ python scripts/agent_cli.py research competitors "domain" "offering"
216
+ ```
217
+
218
+ ### Automation
219
+ ```bash
220
+ # Start scheduler (runs morning/evening/weekly automatically)
221
+ python main.py
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Technology Stack
227
+
228
+ ### Phase 1 (Current)
229
+ - **Python 3.8+**
230
+ - **Claude (Anthropic API)** - AI intelligence
231
+ - **SQLAlchemy + SQLite** - Database
232
+ - **Rich** - Beautiful terminal UI
233
+ - **Click** - CLI framework
234
+ - **Schedule** - Task automation
235
+
236
+ ### Phase 2 (Planned)
237
+ - **Textual** - Advanced TUI
238
+ - **Google Calendar API** - Calendar sync
239
+ - **Gmail API** - Email integration
240
+ - **Plotext** - Terminal charts
241
+ - **ReportLab** - PDF generation
242
+
243
+ ### Phase 3 (Planned)
244
+ - **FastAPI** - Backend framework
245
+ - **PostgreSQL** - Production database
246
+ - **React + TypeScript** - Frontend
247
+ - **TailwindCSS** - Styling
248
+ - **WebSockets** - Real-time updates
249
+
250
+ ### Phase 4 (Planned)
251
+ - **AWS/Railway** - Cloud hosting
252
+ - **React Native/PWA** - Mobile apps
253
+ - **Stripe** - Payments
254
+ - **Redis** - Caching
255
+ - **Celery** - Background jobs
256
+
257
+ ---
258
+
259
+ ## Development with Claude Code
260
+
261
+ This project is configured for Claude Code development:
262
+
263
+ ```bash
264
+ # The project includes:
265
+ .claude_code.json # Claude Code workspace config
266
+ GETTING_STARTED.md # Development guide
267
+ ROADMAP.md # Migration path details
268
+ ```
269
+
270
+ Open this directory in Claude Code to start developing with AI assistance!
271
+
272
+ ---
273
+
274
+ ## Documentation
275
+
276
+ - **[QUICKSTART.md](QUICKSTART.md)** - Get started in 5 minutes
277
+ - **[ROADMAP.md](ROADMAP.md)** - Complete development roadmap with migration plans
278
+ - **[GETTING_STARTED.md](GETTING_STARTED.md)** - Development guide for Claude Code
279
+ - **[PROJECT_COMPLETE.md](PROJECT_COMPLETE.md)** - Setup summary and status
280
+ - **[templates/business_plan_template.yaml](templates/business_plan_template.yaml)** - Business plan with roadmap
281
+
282
+ ---
283
+
284
+ ## Key Benefits
285
+
286
+ ✅ **Never forget important tasks** - AI breaks down goals automatically
287
+ ✅ **Stay on track daily** - Morning briefings keep you focused
288
+ ✅ **Learn from patterns** - Evening reviews capture insights
289
+ ✅ **Make informed decisions** - Research agent gathers intelligence
290
+ ✅ **Adapt your strategy** - Weekly reviews suggest improvements
291
+ ✅ **Build momentum** - Daily habit creates consistent progress
292
+
293
+ ---
294
+
295
+ ## Examples
296
+
297
+ ### Create Your First Goal
298
+ ```bash
299
+ # 1. Create a quarterly goal
300
+ python scripts/agent_cli.py goal add "Launch MVP Product" \
301
+ -h quarterly \
302
+ -t 2025-06-30
303
+
304
+ # 2. Let AI break it down into tasks
305
+ python scripts/agent_cli.py goal breakdown 1
306
+
307
+ # Output: Claude creates 5-10 actionable tasks like:
308
+ # - Design database schema (3h, priority 1)
309
+ # - Implement user authentication (6h, priority 1)
310
+ # - Build frontend UI (16h, priority 2)
311
+ # - etc.
312
+
313
+ # 3. View your tasks
314
+ python scripts/agent_cli.py task list
315
+
316
+ # 4. Get your morning briefing
317
+ python scripts/morning_brief.py
318
+ ```
319
+
320
+ ---
321
+
322
+ ## How It Works
323
+
324
+ ```
325
+ 1. YOU define goals
326
+
327
+ 2. AI breaks down goals into tasks
328
+
329
+ 3. Morning briefing prioritizes today's tasks
330
+
331
+ 4. YOU work on tasks throughout the day
332
+
333
+ 5. Evening review captures learnings
334
+
335
+ 6. AI analyzes patterns and suggests improvements
336
+
337
+ 7. Weekly review provides strategic insights
338
+
339
+ 8. Cycle repeats, continuously improving
340
+ ```
341
+
342
+ ---
343
+
344
+ ## Troubleshooting
345
+
346
+ ### API Key Issues
347
+ ```bash
348
+ # Check .env file exists
349
+ ls -la .env
350
+
351
+ # Verify key is set
352
+ cat .env | grep ANTHROPIC_API_KEY
353
+ ```
354
+
355
+ ### Virtual Environment
356
+ ```bash
357
+ # Always activate first
358
+ source venv/bin/activate
359
+
360
+ # Check Python version
361
+ python --version # Should be 3.8+
362
+ ```
363
+
364
+ ### Database Issues
365
+ ```bash
366
+ # Reset database
367
+ rm data/tasks.db
368
+ python scripts/init_db.py
369
+ ```
370
+
371
+ ### Permission Issues
372
+ ```bash
373
+ # Make scripts executable
374
+ chmod +x setup.sh main.py scripts/*.py
375
+ ```
376
+
377
+ ---
378
+
379
+ ## Cost Estimate
380
+
381
+ Based on typical usage with Claude Sonnet:
382
+
383
+ - Morning briefing: ~1,000 tokens (~$0.003)
384
+ - Evening review: ~1,500 tokens (~$0.005)
385
+ - Weekly review: ~3,000 tokens (~$0.009)
386
+ - Goal breakdown: ~2,000 tokens per goal (~$0.006)
387
+ - Research: ~3,000-5,000 tokens per query (~$0.009-0.015)
388
+
389
+ **Monthly estimate**: $5-15 depending on usage
390
+
391
+ ---
392
+
393
+ ## Contributing to This Project
394
+
395
+ This is a personal business tool, but if you're building something similar:
396
+
397
+ 1. Fork the repository
398
+ 2. Check the [ROADMAP.md](ROADMAP.md) for upcoming features
399
+ 3. Build Phase 2 features
400
+ 4. Share your improvements!
401
+
402
+ ---
403
+
404
+ ## Roadmap Highlights
405
+
406
+ ### 🔜 Next Up: Phase 2 (Weeks 4-6)
407
+
408
+ **Top priorities:**
409
+ 1. **Live Dashboard** - Real-time task updates in terminal
410
+ 2. **Calendar Integration** - Sync with Google Calendar
411
+ 3. **Velocity Predictions** - AI predicts completion dates
412
+ 4. **Email Integration** - Daily briefings via email
413
+
414
+ **Timeline:** 3 weeks
415
+ **Start Date:** This week!
416
+
417
+ See [ROADMAP.md](ROADMAP.md) for detailed implementation plans.
418
+
419
+ ---
420
+
421
+ ## Requirements
422
+
423
+ - Python 3.8 or higher
424
+ - Anthropic API access (Claude)
425
+ - ~50MB disk space
426
+ - Works on: macOS, Linux, Windows
427
+
428
+ ---
429
+
430
+ ## License
431
+
432
+ MIT License - feel free to use and modify for your business.
433
+
434
+ ---
435
+
436
+ ## Support
437
+
438
+ - 📖 **Documentation**: Check the docs in this directory
439
+ - 🐛 **Issues**: Check error logs in `data/logs/`
440
+ - 💬 **Questions**: Review `GETTING_STARTED.md` and `ROADMAP.md`
441
+ - 🚀 **Updates**: Follow the roadmap for upcoming features
442
+
443
+ ---
444
+
445
+ ## Next Steps
446
+
447
+ ### If You're Just Getting Started:
448
+ 1. Run `./setup.sh` to set up the environment
449
+ 2. Add your Anthropic API key to `.env`
450
+ 3. Run `python scripts/morning_brief.py` to test
451
+ 4. Create your first goal and let AI break it down
452
+ 5. Start using daily for one week
453
+
454
+ ### If You Want to Develop:
455
+ 1. Review [ROADMAP.md](ROADMAP.md) for migration path
456
+ 2. Check [GETTING_STARTED.md](GETTING_STARTED.md) for dev guide
457
+ 3. Open in Claude Code for AI-assisted development
458
+ 4. Start building Phase 2 features
459
+ 5. Test with beta users
460
+
461
+ ### If You Want to Understand the Vision:
462
+ 1. Read [templates/business_plan_template.yaml](templates/business_plan_template.yaml)
463
+ 2. Review the 4-phase roadmap
464
+ 3. Understand the migration from Python → Web → Production
465
+ 4. See how each phase builds on the previous
466
+
467
+ ---
468
+
469
+ **Ready to execute your business plan? Let's go! 🚀**
470
+
471
+ Built with ❤️ using Claude (Anthropic)