planflow-plugin 0.1.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 (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +93 -0
  3. package/bin/cli.js +169 -0
  4. package/bin/postinstall.js +87 -0
  5. package/commands/pfActivity/SKILL.md +725 -0
  6. package/commands/pfAssign/SKILL.md +623 -0
  7. package/commands/pfCloudLink/SKILL.md +192 -0
  8. package/commands/pfCloudList/SKILL.md +222 -0
  9. package/commands/pfCloudNew/SKILL.md +187 -0
  10. package/commands/pfCloudUnlink/SKILL.md +152 -0
  11. package/commands/pfComment/SKILL.md +227 -0
  12. package/commands/pfComments/SKILL.md +159 -0
  13. package/commands/pfConnectionStatus/SKILL.md +433 -0
  14. package/commands/pfDiscord/SKILL.md +740 -0
  15. package/commands/pfGithubBranch/SKILL.md +672 -0
  16. package/commands/pfGithubIssue/SKILL.md +963 -0
  17. package/commands/pfGithubLink/SKILL.md +859 -0
  18. package/commands/pfGithubPr/SKILL.md +1335 -0
  19. package/commands/pfGithubUnlink/SKILL.md +401 -0
  20. package/commands/pfLive/SKILL.md +185 -0
  21. package/commands/pfLogin/SKILL.md +249 -0
  22. package/commands/pfLogout/SKILL.md +155 -0
  23. package/commands/pfMyTasks/SKILL.md +198 -0
  24. package/commands/pfNotificationSettings/SKILL.md +619 -0
  25. package/commands/pfNotifications/SKILL.md +420 -0
  26. package/commands/pfNotificationsClear/SKILL.md +421 -0
  27. package/commands/pfReact/SKILL.md +232 -0
  28. package/commands/pfSlack/SKILL.md +659 -0
  29. package/commands/pfSyncPull/SKILL.md +210 -0
  30. package/commands/pfSyncPush/SKILL.md +299 -0
  31. package/commands/pfSyncStatus/SKILL.md +212 -0
  32. package/commands/pfTeamInvite/SKILL.md +161 -0
  33. package/commands/pfTeamList/SKILL.md +253 -0
  34. package/commands/pfTeamRemove/SKILL.md +115 -0
  35. package/commands/pfTeamRole/SKILL.md +160 -0
  36. package/commands/pfTestWebhooks/SKILL.md +722 -0
  37. package/commands/pfUnassign/SKILL.md +134 -0
  38. package/commands/pfWhoami/SKILL.md +258 -0
  39. package/commands/pfWorkload/SKILL.md +219 -0
  40. package/commands/planExportCsv/SKILL.md +106 -0
  41. package/commands/planExportGithub/SKILL.md +222 -0
  42. package/commands/planExportJson/SKILL.md +159 -0
  43. package/commands/planExportSummary/SKILL.md +158 -0
  44. package/commands/planNew/SKILL.md +641 -0
  45. package/commands/planNext/SKILL.md +1200 -0
  46. package/commands/planSettingsAutoSync/SKILL.md +199 -0
  47. package/commands/planSettingsLanguage/SKILL.md +201 -0
  48. package/commands/planSettingsReset/SKILL.md +237 -0
  49. package/commands/planSettingsShow/SKILL.md +482 -0
  50. package/commands/planSpec/SKILL.md +929 -0
  51. package/commands/planUpdate/SKILL.md +2518 -0
  52. package/commands/team/SKILL.md +740 -0
  53. package/locales/en.json +1499 -0
  54. package/locales/ka.json +1499 -0
  55. package/package.json +48 -0
  56. package/templates/PROJECT_PLAN.template.md +157 -0
  57. package/templates/backend-api.template.md +562 -0
  58. package/templates/frontend-spa.template.md +610 -0
  59. package/templates/fullstack.template.md +397 -0
  60. package/templates/ka/backend-api.template.md +562 -0
  61. package/templates/ka/frontend-spa.template.md +610 -0
  62. package/templates/ka/fullstack.template.md +397 -0
  63. package/templates/sections/architecture.md +21 -0
  64. package/templates/sections/overview.md +15 -0
  65. package/templates/sections/tasks.md +22 -0
  66. package/templates/sections/tech-stack.md +19 -0
@@ -0,0 +1,562 @@
1
+ # {{PROJECT_NAME}} - Backend API Project Plan
2
+
3
+ *Generated: {{CREATED_DATE}}*
4
+ *Last Updated: {{LAST_UPDATED}}*
5
+
6
+ ## Overview
7
+
8
+ **Project Name**: {{PROJECT_NAME}}
9
+
10
+ **Description**: {{DESCRIPTION}}
11
+
12
+ **Target Users**: {{TARGET_USERS}}
13
+
14
+ **Project Type**: Backend API
15
+
16
+ **Status**: {{STATUS}} ({{PROGRESS_PERCENT}}% complete)
17
+
18
+ ---
19
+
20
+ ## Problem Statement
21
+
22
+ **Current Pain Points:**
23
+ {{PAIN_POINTS}}
24
+
25
+ **Solution:**
26
+ {{SOLUTION}}
27
+
28
+ **Key Features:**
29
+ {{KEY_FEATURES}}
30
+
31
+ ---
32
+
33
+ ## Architecture
34
+
35
+ ### System Overview
36
+
37
+ ```mermaid
38
+ graph TB
39
+ subgraph "API Gateway"
40
+ A[Load Balancer]
41
+ B[Rate Limiter]
42
+ end
43
+
44
+ subgraph "Application Layer"
45
+ C[API Server<br/>{{BACKEND_FRAMEWORK}}]
46
+ D[Authentication]
47
+ E[Business Logic]
48
+ F[Background Jobs]
49
+ end
50
+
51
+ subgraph "Data Layer"
52
+ G[{{DATABASE}}]
53
+ H[Cache<br/>Redis]
54
+ I[Message Queue]
55
+ end
56
+
57
+ subgraph "External Services"
58
+ J[Email Service]
59
+ K[File Storage<br/>S3]
60
+ L[Third-party APIs]
61
+ M[Analytics]
62
+ end
63
+
64
+ A --> B
65
+ B --> C
66
+ C --> D
67
+ C --> E
68
+ E --> G
69
+ E --> H
70
+ F --> I
71
+ F --> G
72
+ C --> J
73
+ C --> K
74
+ C --> L
75
+ C --> M
76
+ ```
77
+
78
+ ### API Architecture
79
+
80
+ ```mermaid
81
+ graph LR
82
+ subgraph "Request Flow"
83
+ A[Client] -->|HTTP| B[Middleware Chain]
84
+ B --> C[Authentication]
85
+ C --> D[Validation]
86
+ D --> E[Controller]
87
+ E --> F[Service Layer]
88
+ F --> G[Data Layer]
89
+ G --> F
90
+ F --> E
91
+ E --> H[Response]
92
+ end
93
+ ```
94
+
95
+ ### Data Flow
96
+
97
+ ```mermaid
98
+ sequenceDiagram
99
+ participant Client
100
+ participant API
101
+ participant Cache
102
+ participant Queue
103
+ participant Database
104
+ participant External
105
+
106
+ Client->>API: Request
107
+ API->>Cache: Check Cache
108
+ alt Cache Hit
109
+ Cache-->>API: Return Data
110
+ else Cache Miss
111
+ API->>Database: Query
112
+ Database-->>API: Data
113
+ API->>Cache: Update
114
+ end
115
+
116
+ opt Async Task
117
+ API->>Queue: Add Job
118
+ Queue->>External: Process
119
+ end
120
+
121
+ API-->>Client: Response
122
+ ```
123
+
124
+ ---
125
+
126
+ ## Tech Stack
127
+
128
+ ### Backend Framework
129
+ - **Framework**: {{BACKEND_FRAMEWORK}} (Express.js, NestJS, Fastify, Django, Flask, Spring Boot)
130
+ - **Language**: {{BACKEND_LANGUAGE}} (TypeScript, Python, Java, Go)
131
+ - **Runtime**: {{RUNTIME}} (Node.js, Python 3.x, JVM, Go)
132
+
133
+ ### API & Communication
134
+ - **API Style**: {{API_STYLE}} (REST, GraphQL, gRPC, tRPC)
135
+ - **Documentation**: {{API_DOCS}} (Swagger/OpenAPI, GraphQL Playground)
136
+ - **Validation**: {{VALIDATION}} (Zod, Joi, Pydantic, class-validator)
137
+ - **Serialization**: JSON / Protocol Buffers
138
+
139
+ ### Authentication & Security
140
+ - **Auth Method**: {{AUTH_METHOD}} (JWT, OAuth 2.0, API Keys, SAML)
141
+ - **Authorization**: {{AUTHORIZATION}} (RBAC, ABAC, Policy-based)
142
+ - **Encryption**: bcrypt for passwords, TLS/SSL for transport
143
+ - **Rate Limiting**: Redis-based rate limiting
144
+ - **CORS**: Configurable CORS middleware
145
+
146
+ ### Database
147
+ - **Primary**: {{DATABASE}} (PostgreSQL, MySQL, MongoDB, Cassandra)
148
+ - **ORM/ODM**: {{ORM}} (Prisma, TypeORM, Sequelize, Mongoose, SQLAlchemy)
149
+ - **Migrations**: {{MIGRATION_TOOL}}
150
+ - **Cache**: Redis / Memcached
151
+ - **Search**: {{SEARCH_ENGINE}} (Elasticsearch, MeiliSearch - if needed)
152
+
153
+ ### Background Jobs & Queues
154
+ - **Queue**: {{QUEUE}} (Bull, BullMQ, Celery, RabbitMQ, AWS SQS)
155
+ - **Scheduler**: {{SCHEDULER}} (node-cron, APScheduler, Quartz)
156
+ - **Workers**: Background worker processes
157
+
158
+ ### DevOps & Infrastructure
159
+ - **Hosting**: {{HOSTING}} (AWS, GCP, Azure, DigitalOcean, Railway)
160
+ - **Containerization**: Docker + Docker Compose
161
+ - **Orchestration**: {{ORCHESTRATION}} (Kubernetes, Docker Swarm - if needed)
162
+ - **CI/CD**: GitHub Actions / GitLab CI / Jenkins
163
+ - **Monitoring**: {{MONITORING}} (Datadog, New Relic, Prometheus + Grafana)
164
+ - **Logging**: {{LOGGING}} (Winston, Pino, ELK Stack, CloudWatch)
165
+ - **Error Tracking**: Sentry / Rollbar
166
+
167
+ ### Development Tools
168
+ - **Version Control**: Git + GitHub/GitLab
169
+ - **Package Manager**: {{PACKAGE_MANAGER}} (npm, yarn, pnpm, pip, maven)
170
+ - **Code Quality**: {{LINTER}} (ESLint, Pylint, Checkstyle) + Prettier
171
+ - **API Testing**: Postman / Insomnia / curl
172
+ - **Database Client**: {{DB_CLIENT}} (pgAdmin, MongoDB Compass, DataGrip)
173
+ - **Load Testing**: {{LOAD_TEST}} (k6, Apache JMeter, Locust)
174
+
175
+ ### Testing
176
+ - **Unit Tests**: {{UNIT_TEST}} (Jest, Vitest, pytest, JUnit)
177
+ - **Integration Tests**: {{INTEGRATION_TEST}} (Supertest, TestContainers)
178
+ - **API Tests**: Postman Collections / Newman
179
+ - **Load Tests**: k6 / Artillery
180
+ - **Coverage**: {{COVERAGE_TOOL}} (Istanbul, Coverage.py)
181
+
182
+ ---
183
+
184
+ ## Project Structure
185
+
186
+ ```
187
+ {{PROJECT_NAME}}/
188
+ ├── src/
189
+ │ ├── controllers/ # Request handlers
190
+ │ │ ├── auth.controller.ts
191
+ │ │ ├── user.controller.ts
192
+ │ │ └── ...
193
+ │ │
194
+ │ ├── services/ # Business logic
195
+ │ │ ├── auth.service.ts
196
+ │ │ ├── user.service.ts
197
+ │ │ └── ...
198
+ │ │
199
+ │ ├── models/ # Data models
200
+ │ │ ├── user.model.ts
201
+ │ │ └── ...
202
+ │ │
203
+ │ ├── routes/ # API route definitions
204
+ │ │ ├── index.ts
205
+ │ │ ├── auth.routes.ts
206
+ │ │ └── ...
207
+ │ │
208
+ │ ├── middleware/ # Custom middleware
209
+ │ │ ├── auth.middleware.ts
210
+ │ │ ├── error.middleware.ts
211
+ │ │ ├── validation.middleware.ts
212
+ │ │ └── ...
213
+ │ │
214
+ │ ├── utils/ # Helper functions
215
+ │ │ ├── logger.ts
216
+ │ │ ├── validator.ts
217
+ │ │ └── ...
218
+ │ │
219
+ │ ├── config/ # Configuration
220
+ │ │ ├── database.ts
221
+ │ │ ├── redis.ts
222
+ │ │ └── ...
223
+ │ │
224
+ │ ├── jobs/ # Background jobs
225
+ │ │ └── email.job.ts
226
+ │ │
227
+ │ ├── types/ # TypeScript types
228
+ │ │ └── index.ts
229
+ │ │
230
+ │ └── index.ts # Entry point
231
+
232
+ ├── tests/ # Test files
233
+ │ ├── unit/
234
+ │ ├── integration/
235
+ │ └── e2e/
236
+
237
+ ├── migrations/ # Database migrations
238
+ │ └── ...
239
+
240
+ ├── scripts/ # Utility scripts
241
+ │ ├── seed.ts
242
+ │ └── migrate.ts
243
+
244
+ ├── docs/ # API documentation
245
+ │ └── api.md
246
+
247
+ ├── .env.example # Environment variables template
248
+ ├── .gitignore
249
+ ├── docker-compose.yml # Local development setup
250
+ ├── Dockerfile
251
+ ├── package.json
252
+ ├── tsconfig.json
253
+ └── README.md
254
+ ```
255
+
256
+ ---
257
+
258
+ ## Tasks & Implementation Plan
259
+
260
+ ### Phase 1: Foundation (Est: {{PHASE1_ESTIMATE}})
261
+
262
+ #### T1.1: Project Setup
263
+ - [ ] **Status**: TODO
264
+ - **Complexity**: Low
265
+ - **Estimated**: 1.5 hours
266
+ - **Dependencies**: None
267
+ - **Description**:
268
+ - Initialize {{BACKEND_FRAMEWORK}} project
269
+ - Configure TypeScript/Language settings
270
+ - Setup ESLint + Prettier
271
+ - Create .env.example
272
+ - Setup project structure
273
+ - Initialize Git repository
274
+ - Create basic README
275
+
276
+ #### T1.2: Database Configuration
277
+ - [ ] **Status**: TODO
278
+ - **Complexity**: Medium
279
+ - **Estimated**: 3 hours
280
+ - **Dependencies**: T1.1
281
+ - **Description**:
282
+ - Setup {{DATABASE}} connection
283
+ - Configure {{ORM}}
284
+ - Create initial schema
285
+ - Setup migration system
286
+ - Create seed data scripts
287
+ - Add database health check endpoint
288
+
289
+ #### T1.3: Core Middleware
290
+ - [ ] **Status**: TODO
291
+ - **Complexity**: Medium
292
+ - **Estimated**: 3 hours
293
+ - **Dependencies**: T1.1
294
+ - **Description**:
295
+ - Request logging middleware
296
+ - Error handling middleware
297
+ - CORS configuration
298
+ - Request validation middleware
299
+ - Rate limiting middleware
300
+ - Helmet.js security headers
301
+
302
+ #### T1.4: Authentication System
303
+ - [ ] **Status**: TODO
304
+ - **Complexity**: High
305
+ - **Estimated**: 6 hours
306
+ - **Dependencies**: T1.2
307
+ - **Description**:
308
+ - Implement {{AUTH_METHOD}} authentication
309
+ - Create User model
310
+ - Password hashing (bcrypt)
311
+ - Login/Register endpoints
312
+ - Token generation/validation
313
+ - Auth middleware
314
+ - Refresh token mechanism
315
+ - Password reset flow
316
+
317
+ ---
318
+
319
+ ### Phase 2: Core API (Est: {{PHASE2_ESTIMATE}})
320
+
321
+ {{CORE_API_TASKS}}
322
+
323
+ ---
324
+
325
+ ### Phase 3: Advanced Features (Est: {{PHASE3_ESTIMATE}})
326
+
327
+ #### T3.1: Caching Layer
328
+ - [ ] **Status**: TODO
329
+ - **Complexity**: Medium
330
+ - **Estimated**: 4 hours
331
+ - **Description**:
332
+ - Setup Redis connection
333
+ - Implement caching middleware
334
+ - Cache frequently accessed data
335
+ - Cache invalidation strategy
336
+ - Add cache warming scripts
337
+
338
+ #### T3.2: Background Jobs
339
+ - [ ] **Status**: TODO
340
+ - **Complexity**: High
341
+ - **Estimated**: 6 hours
342
+ - **Description**:
343
+ - Setup job queue ({{QUEUE}})
344
+ - Create worker processes
345
+ - Implement email jobs
346
+ - Implement data processing jobs
347
+ - Add job monitoring/retry logic
348
+ - Create job scheduling system
349
+
350
+ #### T3.3: Search Functionality
351
+ - [ ] **Status**: TODO
352
+ - **Complexity**: High
353
+ - **Estimated**: 6 hours
354
+ - **Description**:
355
+ - Setup {{SEARCH_ENGINE}}
356
+ - Index important data
357
+ - Implement search endpoints
358
+ - Add filtering and pagination
359
+ - Optimize search performance
360
+
361
+ #### T3.4: File Upload/Storage
362
+ - [ ] **Status**: TODO
363
+ - **Complexity**: Medium
364
+ - **Estimated**: 4 hours
365
+ - **Description**:
366
+ - Setup file storage ({{STORAGE}})
367
+ - Implement upload endpoint
368
+ - Add file validation
369
+ - Image processing (resize, optimize)
370
+ - Generate signed URLs
371
+ - Add file deletion endpoint
372
+
373
+ ---
374
+
375
+ ### Phase 4: Testing, Monitoring & Deployment (Est: {{PHASE4_ESTIMATE}})
376
+
377
+ #### T4.1: Testing Suite
378
+ - [ ] **Status**: TODO
379
+ - **Complexity**: High
380
+ - **Estimated**: 8 hours
381
+ - **Description**:
382
+ - Write unit tests for services
383
+ - Write integration tests for API endpoints
384
+ - Add test fixtures and factories
385
+ - Setup test database
386
+ - Add coverage reporting
387
+ - Create CI test pipeline
388
+
389
+ #### T4.2: Monitoring & Logging
390
+ - [ ] **Status**: TODO
391
+ - **Complexity**: Medium
392
+ - **Estimated**: 4 hours
393
+ - **Dependencies**: T4.1
394
+ - **Description**:
395
+ - Setup structured logging
396
+ - Add request/response logging
397
+ - Implement error tracking (Sentry)
398
+ - Add performance monitoring
399
+ - Create health check endpoints
400
+ - Setup alerting rules
401
+
402
+ #### T4.3: API Documentation
403
+ - [ ] **Status**: TODO
404
+ - **Complexity**: Low
405
+ - **Estimated**: 2 hours
406
+ - **Description**:
407
+ - Generate OpenAPI/Swagger docs
408
+ - Add endpoint descriptions
409
+ - Include request/response examples
410
+ - Add authentication documentation
411
+ - Create Postman collection
412
+
413
+ #### T4.4: Deployment
414
+ - [ ] **Status**: TODO
415
+ - **Complexity**: High
416
+ - **Estimated**: 6 hours
417
+ - **Dependencies**: T4.1, T4.2, T4.3
418
+ - **Description**:
419
+ - Create Dockerfile
420
+ - Setup Docker Compose for production
421
+ - Configure CI/CD pipeline
422
+ - Setup environment variables
423
+ - Configure SSL/TLS
424
+ - Deploy to {{HOSTING}}
425
+ - Setup database backups
426
+ - Configure auto-scaling (if needed)
427
+
428
+ ---
429
+
430
+ ## Progress Tracking
431
+
432
+ ### Overall Status
433
+ **Total Tasks**: {{TOTAL_TASKS}}
434
+ **Completed**: {{COMPLETED_TASKS}} {{PROGRESS_BAR}} ({{PROGRESS_PERCENT}}%)
435
+ **In Progress**: {{IN_PROGRESS_TASKS}}
436
+ **Blocked**: {{BLOCKED_TASKS}}
437
+
438
+ ### Phase Progress
439
+ - Phase 1: Foundation → {{PHASE1_PROGRESS}}%
440
+ - Phase 2: Core API → {{PHASE2_PROGRESS}}%
441
+ - Phase 3: Advanced Features → {{PHASE3_PROGRESS}}%
442
+ - Phase 4: Testing & Deployment → {{PHASE4_PROGRESS}}%
443
+
444
+ ### Current Focus
445
+ {{CURRENT_FOCUS}}
446
+
447
+ ---
448
+
449
+ ## API Endpoints
450
+
451
+ ### Authentication
452
+ ```
453
+ POST /api/auth/register - Register new user
454
+ POST /api/auth/login - Login user
455
+ POST /api/auth/logout - Logout user
456
+ POST /api/auth/refresh - Refresh access token
457
+ POST /api/auth/forgot-password - Request password reset
458
+ POST /api/auth/reset-password - Reset password
459
+ ```
460
+
461
+ ### {{MAIN_RESOURCE}}
462
+ ```
463
+ {{API_ENDPOINTS}}
464
+ ```
465
+
466
+ ---
467
+
468
+ ## Success Criteria
469
+
470
+ ### Minimum Viable Product (MVP)
471
+ - Authentication and authorization working
472
+ - Core CRUD operations functional
473
+ - Input validation on all endpoints
474
+ - Error handling implemented
475
+ - API documentation complete
476
+ - Basic caching implemented
477
+ - Deployed to production
478
+
479
+ ### Nice to Have (v1.1+)
480
+ {{NICE_TO_HAVE}}
481
+
482
+ ---
483
+
484
+ ## Technical Decisions & Notes
485
+
486
+ ### Why {{BACKEND_FRAMEWORK}}?
487
+ {{BACKEND_REASONING}}
488
+
489
+ ### Why {{DATABASE}}?
490
+ {{DATABASE_REASONING}}
491
+
492
+ ### API Design Principles
493
+ {{API_PRINCIPLES}}
494
+
495
+ ### Error Handling Strategy
496
+ {{ERROR_HANDLING}}
497
+
498
+ ---
499
+
500
+ ## Resources & References
501
+
502
+ ### Documentation
503
+ - [{{BACKEND_FRAMEWORK}} Docs]({{BACKEND_DOCS_URL}})
504
+ - [{{DATABASE}} Docs]({{DATABASE_DOCS_URL}})
505
+ - [{{ORM}} Docs]({{ORM_DOCS_URL}})
506
+
507
+ ### Tools & Libraries
508
+ {{TOOLS_LIBRARIES}}
509
+
510
+ ---
511
+
512
+ ## Performance Benchmarks
513
+
514
+ ### Target Metrics
515
+ - **Response Time**: < 200ms for 95th percentile
516
+ - **Throughput**: {{TARGET_RPS}} requests/second
517
+ - **Availability**: 99.9% uptime
518
+ - **Error Rate**: < 0.1%
519
+
520
+ ### Load Testing Results
521
+ {{LOAD_TEST_RESULTS}}
522
+
523
+ ---
524
+
525
+ ## Security Considerations
526
+
527
+ ### Security Measures
528
+ - HTTPS only in production
529
+ - JWT token expiration (15 min access, 7 days refresh)
530
+ - Rate limiting (100 req/15min per IP)
531
+ - Input validation on all endpoints
532
+ - SQL injection prevention (parameterized queries)
533
+ - XSS prevention
534
+ - CSRF protection
535
+ - Helmet.js security headers
536
+
537
+ ### Security Audit Checklist
538
+ {{SECURITY_CHECKLIST}}
539
+
540
+ ---
541
+
542
+ ## Risk Management
543
+
544
+ ### Potential Risks
545
+ 1. **Database Performance**: Slow queries with large datasets
546
+ - **Mitigation**: Proper indexing, query optimization, caching
547
+ 2. **API Downtime**: Service unavailability
548
+ - **Mitigation**: Load balancing, auto-scaling, health checks
549
+ 3. **Data Loss**: Database failures
550
+ - **Mitigation**: Regular backups, replication, point-in-time recovery
551
+
552
+ {{ADDITIONAL_RISKS}}
553
+
554
+ ---
555
+
556
+ ## Future Enhancements
557
+
558
+ {{FUTURE_ENHANCEMENTS}}
559
+
560
+ ---
561
+
562
+ *Generated by plan-plugin v{{PLUGIN_VERSION}}*