myaidev-method 0.1.0 → 0.2.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.
package/.env.example CHANGED
@@ -3,6 +3,26 @@ WORDPRESS_URL=https://your-wordpress-site.com
3
3
  WORDPRESS_USERNAME=your-username
4
4
  WORDPRESS_APP_PASSWORD=your-application-password
5
5
 
6
+ # PayloadCMS Configuration
7
+ PAYLOADCMS_URL=https://your-payloadcms-site.com
8
+ PAYLOADCMS_EMAIL=your-email@example.com
9
+ PAYLOADCMS_PASSWORD=your-password
10
+ PAYLOADCMS_API_KEY=your-api-key-if-using-api-key-auth
11
+
12
+ # Coolify Configuration
13
+ COOLIFY_URL=https://your-coolify-instance.com
14
+ COOLIFY_API_KEY=your-coolify-api-key
15
+
16
+ # Git Configuration (for static site publishing)
17
+ GIT_USER_NAME=Your Name
18
+ GIT_USER_EMAIL=your-email@example.com
19
+ GIT_REMOTE_URL=origin
20
+
21
+ # Static Site Project Paths (optional, defaults to current directory)
22
+ DOCUSAURUS_PROJECT_PATH=./path-to-docusaurus-project
23
+ MINTLIFY_PROJECT_PATH=./path-to-mintlify-project
24
+ ASTRO_PROJECT_PATH=./path-to-astro-project
25
+
6
26
  # Optional: Default content settings
7
27
  DEFAULT_WORD_COUNT=800
8
28
  DEFAULT_POST_STATUS=draft
@@ -0,0 +1,521 @@
1
+ # MyAIDev Method - Publishing Guide
2
+
3
+ Comprehensive guide for publishing content across multiple platforms using MyAIDev Method.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Overview](#overview)
8
+ - [Platform Support](#platform-support)
9
+ - [Quick Start](#quick-start)
10
+ - [Platform-Specific Guides](#platform-specific-guides)
11
+ - [Configuration](#configuration)
12
+ - [Workflows](#workflows)
13
+ - [Troubleshooting](#troubleshooting)
14
+
15
+ ## Overview
16
+
17
+ MyAIDev Method provides a unified content publishing system that supports:
18
+
19
+ - **API-Based CMS**: WordPress, PayloadCMS
20
+ - **Static Site Generators**: Docusaurus, Mintlify, Astro
21
+ - **Deployment**: Coolify self-hosted PaaS
22
+
23
+ All platforms use a consistent workflow:
24
+ 1. Create content (manually or via `/myai-content-writer`)
25
+ 2. Configure platform credentials (`/myai-configure`)
26
+ 3. Publish content (`/myai-[platform]-publish`)
27
+
28
+ ## Platform Support
29
+
30
+ ### WordPress
31
+ - **Type**: API-based CMS
32
+ - **Publishing**: REST API with Gutenberg blocks
33
+ - **Auth**: Application Passwords
34
+ - **Status**: Draft, Published
35
+ - **Features**: Categories, tags, featured images
36
+
37
+ ### PayloadCMS
38
+ - **Type**: Headless CMS (API-based)
39
+ - **Publishing**: REST API with Lexical rich text
40
+ - **Auth**: JWT tokens or API keys
41
+ - **Status**: Draft, Published
42
+ - **Features**: Custom collections, flexible schemas
43
+
44
+ ### Docusaurus
45
+ - **Type**: Static site generator (git-based)
46
+ - **Publishing**: File operations + git workflow
47
+ - **Content**: Docs, Blog, Pages
48
+ - **Features**: Sidebars, versioning, MDX support
49
+
50
+ ### Mintlify
51
+ - **Type**: Documentation platform (git-based)
52
+ - **Publishing**: File operations + git workflow + mint.json updates
53
+ - **Content**: MDX documentation
54
+ - **Features**: Automatic navigation, API references, icons
55
+
56
+ ### Astro
57
+ - **Type**: Static site generator (git-based)
58
+ - **Publishing**: File operations + git workflow
59
+ - **Content**: Content collections, Pages
60
+ - **Features**: Type-safe frontmatter, image optimization
61
+
62
+ ## Quick Start
63
+
64
+ ### 1. Install Package
65
+
66
+ ```bash
67
+ npm install -g myaidev-method
68
+ # or
69
+ npx myaidev-method init
70
+ ```
71
+
72
+ ### 2. Configure Platform
73
+
74
+ ```bash
75
+ /myai-configure
76
+ ```
77
+
78
+ Select your platform and provide credentials.
79
+
80
+ ### 3. Create Content
81
+
82
+ ```bash
83
+ /myai-content-writer "How to build a REST API with Node.js"
84
+ ```
85
+
86
+ ### 4. Publish Content
87
+
88
+ ```bash
89
+ # WordPress
90
+ /myai-wordpress-publish "article.md" --status draft
91
+
92
+ # PayloadCMS
93
+ /myai-payloadcms-publish "article.md" --collection posts
94
+
95
+ # Docusaurus
96
+ /myai-docusaurus-publish "article.md" --type docs
97
+
98
+ # Mintlify
99
+ /myai-mintlify-publish "article.md" --nav-section "Guides"
100
+
101
+ # Astro
102
+ /myai-astro-publish "article.md" --collection blog
103
+ ```
104
+
105
+ ## Platform-Specific Guides
106
+
107
+ ### WordPress Publishing
108
+
109
+ **Configuration** (.env):
110
+ ```
111
+ WORDPRESS_URL=https://your-site.com
112
+ WORDPRESS_USERNAME=your-username
113
+ WORDPRESS_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx
114
+ ```
115
+
116
+ **Basic Publishing**:
117
+ ```bash
118
+ /myai-wordpress-publish "article.md"
119
+ ```
120
+
121
+ **With Options**:
122
+ ```bash
123
+ /myai-wordpress-publish "article.md" \
124
+ --status published \
125
+ --categories "Technology,Programming" \
126
+ --tags "nodejs,api,rest"
127
+ ```
128
+
129
+ **Features**:
130
+ - Automatic Gutenberg block conversion
131
+ - Featured image upload
132
+ - Category and tag management
133
+ - Draft and publish workflow
134
+
135
+ ### PayloadCMS Publishing
136
+
137
+ **Configuration** (.env):
138
+ ```
139
+ PAYLOADCMS_URL=https://cms.your-site.com
140
+ PAYLOADCMS_EMAIL=admin@your-site.com
141
+ PAYLOADCMS_PASSWORD=your-password
142
+ ```
143
+
144
+ **Basic Publishing**:
145
+ ```bash
146
+ /myai-payloadcms-publish "article.md"
147
+ ```
148
+
149
+ **With Options**:
150
+ ```bash
151
+ /myai-payloadcms-publish "article.md" \
152
+ --collection articles \
153
+ --status published \
154
+ --id 67890
155
+ ```
156
+
157
+ **Features**:
158
+ - Markdown to Lexical conversion
159
+ - Custom collections support
160
+ - JWT authentication
161
+ - Document updates by ID
162
+
163
+ ### Docusaurus Publishing
164
+
165
+ **Prerequisites**:
166
+ - Docusaurus project with `docusaurus.config.js`
167
+ - Git repository initialized
168
+
169
+ **Configuration** (.env):
170
+ ```
171
+ DOCUSAURUS_PROJECT_PATH=./my-docs
172
+ GIT_USER_NAME=Your Name
173
+ GIT_USER_EMAIL=your-email@example.com
174
+ ```
175
+
176
+ **Publishing to Docs**:
177
+ ```bash
178
+ /myai-docusaurus-publish "guide.md"
179
+ ```
180
+
181
+ **Publishing to Blog**:
182
+ ```bash
183
+ /myai-docusaurus-publish "post.md" --type blog
184
+ ```
185
+
186
+ **Features**:
187
+ - Automatic frontmatter transformation
188
+ - Sidebar configuration
189
+ - Blog date prefixing
190
+ - Git commit and push
191
+
192
+ ### Mintlify Publishing
193
+
194
+ **Prerequisites**:
195
+ - Mintlify project with `mint.json`
196
+ - Git repository initialized
197
+
198
+ **Configuration** (.env):
199
+ ```
200
+ MINTLIFY_PROJECT_PATH=./docs
201
+ GIT_USER_NAME=Your Name
202
+ GIT_USER_EMAIL=your-email@example.com
203
+ ```
204
+
205
+ **Basic Publishing**:
206
+ ```bash
207
+ /myai-mintlify-publish "guide.mdx"
208
+ ```
209
+
210
+ **With Navigation**:
211
+ ```bash
212
+ /myai-mintlify-publish "api-reference.md" \
213
+ --nav-section "API Reference"
214
+ ```
215
+
216
+ **Features**:
217
+ - Automatic mint.json updates
218
+ - Navigation section management
219
+ - MDX support
220
+ - Icon customization
221
+
222
+ ### Astro Publishing
223
+
224
+ **Prerequisites**:
225
+ - Astro project with `astro.config.mjs`
226
+ - Git repository initialized
227
+
228
+ **Configuration** (.env):
229
+ ```
230
+ ASTRO_PROJECT_PATH=./my-site
231
+ GIT_USER_NAME=Your Name
232
+ GIT_USER_EMAIL=your-email@example.com
233
+ ```
234
+
235
+ **Publishing to Collection**:
236
+ ```bash
237
+ /myai-astro-publish "article.md" --collection blog
238
+ ```
239
+
240
+ **Publishing to Pages**:
241
+ ```bash
242
+ /myai-astro-publish "about.md" --pages
243
+ ```
244
+
245
+ **Features**:
246
+ - Content collections support
247
+ - Schema validation
248
+ - Frontmatter transformation (date → pubDate)
249
+ - Draft/published workflow
250
+
251
+ ## Configuration
252
+
253
+ ### Using /myai-configure
254
+
255
+ Interactive configuration command:
256
+
257
+ ```bash
258
+ /myai-configure
259
+ ```
260
+
261
+ Prompts for:
262
+ 1. Platform selection
263
+ 2. Credentials and URLs
264
+ 3. Optional settings
265
+
266
+ ### Manual Configuration
267
+
268
+ Edit `.env` file directly:
269
+
270
+ ```env
271
+ # WordPress
272
+ WORDPRESS_URL=https://your-wordpress-site.com
273
+ WORDPRESS_USERNAME=your-username
274
+ WORDPRESS_APP_PASSWORD=your-app-password
275
+
276
+ # PayloadCMS
277
+ PAYLOADCMS_URL=https://your-payloadcms.com
278
+ PAYLOADCMS_EMAIL=your-email@example.com
279
+ PAYLOADCMS_PASSWORD=your-password
280
+
281
+ # Git (for static sites)
282
+ GIT_USER_NAME=Your Name
283
+ GIT_USER_EMAIL=your-email@example.com
284
+
285
+ # Project Paths (optional)
286
+ DOCUSAURUS_PROJECT_PATH=./docs-site
287
+ MINTLIFY_PROJECT_PATH=./docs
288
+ ASTRO_PROJECT_PATH=./blog
289
+ ```
290
+
291
+ ## Workflows
292
+
293
+ ### Content Creation → Publishing
294
+
295
+ ```bash
296
+ # 1. Create content
297
+ /myai-content-writer "Building Scalable APIs"
298
+
299
+ # 2. Review and edit
300
+ # Edit the generated markdown file
301
+
302
+ # 3. Publish to multiple platforms
303
+ /myai-wordpress-publish "building-scalable-apis.md" --status draft
304
+ /myai-docusaurus-publish "building-scalable-apis.md" --type blog
305
+ /myai-payloadcms-publish "building-scalable-apis.md" --collection articles
306
+ ```
307
+
308
+ ### Multi-Platform Publishing
309
+
310
+ Publish the same content to multiple platforms:
311
+
312
+ ```bash
313
+ FILE="my-article.md"
314
+
315
+ # WordPress (for SEO and broad reach)
316
+ /myai-wordpress-publish "$FILE" --status published
317
+
318
+ # Docusaurus (for technical documentation)
319
+ /myai-docusaurus-publish "$FILE" --type docs
320
+
321
+ # PayloadCMS (for headless CMS API access)
322
+ /myai-payloadcms-publish "$FILE" --collection articles --status published
323
+ ```
324
+
325
+ ### Draft → Review → Publish
326
+
327
+ ```bash
328
+ # 1. Publish as draft
329
+ /myai-wordpress-publish "article.md" --status draft
330
+
331
+ # 2. Review on platform
332
+ # Review content on WordPress admin
333
+
334
+ # 3. Update to published
335
+ /myai-wordpress-publish "article.md" --status published --id 12345
336
+ ```
337
+
338
+ ### Git-Based Deployment
339
+
340
+ For static sites (Docusaurus, Mintlify, Astro):
341
+
342
+ ```bash
343
+ # 1. Publish to staging
344
+ /myai-docusaurus-publish "guide.md" --branch staging
345
+
346
+ # 2. Review deployment
347
+ # Check staging environment
348
+
349
+ # 3. Publish to production
350
+ /myai-docusaurus-publish "guide.md" --branch main
351
+ ```
352
+
353
+ ## Script Usage
354
+
355
+ All publishing operations can also be invoked via npm scripts:
356
+
357
+ ```bash
358
+ # PayloadCMS
359
+ npm run payloadcms:publish -- --file article.md --status published
360
+
361
+ # Docusaurus
362
+ npm run docusaurus:publish -- --file guide.md --type docs
363
+
364
+ # Mintlify
365
+ npm run mintlify:publish -- --file api-ref.md --nav-section "API"
366
+
367
+ # Astro
368
+ npm run astro:publish -- --file post.md --collection blog
369
+ ```
370
+
371
+ ## Troubleshooting
372
+
373
+ ### Authentication Failures
374
+
375
+ **WordPress**:
376
+ - Verify Application Password is correct
377
+ - Check URL includes `https://`
378
+ - Ensure WordPress REST API is enabled
379
+
380
+ **PayloadCMS**:
381
+ - Verify email/password combination
382
+ - Check PayloadCMS instance is accessible
383
+ - Try using API key instead of password
384
+
385
+ ### Git Errors
386
+
387
+ **Uncommitted Changes**:
388
+ ```bash
389
+ # Commit or stash existing changes first
390
+ git stash
391
+ # Then retry publishing
392
+ ```
393
+
394
+ **Push Rejected**:
395
+ ```bash
396
+ # Pull latest changes first
397
+ cd /path/to/project
398
+ git pull --rebase
399
+ # Then retry publishing
400
+ ```
401
+
402
+ ### Frontmatter Issues
403
+
404
+ **Docusaurus**:
405
+ - Ensure `title` field is present
406
+ - Check `sidebar_position` is a number
407
+
408
+ **Astro**:
409
+ - Verify `pubDate` is ISO 8601 format
410
+ - Check collection schema requirements
411
+
412
+ **Mintlify**:
413
+ - Ensure `title` field is present
414
+ - Verify MDX syntax is valid
415
+
416
+ ### Platform Detection
417
+
418
+ If platform not detected:
419
+
420
+ ```bash
421
+ # Specify project path explicitly
422
+ /myai-docusaurus-publish "guide.md" --project /path/to/docs
423
+
424
+ # Or set in .env
425
+ echo "DOCUSAURUS_PROJECT_PATH=/path/to/docs" >> .env
426
+ ```
427
+
428
+ ## Best Practices
429
+
430
+ 1. **Always start with drafts**: Publish as draft first, review, then publish
431
+ 2. **Use consistent frontmatter**: Maintain standard frontmatter across content
432
+ 3. **Test on staging**: Use git branches for staging/production workflow
433
+ 4. **Version control**: Commit content to git before publishing
434
+ 5. **Backup regularly**: Keep local copies of all content
435
+ 6. **Monitor deployments**: Check build status after git push
436
+ 7. **Validate schemas**: Test frontmatter against platform requirements
437
+
438
+ ## Advanced Topics
439
+
440
+ ### Custom Frontmatter
441
+
442
+ Each platform accepts different frontmatter fields. Common fields:
443
+
444
+ ```yaml
445
+ ---
446
+ # Universal
447
+ title: "Article Title"
448
+ description: "Article description"
449
+ date: 2025-10-16
450
+
451
+ # WordPress-specific
452
+ categories: ["Tech", "Programming"]
453
+ tags: ["nodejs", "api"]
454
+ status: draft
455
+
456
+ # Docusaurus-specific
457
+ sidebar_position: 1
458
+ sidebar_label: "Custom Label"
459
+
460
+ # Astro-specific
461
+ pubDate: 2025-10-16T00:00:00Z
462
+ draft: false
463
+ author: "Author Name"
464
+
465
+ # Mintlify-specific
466
+ icon: "rocket"
467
+ iconType: "solid"
468
+ ---
469
+ ```
470
+
471
+ ### Automated Publishing
472
+
473
+ Create shell scripts for automated workflows:
474
+
475
+ ```bash
476
+ #!/bin/bash
477
+ # publish-everywhere.sh
478
+
479
+ FILE=$1
480
+
481
+ /myai-wordpress-publish "$FILE" --status published
482
+ /myai-payloadcms-publish "$FILE" --status published
483
+ /myai-docusaurus-publish "$FILE" --type blog
484
+ ```
485
+
486
+ ### CI/CD Integration
487
+
488
+ Integrate with GitHub Actions, GitLab CI, or other CI/CD:
489
+
490
+ ```yaml
491
+ # .github/workflows/publish.yml
492
+ name: Publish Documentation
493
+ on:
494
+ push:
495
+ paths:
496
+ - 'content/**'
497
+ jobs:
498
+ publish:
499
+ runs-on: ubuntu-latest
500
+ steps:
501
+ - uses: actions/checkout@v2
502
+ - run: npm install -g myaidev-method
503
+ - run: /myai-docusaurus-publish content/*.md
504
+ ```
505
+
506
+ ## Support
507
+
508
+ - **Documentation**: See platform-specific docs (WORDPRESS_ADMIN_SCRIPTS.md, etc.)
509
+ - **Issues**: https://github.com/myaione/myaidev-method/issues
510
+ - **NPM**: https://www.npmjs.com/package/myaidev-method
511
+ - **GitHub**: https://github.com/myaione/myaidev-method
512
+
513
+ ## Next Steps
514
+
515
+ 1. Configure your platforms: `/myai-configure`
516
+ 2. Create test content: `/myai-content-writer "Test Article"`
517
+ 3. Publish to staging/draft first
518
+ 4. Review and iterate
519
+ 5. Publish to production
520
+
521
+ Happy publishing! 🚀