cashclaw 1.0.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.
Files changed (39) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +281 -0
  3. package/bin/cashclaw.js +2 -0
  4. package/missions/blog-post-1500.json +21 -0
  5. package/missions/blog-post-500.json +19 -0
  6. package/missions/lead-list-50.json +20 -0
  7. package/missions/seo-audit-basic.json +19 -0
  8. package/missions/seo-audit-pro.json +23 -0
  9. package/missions/social-media-weekly.json +19 -0
  10. package/missions/whatsapp-setup.json +22 -0
  11. package/package.json +45 -0
  12. package/skills/cashclaw-content-writer/SKILL.md +245 -0
  13. package/skills/cashclaw-core/SKILL.md +251 -0
  14. package/skills/cashclaw-invoicer/SKILL.md +395 -0
  15. package/skills/cashclaw-invoicer/scripts/stripe-ops.js +441 -0
  16. package/skills/cashclaw-lead-generator/SKILL.md +246 -0
  17. package/skills/cashclaw-lead-generator/scripts/scraper.js +356 -0
  18. package/skills/cashclaw-seo-auditor/SKILL.md +240 -0
  19. package/skills/cashclaw-seo-auditor/scripts/audit.js +401 -0
  20. package/skills/cashclaw-social-media/SKILL.md +374 -0
  21. package/skills/cashclaw-whatsapp-manager/SKILL.md +357 -0
  22. package/src/cli/commands/dashboard.js +72 -0
  23. package/src/cli/commands/init.js +290 -0
  24. package/src/cli/commands/status.js +174 -0
  25. package/src/cli/index.js +496 -0
  26. package/src/cli/utils/banner.js +44 -0
  27. package/src/cli/utils/config.js +170 -0
  28. package/src/dashboard/public/app.js +329 -0
  29. package/src/dashboard/public/index.html +139 -0
  30. package/src/dashboard/public/style.css +464 -0
  31. package/src/dashboard/server.js +224 -0
  32. package/src/engine/earnings-tracker.js +184 -0
  33. package/src/engine/mission-runner.js +224 -0
  34. package/src/engine/scheduler.js +139 -0
  35. package/src/integrations/hyrve-bridge.js +213 -0
  36. package/src/integrations/openclaw-bridge.js +207 -0
  37. package/src/integrations/stripe-connect.js +204 -0
  38. package/templates/config.default.json +83 -0
  39. package/templates/invoice.html +260 -0
@@ -0,0 +1,260 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Invoice {{invoice_id}}</title>
7
+ <style>
8
+ * { margin: 0; padding: 0; box-sizing: border-box; }
9
+
10
+ body {
11
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
12
+ background: #f5f5f5;
13
+ color: #333;
14
+ padding: 40px;
15
+ }
16
+
17
+ .invoice {
18
+ max-width: 680px;
19
+ margin: 0 auto;
20
+ background: white;
21
+ border-radius: 12px;
22
+ box-shadow: 0 2px 20px rgba(0,0,0,0.08);
23
+ overflow: hidden;
24
+ }
25
+
26
+ .invoice-header {
27
+ background: #1A1A2E;
28
+ color: white;
29
+ padding: 32px 40px;
30
+ display: flex;
31
+ justify-content: space-between;
32
+ align-items: flex-start;
33
+ }
34
+
35
+ .invoice-brand {
36
+ font-size: 24px;
37
+ font-weight: 800;
38
+ color: #FF6B35;
39
+ letter-spacing: -0.5px;
40
+ }
41
+
42
+ .invoice-brand-sub {
43
+ font-size: 12px;
44
+ color: #8892A4;
45
+ margin-top: 4px;
46
+ }
47
+
48
+ .invoice-number {
49
+ text-align: right;
50
+ }
51
+
52
+ .invoice-number h2 {
53
+ font-size: 12px;
54
+ text-transform: uppercase;
55
+ letter-spacing: 1px;
56
+ color: #8892A4;
57
+ }
58
+
59
+ .invoice-number p {
60
+ font-size: 14px;
61
+ margin-top: 4px;
62
+ color: #E8E8E8;
63
+ }
64
+
65
+ .invoice-body {
66
+ padding: 40px;
67
+ }
68
+
69
+ .invoice-parties {
70
+ display: flex;
71
+ justify-content: space-between;
72
+ margin-bottom: 40px;
73
+ }
74
+
75
+ .invoice-party h3 {
76
+ font-size: 11px;
77
+ text-transform: uppercase;
78
+ letter-spacing: 1px;
79
+ color: #999;
80
+ margin-bottom: 8px;
81
+ }
82
+
83
+ .invoice-party p {
84
+ font-size: 14px;
85
+ line-height: 1.6;
86
+ color: #333;
87
+ }
88
+
89
+ .invoice-party .name {
90
+ font-weight: 600;
91
+ font-size: 16px;
92
+ }
93
+
94
+ .invoice-table {
95
+ width: 100%;
96
+ border-collapse: collapse;
97
+ margin-bottom: 32px;
98
+ }
99
+
100
+ .invoice-table thead th {
101
+ text-align: left;
102
+ font-size: 11px;
103
+ text-transform: uppercase;
104
+ letter-spacing: 1px;
105
+ color: #999;
106
+ padding: 12px 0;
107
+ border-bottom: 2px solid #eee;
108
+ }
109
+
110
+ .invoice-table thead th:last-child {
111
+ text-align: right;
112
+ }
113
+
114
+ .invoice-table tbody td {
115
+ padding: 16px 0;
116
+ font-size: 14px;
117
+ border-bottom: 1px solid #f0f0f0;
118
+ }
119
+
120
+ .invoice-table tbody td:last-child {
121
+ text-align: right;
122
+ font-weight: 600;
123
+ }
124
+
125
+ .invoice-total {
126
+ display: flex;
127
+ justify-content: flex-end;
128
+ margin-bottom: 40px;
129
+ }
130
+
131
+ .invoice-total-box {
132
+ text-align: right;
133
+ }
134
+
135
+ .invoice-total-label {
136
+ font-size: 12px;
137
+ text-transform: uppercase;
138
+ letter-spacing: 1px;
139
+ color: #999;
140
+ }
141
+
142
+ .invoice-total-value {
143
+ font-size: 32px;
144
+ font-weight: 800;
145
+ color: #16C784;
146
+ margin-top: 4px;
147
+ }
148
+
149
+ .invoice-payment {
150
+ background: #f9f9f9;
151
+ border-radius: 8px;
152
+ padding: 24px;
153
+ text-align: center;
154
+ margin-bottom: 32px;
155
+ }
156
+
157
+ .invoice-payment p {
158
+ font-size: 13px;
159
+ color: #666;
160
+ margin-bottom: 16px;
161
+ }
162
+
163
+ .pay-button {
164
+ display: inline-block;
165
+ background: #FF6B35;
166
+ color: white;
167
+ font-size: 16px;
168
+ font-weight: 700;
169
+ padding: 14px 48px;
170
+ border-radius: 8px;
171
+ text-decoration: none;
172
+ transition: background 0.2s;
173
+ }
174
+
175
+ .pay-button:hover {
176
+ background: #E55A2B;
177
+ }
178
+
179
+ .invoice-footer {
180
+ text-align: center;
181
+ font-size: 12px;
182
+ color: #999;
183
+ padding-top: 20px;
184
+ border-top: 1px solid #eee;
185
+ }
186
+
187
+ .invoice-footer a {
188
+ color: #FF6B35;
189
+ text-decoration: none;
190
+ }
191
+
192
+ @media print {
193
+ body { background: white; padding: 0; }
194
+ .invoice { box-shadow: none; }
195
+ .pay-button { display: none; }
196
+ }
197
+ </style>
198
+ </head>
199
+ <body>
200
+ <div class="invoice">
201
+ <div class="invoice-header">
202
+ <div>
203
+ <div class="invoice-brand">CashClaw</div>
204
+ <div class="invoice-brand-sub">Powered by AI</div>
205
+ </div>
206
+ <div class="invoice-number">
207
+ <h2>Invoice</h2>
208
+ <p>#{{invoice_id}}</p>
209
+ <p style="margin-top: 8px; font-size: 12px; color: #8892A4;">{{date}}</p>
210
+ </div>
211
+ </div>
212
+
213
+ <div class="invoice-body">
214
+ <div class="invoice-parties">
215
+ <div class="invoice-party">
216
+ <h3>From</h3>
217
+ <p class="name">{{agent_name}}</p>
218
+ <p>AI-Powered Service</p>
219
+ <p>cashclawai.com</p>
220
+ </div>
221
+ <div class="invoice-party" style="text-align: right;">
222
+ <h3>Bill To</h3>
223
+ <p class="name">{{client_name}}</p>
224
+ </div>
225
+ </div>
226
+
227
+ <table class="invoice-table">
228
+ <thead>
229
+ <tr>
230
+ <th>Service</th>
231
+ <th>Amount</th>
232
+ </tr>
233
+ </thead>
234
+ <tbody>
235
+ <tr>
236
+ <td>{{service_description}}</td>
237
+ <td>{{currency}} {{amount}}</td>
238
+ </tr>
239
+ </tbody>
240
+ </table>
241
+
242
+ <div class="invoice-total">
243
+ <div class="invoice-total-box">
244
+ <div class="invoice-total-label">Total Due</div>
245
+ <div class="invoice-total-value">{{currency}} {{amount}}</div>
246
+ </div>
247
+ </div>
248
+
249
+ <div class="invoice-payment">
250
+ <p>Click below to pay securely via Stripe</p>
251
+ <a href="{{payment_link}}" class="pay-button">Pay Now</a>
252
+ </div>
253
+
254
+ <div class="invoice-footer">
255
+ <p>Generated by <a href="https://cashclawai.com">CashClaw</a> &mdash; AI-powered freelance agent</p>
256
+ </div>
257
+ </div>
258
+ </div>
259
+ </body>
260
+ </html>