proagents 1.3.0 → 1.5.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/README.md +47 -0
- package/package.json +1 -1
- package/proagents/AI_INSTRUCTIONS.md +869 -0
- package/proagents/PROAGENTS.md +54 -0
package/README.md
CHANGED
|
@@ -357,6 +357,53 @@ Type these in any AI assistant (Claude, ChatGPT, Gemini, Cursor, etc.):
|
|
|
357
357
|
| `pa:tag` | Create git tag |
|
|
358
358
|
| `pa:publish` | Publish package to registry |
|
|
359
359
|
|
|
360
|
+
### Code Review & PR
|
|
361
|
+
| Command | Description |
|
|
362
|
+
|---------|-------------|
|
|
363
|
+
| `pa:review-request` | Request code review from team |
|
|
364
|
+
| `pa:review-comments` | Show PR review comments |
|
|
365
|
+
| `pa:review-approve` | Approve current PR |
|
|
366
|
+
|
|
367
|
+
### Architecture
|
|
368
|
+
| Command | Description |
|
|
369
|
+
|---------|-------------|
|
|
370
|
+
| `pa:architecture` | Show architecture overview |
|
|
371
|
+
| `pa:architecture-diagram` | Generate diagram (Mermaid) |
|
|
372
|
+
| `pa:architecture-export` | Export diagram (SVG/PNG) |
|
|
373
|
+
|
|
374
|
+
### API Testing
|
|
375
|
+
| Command | Description |
|
|
376
|
+
|---------|-------------|
|
|
377
|
+
| `pa:api-test` | Test API endpoints |
|
|
378
|
+
| `pa:curl` | Generate curl commands |
|
|
379
|
+
| `pa:postman` | Generate Postman collection |
|
|
380
|
+
|
|
381
|
+
### Health & Monitoring
|
|
382
|
+
| Command | Description |
|
|
383
|
+
|---------|-------------|
|
|
384
|
+
| `pa:health` | Project health check |
|
|
385
|
+
| `pa:monitor` | Show monitoring status |
|
|
386
|
+
| `pa:uptime` | Service uptime check |
|
|
387
|
+
|
|
388
|
+
### Quick Actions
|
|
389
|
+
| Command | Description |
|
|
390
|
+
|---------|-------------|
|
|
391
|
+
| `pa:quick` | Show quick actions menu |
|
|
392
|
+
| `pa:alias` | Manage command aliases |
|
|
393
|
+
| `pa:alias-add` | Add custom alias |
|
|
394
|
+
| `pa:alias-remove` | Remove custom alias |
|
|
395
|
+
|
|
396
|
+
### Mobile Test Suite (React Native)
|
|
397
|
+
| Command | Description |
|
|
398
|
+
|---------|-------------|
|
|
399
|
+
| `pa:test-mobile` | Run full mobile test suite |
|
|
400
|
+
| `pa:test-visual` | Visual/design comparison testing |
|
|
401
|
+
| `pa:test-auto-fix` | Auto-fix failing tests |
|
|
402
|
+
| `pa:test-loop` | Test → Fix → Retest until all pass |
|
|
403
|
+
| `pa:compare-figma` | Compare UI against Figma design |
|
|
404
|
+
| `pa:compare-image` | Compare UI against image/sketch |
|
|
405
|
+
| `pa:screenshot` | Capture app screenshots |
|
|
406
|
+
|
|
360
407
|
### Custom Commands
|
|
361
408
|
| Command | Description |
|
|
362
409
|
|---------|-------------|
|
package/package.json
CHANGED
|
@@ -1535,6 +1535,875 @@ For `pa:publish`:
|
|
|
1535
1535
|
https://www.npmjs.com/package/mypackage
|
|
1536
1536
|
```
|
|
1537
1537
|
|
|
1538
|
+
### Code Review & PR
|
|
1539
|
+
| Command | Action |
|
|
1540
|
+
|---------|--------|
|
|
1541
|
+
| `pa:review-request` | Request code review from team |
|
|
1542
|
+
| `pa:review-request "user"` | Request review from specific user |
|
|
1543
|
+
| `pa:review-comments` | Show PR review comments |
|
|
1544
|
+
| `pa:review-comments "pr"` | Comments for specific PR |
|
|
1545
|
+
| `pa:review-approve` | Approve current PR |
|
|
1546
|
+
| `pa:review-approve "pr"` | Approve specific PR |
|
|
1547
|
+
|
|
1548
|
+
**How to execute Code Review commands:**
|
|
1549
|
+
|
|
1550
|
+
For `pa:review-request`:
|
|
1551
|
+
1. Detect current branch and PR status
|
|
1552
|
+
2. If no PR exists, suggest creating one first
|
|
1553
|
+
3. Get team members from config or git history
|
|
1554
|
+
4. Request review:
|
|
1555
|
+
```
|
|
1556
|
+
Review Request
|
|
1557
|
+
══════════════
|
|
1558
|
+
|
|
1559
|
+
PR: #123 - Add user authentication
|
|
1560
|
+
Branch: feature/user-auth
|
|
1561
|
+
|
|
1562
|
+
Requesting review from:
|
|
1563
|
+
• @tech-lead (suggested - code owner)
|
|
1564
|
+
• @senior-dev (suggested - recent contributor)
|
|
1565
|
+
|
|
1566
|
+
Select reviewers or type username:
|
|
1567
|
+
> @tech-lead, @qa-engineer
|
|
1568
|
+
|
|
1569
|
+
✓ Review requested from 2 reviewers
|
|
1570
|
+
```
|
|
1571
|
+
|
|
1572
|
+
For `pa:review-comments`:
|
|
1573
|
+
1. Get PR comments from GitHub/GitLab
|
|
1574
|
+
2. Group by file and status:
|
|
1575
|
+
```
|
|
1576
|
+
PR Review Comments
|
|
1577
|
+
══════════════════
|
|
1578
|
+
|
|
1579
|
+
PR #123: Add user authentication
|
|
1580
|
+
Status: Changes requested (2 pending)
|
|
1581
|
+
|
|
1582
|
+
src/auth/login.ts:
|
|
1583
|
+
├─ Line 45 [PENDING] @tech-lead:
|
|
1584
|
+
│ "Consider using bcrypt instead of md5 for hashing"
|
|
1585
|
+
│
|
|
1586
|
+
└─ Line 78 [RESOLVED] @qa-engineer:
|
|
1587
|
+
"Add error handling for network failures"
|
|
1588
|
+
|
|
1589
|
+
src/api/users.ts:
|
|
1590
|
+
└─ Line 12 [PENDING] @tech-lead:
|
|
1591
|
+
"Missing input validation"
|
|
1592
|
+
|
|
1593
|
+
Actions:
|
|
1594
|
+
• Reply to comment: pa:review-reply "comment-id" "response"
|
|
1595
|
+
• Resolve comment: pa:review-resolve "comment-id"
|
|
1596
|
+
```
|
|
1597
|
+
|
|
1598
|
+
For `pa:review-approve`:
|
|
1599
|
+
1. Check all required checks pass
|
|
1600
|
+
2. Verify no pending comments
|
|
1601
|
+
3. Approve PR:
|
|
1602
|
+
```
|
|
1603
|
+
PR Approval
|
|
1604
|
+
═══════════
|
|
1605
|
+
|
|
1606
|
+
PR #123: Add user authentication
|
|
1607
|
+
|
|
1608
|
+
Checks:
|
|
1609
|
+
✓ Tests passing
|
|
1610
|
+
✓ Build successful
|
|
1611
|
+
✓ No conflicts
|
|
1612
|
+
⚠ 1 pending comment (optional)
|
|
1613
|
+
|
|
1614
|
+
Approve anyway? [y/N]
|
|
1615
|
+
|
|
1616
|
+
✓ PR approved!
|
|
1617
|
+
Ready to merge.
|
|
1618
|
+
```
|
|
1619
|
+
|
|
1620
|
+
### Architecture
|
|
1621
|
+
| Command | Action |
|
|
1622
|
+
|---------|--------|
|
|
1623
|
+
| `pa:architecture` | Show architecture overview |
|
|
1624
|
+
| `pa:architecture "module"` | Architecture for specific module |
|
|
1625
|
+
| `pa:architecture-diagram` | Generate architecture diagram |
|
|
1626
|
+
| `pa:architecture-export` | Export architecture docs |
|
|
1627
|
+
|
|
1628
|
+
**How to execute Architecture commands:**
|
|
1629
|
+
|
|
1630
|
+
For `pa:architecture`:
|
|
1631
|
+
1. Analyze project structure
|
|
1632
|
+
2. Identify architectural patterns
|
|
1633
|
+
3. Generate overview:
|
|
1634
|
+
```
|
|
1635
|
+
Architecture Overview
|
|
1636
|
+
═════════════════════
|
|
1637
|
+
|
|
1638
|
+
Project: my-app
|
|
1639
|
+
Type: Full-stack Next.js
|
|
1640
|
+
Pattern: Clean Architecture + Feature-based
|
|
1641
|
+
|
|
1642
|
+
Layers:
|
|
1643
|
+
┌─────────────────────────────────────────┐
|
|
1644
|
+
│ Presentation (app/, components/) │
|
|
1645
|
+
│ ┌───────────────────────────────────┐ │
|
|
1646
|
+
│ │ Application (services/, hooks/) │ │
|
|
1647
|
+
│ │ ┌─────────────────────────────┐ │ │
|
|
1648
|
+
│ │ │ Domain (types/, entities/) │ │ │
|
|
1649
|
+
│ │ └─────────────────────────────┘ │ │
|
|
1650
|
+
│ └───────────────────────────────────┘ │
|
|
1651
|
+
└─────────────────────────────────────────┘
|
|
1652
|
+
|
|
1653
|
+
Key Components:
|
|
1654
|
+
• API Routes: /app/api/* (15 endpoints)
|
|
1655
|
+
• Pages: /app/* (12 pages)
|
|
1656
|
+
• Components: /components/* (45 components)
|
|
1657
|
+
• Services: /services/* (8 services)
|
|
1658
|
+
|
|
1659
|
+
Dependencies:
|
|
1660
|
+
• Database: PostgreSQL via Prisma
|
|
1661
|
+
• Auth: NextAuth.js with JWT
|
|
1662
|
+
• State: Zustand + React Query
|
|
1663
|
+
• Styling: Tailwind CSS
|
|
1664
|
+
|
|
1665
|
+
Patterns Detected:
|
|
1666
|
+
• Repository Pattern (services/)
|
|
1667
|
+
• Factory Pattern (components/forms/)
|
|
1668
|
+
• Singleton (lib/prisma.ts)
|
|
1669
|
+
```
|
|
1670
|
+
|
|
1671
|
+
For `pa:architecture-diagram`:
|
|
1672
|
+
1. Generate Mermaid diagram from codebase
|
|
1673
|
+
2. Show component relationships:
|
|
1674
|
+
```mermaid
|
|
1675
|
+
graph TB
|
|
1676
|
+
subgraph Presentation
|
|
1677
|
+
Pages[Pages]
|
|
1678
|
+
Components[Components]
|
|
1679
|
+
end
|
|
1680
|
+
|
|
1681
|
+
subgraph Application
|
|
1682
|
+
Services[Services]
|
|
1683
|
+
Hooks[Hooks]
|
|
1684
|
+
end
|
|
1685
|
+
|
|
1686
|
+
subgraph Infrastructure
|
|
1687
|
+
API[API Routes]
|
|
1688
|
+
DB[(Database)]
|
|
1689
|
+
end
|
|
1690
|
+
|
|
1691
|
+
Pages --> Components
|
|
1692
|
+
Pages --> Hooks
|
|
1693
|
+
Hooks --> Services
|
|
1694
|
+
Services --> API
|
|
1695
|
+
API --> DB
|
|
1696
|
+
```
|
|
1697
|
+
3. Save to `./docs/architecture.md`
|
|
1698
|
+
|
|
1699
|
+
### API Testing
|
|
1700
|
+
| Command | Action |
|
|
1701
|
+
|---------|--------|
|
|
1702
|
+
| `pa:api-test` | Test API endpoints |
|
|
1703
|
+
| `pa:api-test "endpoint"` | Test specific endpoint |
|
|
1704
|
+
| `pa:curl` | Generate curl commands |
|
|
1705
|
+
| `pa:curl "endpoint"` | Curl for specific endpoint |
|
|
1706
|
+
| `pa:postman` | Generate Postman collection |
|
|
1707
|
+
| `pa:postman-export` | Export to Postman file |
|
|
1708
|
+
|
|
1709
|
+
**How to execute API Testing commands:**
|
|
1710
|
+
|
|
1711
|
+
For `pa:api-test`:
|
|
1712
|
+
1. Discover API endpoints from routes
|
|
1713
|
+
2. Generate and run tests:
|
|
1714
|
+
```
|
|
1715
|
+
API Test Results
|
|
1716
|
+
════════════════
|
|
1717
|
+
|
|
1718
|
+
Testing: /api/*
|
|
1719
|
+
Environment: development (localhost:3000)
|
|
1720
|
+
|
|
1721
|
+
GET /api/users
|
|
1722
|
+
├─ Status: 200 OK ✓
|
|
1723
|
+
├─ Time: 45ms
|
|
1724
|
+
└─ Response: Array[10 items]
|
|
1725
|
+
|
|
1726
|
+
POST /api/users
|
|
1727
|
+
├─ Status: 201 Created ✓
|
|
1728
|
+
├─ Time: 120ms
|
|
1729
|
+
└─ Response: { id: "123", name: "Test" }
|
|
1730
|
+
|
|
1731
|
+
GET /api/users/:id
|
|
1732
|
+
├─ Status: 200 OK ✓
|
|
1733
|
+
├─ Time: 32ms
|
|
1734
|
+
└─ Response: { id: "1", name: "John" }
|
|
1735
|
+
|
|
1736
|
+
DELETE /api/users/:id
|
|
1737
|
+
├─ Status: 401 Unauthorized ✗
|
|
1738
|
+
├─ Time: 15ms
|
|
1739
|
+
└─ Error: Missing auth token
|
|
1740
|
+
|
|
1741
|
+
Summary: 3/4 passed (75%)
|
|
1742
|
+
```
|
|
1743
|
+
|
|
1744
|
+
For `pa:curl`:
|
|
1745
|
+
1. Analyze API routes and generate curl commands:
|
|
1746
|
+
```
|
|
1747
|
+
Generated Curl Commands
|
|
1748
|
+
═══════════════════════
|
|
1749
|
+
|
|
1750
|
+
# List users
|
|
1751
|
+
curl -X GET http://localhost:3000/api/users \
|
|
1752
|
+
-H "Content-Type: application/json" \
|
|
1753
|
+
-H "Authorization: Bearer $TOKEN"
|
|
1754
|
+
|
|
1755
|
+
# Create user
|
|
1756
|
+
curl -X POST http://localhost:3000/api/users \
|
|
1757
|
+
-H "Content-Type: application/json" \
|
|
1758
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1759
|
+
-d '{"name": "John", "email": "john@example.com"}'
|
|
1760
|
+
|
|
1761
|
+
# Get user by ID
|
|
1762
|
+
curl -X GET http://localhost:3000/api/users/123 \
|
|
1763
|
+
-H "Authorization: Bearer $TOKEN"
|
|
1764
|
+
|
|
1765
|
+
Saved to: ./docs/curl-commands.sh
|
|
1766
|
+
```
|
|
1767
|
+
|
|
1768
|
+
For `pa:postman`:
|
|
1769
|
+
1. Scan API routes and extract endpoints
|
|
1770
|
+
2. Generate Postman collection:
|
|
1771
|
+
```
|
|
1772
|
+
Postman Collection Generated
|
|
1773
|
+
════════════════════════════
|
|
1774
|
+
|
|
1775
|
+
Collection: my-app API
|
|
1776
|
+
Endpoints: 15
|
|
1777
|
+
|
|
1778
|
+
Folders:
|
|
1779
|
+
├─ Auth (3 endpoints)
|
|
1780
|
+
│ ├─ POST /api/auth/login
|
|
1781
|
+
│ ├─ POST /api/auth/register
|
|
1782
|
+
│ └─ POST /api/auth/logout
|
|
1783
|
+
├─ Users (5 endpoints)
|
|
1784
|
+
│ ├─ GET /api/users
|
|
1785
|
+
│ ├─ POST /api/users
|
|
1786
|
+
│ ├─ GET /api/users/:id
|
|
1787
|
+
│ ├─ PUT /api/users/:id
|
|
1788
|
+
│ └─ DELETE /api/users/:id
|
|
1789
|
+
└─ Posts (7 endpoints)
|
|
1790
|
+
└─ ...
|
|
1791
|
+
|
|
1792
|
+
Saved to: ./docs/postman-collection.json
|
|
1793
|
+
|
|
1794
|
+
Import: File > Import in Postman
|
|
1795
|
+
```
|
|
1796
|
+
|
|
1797
|
+
### Health & Monitoring
|
|
1798
|
+
| Command | Action |
|
|
1799
|
+
|---------|--------|
|
|
1800
|
+
| `pa:health` | Project health check |
|
|
1801
|
+
| `pa:health-full` | Comprehensive health report |
|
|
1802
|
+
| `pa:monitor` | Show monitoring status |
|
|
1803
|
+
| `pa:monitor "service"` | Monitor specific service |
|
|
1804
|
+
| `pa:uptime` | Service uptime check |
|
|
1805
|
+
|
|
1806
|
+
**How to execute Health & Monitoring commands:**
|
|
1807
|
+
|
|
1808
|
+
For `pa:health`:
|
|
1809
|
+
1. Check various project health indicators:
|
|
1810
|
+
```
|
|
1811
|
+
Project Health Check
|
|
1812
|
+
════════════════════
|
|
1813
|
+
|
|
1814
|
+
Overall: 85% Healthy ████████░░
|
|
1815
|
+
|
|
1816
|
+
Code Quality:
|
|
1817
|
+
✓ Linting: No errors
|
|
1818
|
+
✓ Type checking: No errors
|
|
1819
|
+
⚠ Test coverage: 72% (target: 80%)
|
|
1820
|
+
✓ No security vulnerabilities
|
|
1821
|
+
|
|
1822
|
+
Dependencies:
|
|
1823
|
+
✓ All dependencies installed
|
|
1824
|
+
⚠ 3 outdated packages
|
|
1825
|
+
✓ No security advisories
|
|
1826
|
+
|
|
1827
|
+
Configuration:
|
|
1828
|
+
✓ Environment variables set
|
|
1829
|
+
✓ Config files valid
|
|
1830
|
+
⚠ Missing .env.example
|
|
1831
|
+
|
|
1832
|
+
Git Status:
|
|
1833
|
+
✓ Clean working directory
|
|
1834
|
+
✓ Up to date with remote
|
|
1835
|
+
✓ No merge conflicts
|
|
1836
|
+
|
|
1837
|
+
Performance:
|
|
1838
|
+
✓ Bundle size: 245KB (limit: 500KB)
|
|
1839
|
+
✓ Build time: 12s
|
|
1840
|
+
⚠ Lighthouse score: 78 (target: 90)
|
|
1841
|
+
|
|
1842
|
+
Issues Found: 4
|
|
1843
|
+
• Test coverage below 80%
|
|
1844
|
+
• 3 outdated packages
|
|
1845
|
+
• Missing .env.example
|
|
1846
|
+
• Lighthouse score below target
|
|
1847
|
+
```
|
|
1848
|
+
|
|
1849
|
+
For `pa:monitor`:
|
|
1850
|
+
1. Check running services and status:
|
|
1851
|
+
```
|
|
1852
|
+
Service Monitor
|
|
1853
|
+
═══════════════
|
|
1854
|
+
|
|
1855
|
+
Services:
|
|
1856
|
+
┌────────────────┬──────────┬─────────┬────────────┐
|
|
1857
|
+
│ Service │ Status │ Uptime │ Health │
|
|
1858
|
+
├────────────────┼──────────┼─────────┼────────────┤
|
|
1859
|
+
│ App (Next.js) │ Running │ 2h 15m │ Healthy │
|
|
1860
|
+
│ Database │ Running │ 5d 3h │ Healthy │
|
|
1861
|
+
│ Redis Cache │ Running │ 5d 3h │ Healthy │
|
|
1862
|
+
│ Worker │ Stopped │ - │ ⚠ Down │
|
|
1863
|
+
└────────────────┴──────────┴─────────┴────────────┘
|
|
1864
|
+
|
|
1865
|
+
Recent Events:
|
|
1866
|
+
• 10:30 - App restarted (deployment)
|
|
1867
|
+
• 09:15 - Worker stopped (manual)
|
|
1868
|
+
• Yesterday - Database backup completed
|
|
1869
|
+
|
|
1870
|
+
Alerts:
|
|
1871
|
+
⚠ Worker service is not running
|
|
1872
|
+
```
|
|
1873
|
+
|
|
1874
|
+
For `pa:uptime`:
|
|
1875
|
+
1. Check endpoint availability:
|
|
1876
|
+
```
|
|
1877
|
+
Uptime Check
|
|
1878
|
+
════════════
|
|
1879
|
+
|
|
1880
|
+
Checking endpoints...
|
|
1881
|
+
|
|
1882
|
+
Production (https://myapp.com):
|
|
1883
|
+
├─ / (homepage): 200 OK (125ms) ✓
|
|
1884
|
+
├─ /api/health: 200 OK (45ms) ✓
|
|
1885
|
+
├─ /api/users: 200 OK (89ms) ✓
|
|
1886
|
+
└─ /dashboard: 200 OK (156ms) ✓
|
|
1887
|
+
|
|
1888
|
+
Staging (https://staging.myapp.com):
|
|
1889
|
+
├─ / (homepage): 200 OK (145ms) ✓
|
|
1890
|
+
└─ /api/health: 200 OK (52ms) ✓
|
|
1891
|
+
|
|
1892
|
+
All endpoints responding ✓
|
|
1893
|
+
Average response time: 102ms
|
|
1894
|
+
```
|
|
1895
|
+
|
|
1896
|
+
### Quick Actions
|
|
1897
|
+
| Command | Action |
|
|
1898
|
+
|---------|--------|
|
|
1899
|
+
| `pa:quick` | Show quick actions menu |
|
|
1900
|
+
| `pa:quick "action"` | Execute quick action |
|
|
1901
|
+
| `pa:alias` | Manage command aliases |
|
|
1902
|
+
| `pa:alias-add "name" "command"` | Add new alias |
|
|
1903
|
+
| `pa:alias-remove "name"` | Remove alias |
|
|
1904
|
+
|
|
1905
|
+
**How to execute Quick Actions commands:**
|
|
1906
|
+
|
|
1907
|
+
For `pa:quick`:
|
|
1908
|
+
1. Show context-aware quick actions:
|
|
1909
|
+
```
|
|
1910
|
+
Quick Actions
|
|
1911
|
+
═════════════
|
|
1912
|
+
|
|
1913
|
+
Based on current context (feature/user-auth):
|
|
1914
|
+
|
|
1915
|
+
Development:
|
|
1916
|
+
[1] Run tests for current feature
|
|
1917
|
+
[2] Check code coverage
|
|
1918
|
+
[3] Lint and fix
|
|
1919
|
+
|
|
1920
|
+
Git:
|
|
1921
|
+
[4] Commit all changes
|
|
1922
|
+
[5] Push to remote
|
|
1923
|
+
[6] Create PR
|
|
1924
|
+
|
|
1925
|
+
Quality:
|
|
1926
|
+
[7] Run full QA check
|
|
1927
|
+
[8] Security scan
|
|
1928
|
+
[9] Performance audit
|
|
1929
|
+
|
|
1930
|
+
Documentation:
|
|
1931
|
+
[10] Update docs for changes
|
|
1932
|
+
|
|
1933
|
+
Select action (1-10) or type command:
|
|
1934
|
+
> 6
|
|
1935
|
+
|
|
1936
|
+
Creating PR...
|
|
1937
|
+
```
|
|
1938
|
+
|
|
1939
|
+
For `pa:alias`:
|
|
1940
|
+
1. List and manage command aliases:
|
|
1941
|
+
```
|
|
1942
|
+
Command Aliases
|
|
1943
|
+
═══════════════
|
|
1944
|
+
|
|
1945
|
+
Current Aliases:
|
|
1946
|
+
┌──────────┬───────────────────────────┐
|
|
1947
|
+
│ Alias │ Command │
|
|
1948
|
+
├──────────┼───────────────────────────┤
|
|
1949
|
+
│ pa:c │ pa:commit │
|
|
1950
|
+
│ pa:pr │ pa:github-pr │
|
|
1951
|
+
│ pa:cov │ pa:coverage │
|
|
1952
|
+
│ pa:sec │ pa:security-scan │
|
|
1953
|
+
│ pa:up │ pa:deps-outdated │
|
|
1954
|
+
└──────────┴───────────────────────────┘
|
|
1955
|
+
|
|
1956
|
+
Add alias: pa:alias-add "name" "command"
|
|
1957
|
+
Remove: pa:alias-remove "name"
|
|
1958
|
+
|
|
1959
|
+
Built-in aliases cannot be modified:
|
|
1960
|
+
pa:f, pa:s, pa:h, pa:d, pa:t, pa:q, pa:a, pa:r, pa:p, pa:i
|
|
1961
|
+
```
|
|
1962
|
+
|
|
1963
|
+
For `pa:alias-add`:
|
|
1964
|
+
1. Add custom alias:
|
|
1965
|
+
```
|
|
1966
|
+
Adding Alias
|
|
1967
|
+
════════════
|
|
1968
|
+
|
|
1969
|
+
Alias: pa:ship
|
|
1970
|
+
Command: pa:test && pa:build && pa:deploy
|
|
1971
|
+
|
|
1972
|
+
✓ Alias created!
|
|
1973
|
+
|
|
1974
|
+
Usage: pa:ship
|
|
1975
|
+
Runs: pa:test && pa:build && pa:deploy
|
|
1976
|
+
```
|
|
1977
|
+
|
|
1978
|
+
### Mobile Test Suite (React Native / Mobile Apps)
|
|
1979
|
+
| Command | Action |
|
|
1980
|
+
|---------|--------|
|
|
1981
|
+
| `pa:test-mobile` | Run full mobile test suite |
|
|
1982
|
+
| `pa:test-mobile "feature"` | Test specific feature |
|
|
1983
|
+
| `pa:test-visual` | Visual/design comparison testing |
|
|
1984
|
+
| `pa:test-auto-fix` | Auto-fix failing tests |
|
|
1985
|
+
| `pa:test-loop` | Test → Fix → Retest loop until success |
|
|
1986
|
+
| `pa:compare-figma` | Compare UI against Figma design |
|
|
1987
|
+
| `pa:compare-image "path"` | Compare UI against image/sketch |
|
|
1988
|
+
| `pa:screenshot` | Take app screenshots for comparison |
|
|
1989
|
+
|
|
1990
|
+
**How to execute Mobile Test Suite commands:**
|
|
1991
|
+
|
|
1992
|
+
For `pa:test-mobile`:
|
|
1993
|
+
1. Run comprehensive mobile test suite:
|
|
1994
|
+
```
|
|
1995
|
+
Mobile Test Suite
|
|
1996
|
+
═════════════════
|
|
1997
|
+
|
|
1998
|
+
Running full test suite for: feature/user-auth
|
|
1999
|
+
|
|
2000
|
+
Phase 1: Unit Tests
|
|
2001
|
+
───────────────────
|
|
2002
|
+
✓ AuthService.login() - 5 tests passed
|
|
2003
|
+
✓ AuthService.logout() - 3 tests passed
|
|
2004
|
+
✓ TokenManager - 8 tests passed
|
|
2005
|
+
✓ UserStore - 12 tests passed
|
|
2006
|
+
|
|
2007
|
+
Phase 2: Component Tests
|
|
2008
|
+
────────────────────────
|
|
2009
|
+
✓ LoginScreen - renders correctly
|
|
2010
|
+
✓ LoginScreen - validates email format
|
|
2011
|
+
✓ LoginScreen - shows error on invalid credentials
|
|
2012
|
+
✓ SignupScreen - all fields required
|
|
2013
|
+
✓ ProfileScreen - displays user data
|
|
2014
|
+
|
|
2015
|
+
Phase 3: Integration Tests
|
|
2016
|
+
──────────────────────────
|
|
2017
|
+
✓ Login flow end-to-end
|
|
2018
|
+
✓ Token refresh on expiry
|
|
2019
|
+
✓ Logout clears all data
|
|
2020
|
+
✗ FAILED: Password reset flow
|
|
2021
|
+
→ Error: Reset email not sent
|
|
2022
|
+
|
|
2023
|
+
Phase 4: E2E Tests (Maestro/Detox)
|
|
2024
|
+
──────────────────────────────────
|
|
2025
|
+
✓ User can login with valid credentials
|
|
2026
|
+
✓ User sees error with invalid password
|
|
2027
|
+
✗ FAILED: User can reset password
|
|
2028
|
+
→ Button not found: "Send Reset Email"
|
|
2029
|
+
|
|
2030
|
+
Phase 5: Visual Tests
|
|
2031
|
+
─────────────────────
|
|
2032
|
+
✓ LoginScreen matches design
|
|
2033
|
+
✗ FAILED: SignupScreen has visual differences
|
|
2034
|
+
→ Button color: expected #007AFF, got #0066CC
|
|
2035
|
+
→ Font size: expected 16px, got 14px
|
|
2036
|
+
|
|
2037
|
+
══════════════════════════════════════════
|
|
2038
|
+
RESULTS: 35/38 tests passed (3 failed)
|
|
2039
|
+
══════════════════════════════════════════
|
|
2040
|
+
|
|
2041
|
+
Failed Tests:
|
|
2042
|
+
1. Integration: Password reset flow
|
|
2043
|
+
2. E2E: User can reset password
|
|
2044
|
+
3. Visual: SignupScreen design mismatch
|
|
2045
|
+
|
|
2046
|
+
Run `pa:test-auto-fix` to automatically fix these issues.
|
|
2047
|
+
```
|
|
2048
|
+
|
|
2049
|
+
2. Generate detailed test report at `./proagents/test-reports/mobile-{timestamp}.md`
|
|
2050
|
+
|
|
2051
|
+
For `pa:test-visual`:
|
|
2052
|
+
1. Take screenshots of all screens/components
|
|
2053
|
+
2. Compare against design references:
|
|
2054
|
+
```
|
|
2055
|
+
Visual Design Testing
|
|
2056
|
+
═════════════════════
|
|
2057
|
+
|
|
2058
|
+
Comparing app UI against design references...
|
|
2059
|
+
|
|
2060
|
+
Design Source: ./designs/ (Figma exports)
|
|
2061
|
+
|
|
2062
|
+
Screen: LoginScreen
|
|
2063
|
+
───────────────────
|
|
2064
|
+
✓ Layout matches design
|
|
2065
|
+
✓ Colors match design tokens
|
|
2066
|
+
✓ Typography correct
|
|
2067
|
+
✓ Spacing/padding correct
|
|
2068
|
+
✓ Button styles match
|
|
2069
|
+
|
|
2070
|
+
Screen: SignupScreen
|
|
2071
|
+
────────────────────
|
|
2072
|
+
✗ MISMATCH DETECTED
|
|
2073
|
+
|
|
2074
|
+
Differences found:
|
|
2075
|
+
┌─────────────────┬──────────────┬──────────────┐
|
|
2076
|
+
│ Element │ Expected │ Actual │
|
|
2077
|
+
├─────────────────┼──────────────┼──────────────┤
|
|
2078
|
+
│ Submit Button │ #007AFF │ #0066CC │
|
|
2079
|
+
│ Title Font │ 24px Bold │ 22px Regular │
|
|
2080
|
+
│ Input Height │ 48px │ 44px │
|
|
2081
|
+
│ Bottom Margin │ 16px │ 12px │
|
|
2082
|
+
└─────────────────┴──────────────┴──────────────┘
|
|
2083
|
+
|
|
2084
|
+
Screenshot saved: ./proagents/test-reports/visual/signup-diff.png
|
|
2085
|
+
|
|
2086
|
+
Screen: ProfileScreen
|
|
2087
|
+
─────────────────────
|
|
2088
|
+
✓ All elements match design
|
|
2089
|
+
|
|
2090
|
+
══════════════════════════════════════════
|
|
2091
|
+
VISUAL TEST RESULTS: 2/3 screens passed
|
|
2092
|
+
══════════════════════════════════════════
|
|
2093
|
+
|
|
2094
|
+
Run `pa:test-auto-fix` to fix visual issues automatically.
|
|
2095
|
+
```
|
|
2096
|
+
|
|
2097
|
+
For `pa:test-auto-fix`:
|
|
2098
|
+
1. Analyze failing tests
|
|
2099
|
+
2. Identify root cause
|
|
2100
|
+
3. Generate and apply fixes:
|
|
2101
|
+
```
|
|
2102
|
+
Auto-Fix Mode
|
|
2103
|
+
═════════════
|
|
2104
|
+
|
|
2105
|
+
Analyzing 3 failing tests...
|
|
2106
|
+
|
|
2107
|
+
Fix 1: Password reset flow
|
|
2108
|
+
──────────────────────────
|
|
2109
|
+
Root Cause: API endpoint missing in AuthService
|
|
2110
|
+
|
|
2111
|
+
Applying fix to: src/services/AuthService.ts
|
|
2112
|
+
+ async resetPassword(email: string): Promise<void> {
|
|
2113
|
+
+ const response = await api.post('/auth/reset-password', { email });
|
|
2114
|
+
+ if (!response.ok) throw new Error('Reset failed');
|
|
2115
|
+
+ }
|
|
2116
|
+
|
|
2117
|
+
✓ Fix applied
|
|
2118
|
+
|
|
2119
|
+
Fix 2: Reset button not found
|
|
2120
|
+
─────────────────────────────
|
|
2121
|
+
Root Cause: Button testID missing
|
|
2122
|
+
|
|
2123
|
+
Applying fix to: src/screens/ResetPasswordScreen.tsx
|
|
2124
|
+
- <Button title="Send Reset Email" onPress={handleReset} />
|
|
2125
|
+
+ <Button
|
|
2126
|
+
+ testID="send-reset-email-button"
|
|
2127
|
+
+ title="Send Reset Email"
|
|
2128
|
+
+ onPress={handleReset}
|
|
2129
|
+
+ />
|
|
2130
|
+
|
|
2131
|
+
✓ Fix applied
|
|
2132
|
+
|
|
2133
|
+
Fix 3: SignupScreen visual mismatch
|
|
2134
|
+
────────────────────────────────────
|
|
2135
|
+
Root Cause: Style values don't match design tokens
|
|
2136
|
+
|
|
2137
|
+
Applying fix to: src/screens/SignupScreen.styles.ts
|
|
2138
|
+
- submitButton: { backgroundColor: '#0066CC' }
|
|
2139
|
+
+ submitButton: { backgroundColor: '#007AFF' }
|
|
2140
|
+
|
|
2141
|
+
- title: { fontSize: 22, fontWeight: 'normal' }
|
|
2142
|
+
+ title: { fontSize: 24, fontWeight: 'bold' }
|
|
2143
|
+
|
|
2144
|
+
- input: { height: 44, marginBottom: 12 }
|
|
2145
|
+
+ input: { height: 48, marginBottom: 16 }
|
|
2146
|
+
|
|
2147
|
+
✓ Fix applied
|
|
2148
|
+
|
|
2149
|
+
══════════════════════════════════════════
|
|
2150
|
+
AUTO-FIX COMPLETE: 3/3 issues fixed
|
|
2151
|
+
══════════════════════════════════════════
|
|
2152
|
+
|
|
2153
|
+
Running verification tests...
|
|
2154
|
+
```
|
|
2155
|
+
|
|
2156
|
+
For `pa:test-loop`:
|
|
2157
|
+
1. Run complete Test → Fix → Retest cycle:
|
|
2158
|
+
```
|
|
2159
|
+
Test Loop Mode
|
|
2160
|
+
══════════════
|
|
2161
|
+
|
|
2162
|
+
Starting automated test-fix-retest cycle...
|
|
2163
|
+
Max iterations: 5
|
|
2164
|
+
|
|
2165
|
+
┌─────────────────────────────────────────────────────┐
|
|
2166
|
+
│ ITERATION 1 │
|
|
2167
|
+
├─────────────────────────────────────────────────────┤
|
|
2168
|
+
│ Running tests... │
|
|
2169
|
+
│ Results: 35/38 passed (3 failed) │
|
|
2170
|
+
│ │
|
|
2171
|
+
│ Analyzing failures... │
|
|
2172
|
+
│ Applying auto-fixes... │
|
|
2173
|
+
│ Fixes applied: 3 │
|
|
2174
|
+
└─────────────────────────────────────────────────────┘
|
|
2175
|
+
|
|
2176
|
+
┌─────────────────────────────────────────────────────┐
|
|
2177
|
+
│ ITERATION 2 │
|
|
2178
|
+
├─────────────────────────────────────────────────────┤
|
|
2179
|
+
│ Running tests... │
|
|
2180
|
+
│ Results: 37/38 passed (1 failed) │
|
|
2181
|
+
│ │
|
|
2182
|
+
│ Analyzing failures... │
|
|
2183
|
+
│ New issue: TypeScript type error after fix │
|
|
2184
|
+
│ Applying auto-fixes... │
|
|
2185
|
+
│ Fixes applied: 1 │
|
|
2186
|
+
└─────────────────────────────────────────────────────┘
|
|
2187
|
+
|
|
2188
|
+
┌─────────────────────────────────────────────────────┐
|
|
2189
|
+
│ ITERATION 3 │
|
|
2190
|
+
├─────────────────────────────────────────────────────┤
|
|
2191
|
+
│ Running tests... │
|
|
2192
|
+
│ Results: 38/38 passed (0 failed) │
|
|
2193
|
+
│ │
|
|
2194
|
+
│ ✓ ALL TESTS PASSING! │
|
|
2195
|
+
└─────────────────────────────────────────────────────┘
|
|
2196
|
+
|
|
2197
|
+
══════════════════════════════════════════════════════
|
|
2198
|
+
TEST LOOP COMPLETE
|
|
2199
|
+
══════════════════════════════════════════════════════
|
|
2200
|
+
|
|
2201
|
+
Summary:
|
|
2202
|
+
────────
|
|
2203
|
+
Iterations: 3
|
|
2204
|
+
Initial failures: 3
|
|
2205
|
+
Fixes applied: 4
|
|
2206
|
+
Final status: ALL PASSING ✓
|
|
2207
|
+
|
|
2208
|
+
Files modified:
|
|
2209
|
+
• src/services/AuthService.ts
|
|
2210
|
+
• src/screens/ResetPasswordScreen.tsx
|
|
2211
|
+
• src/screens/SignupScreen.styles.ts
|
|
2212
|
+
• src/types/auth.ts
|
|
2213
|
+
|
|
2214
|
+
Test report: ./proagents/test-reports/test-loop-{timestamp}.md
|
|
2215
|
+
|
|
2216
|
+
Ready for commit? (y/n)
|
|
2217
|
+
```
|
|
2218
|
+
|
|
2219
|
+
For `pa:compare-figma`:
|
|
2220
|
+
1. Connect to Figma API or use exported frames
|
|
2221
|
+
2. Extract design specifications
|
|
2222
|
+
3. Compare with actual app:
|
|
2223
|
+
```
|
|
2224
|
+
Figma Design Comparison
|
|
2225
|
+
═══════════════════════
|
|
2226
|
+
|
|
2227
|
+
Design Source: [Figma Link or ./designs/figma-export/]
|
|
2228
|
+
|
|
2229
|
+
Extracting design tokens from Figma...
|
|
2230
|
+
✓ Colors extracted
|
|
2231
|
+
✓ Typography extracted
|
|
2232
|
+
✓ Spacing system extracted
|
|
2233
|
+
✓ Component specs extracted
|
|
2234
|
+
|
|
2235
|
+
Comparing: LoginScreen
|
|
2236
|
+
──────────────────────
|
|
2237
|
+
|
|
2238
|
+
Layout Comparison:
|
|
2239
|
+
┌────────────────────┬────────────────────┐
|
|
2240
|
+
│ Figma Design │ App Screenshot │
|
|
2241
|
+
│ ┌──────────┐ │ ┌──────────┐ │
|
|
2242
|
+
│ │ Logo │ │ │ Logo │ ✓ │
|
|
2243
|
+
│ ├──────────┤ │ ├──────────┤ │
|
|
2244
|
+
│ │ Email │ │ │ Email │ ✓ │
|
|
2245
|
+
│ │ Input │ │ │ Input │ │
|
|
2246
|
+
│ ├──────────┤ │ ├──────────┤ │
|
|
2247
|
+
│ │ Password │ │ │ Password │ ✓ │
|
|
2248
|
+
│ │ Input │ │ │ Input │ │
|
|
2249
|
+
│ ├──────────┤ │ ├──────────┤ │
|
|
2250
|
+
│ │ Login │ │ │ Login │ ✗ │
|
|
2251
|
+
│ │ Button │ │ │ Button │ │
|
|
2252
|
+
│ └──────────┘ │ └──────────┘ │
|
|
2253
|
+
└────────────────────┴────────────────────┘
|
|
2254
|
+
|
|
2255
|
+
Detailed Comparison:
|
|
2256
|
+
┌───────────────┬─────────────┬─────────────┬────────┐
|
|
2257
|
+
│ Element │ Figma │ App │ Status │
|
|
2258
|
+
├───────────────┼─────────────┼─────────────┼────────┤
|
|
2259
|
+
│ Logo Size │ 120x40 │ 120x40 │ ✓ │
|
|
2260
|
+
│ Input Height │ 48px │ 48px │ ✓ │
|
|
2261
|
+
│ Input Border │ 1px #E0E0E0 │ 1px #E0E0E0 │ ✓ │
|
|
2262
|
+
│ Button Color │ #007AFF │ #0056B3 │ ✗ │
|
|
2263
|
+
│ Button Radius │ 8px │ 4px │ ✗ │
|
|
2264
|
+
│ Button Height │ 52px │ 48px │ ✗ │
|
|
2265
|
+
│ Vertical Gap │ 16px │ 12px │ ✗ │
|
|
2266
|
+
└───────────────┴─────────────┴─────────────┴────────┘
|
|
2267
|
+
|
|
2268
|
+
Issues Found: 4
|
|
2269
|
+
|
|
2270
|
+
Auto-fix available? Yes
|
|
2271
|
+
Run `pa:test-auto-fix` to apply design corrections.
|
|
2272
|
+
```
|
|
2273
|
+
|
|
2274
|
+
For `pa:compare-image "path"`:
|
|
2275
|
+
1. Load reference image (sketch, screenshot, mockup)
|
|
2276
|
+
2. Use visual comparison:
|
|
2277
|
+
```
|
|
2278
|
+
Image Comparison
|
|
2279
|
+
════════════════
|
|
2280
|
+
|
|
2281
|
+
Reference: ./designs/sketch-login.png
|
|
2282
|
+
App Screen: LoginScreen
|
|
2283
|
+
|
|
2284
|
+
Analyzing reference image...
|
|
2285
|
+
✓ Detected UI elements
|
|
2286
|
+
✓ Extracted layout structure
|
|
2287
|
+
✓ Identified colors and typography
|
|
2288
|
+
|
|
2289
|
+
Taking app screenshot...
|
|
2290
|
+
✓ Screenshot captured
|
|
2291
|
+
|
|
2292
|
+
Visual Diff Analysis:
|
|
2293
|
+
─────────────────────
|
|
2294
|
+
|
|
2295
|
+
Overall Match: 87%
|
|
2296
|
+
|
|
2297
|
+
Differences Detected:
|
|
2298
|
+
|
|
2299
|
+
1. Header Section (Region: 0,0 to 375,100)
|
|
2300
|
+
• Logo position: slightly lower than reference
|
|
2301
|
+
• Background: matches ✓
|
|
2302
|
+
|
|
2303
|
+
2. Form Section (Region: 0,100 to 375,350)
|
|
2304
|
+
• Input fields: match ✓
|
|
2305
|
+
• Labels: font slightly smaller
|
|
2306
|
+
• Spacing: compressed by ~4px
|
|
2307
|
+
|
|
2308
|
+
3. Button Section (Region: 0,350 to 375,450)
|
|
2309
|
+
• Color: differs by 15% (darker in app)
|
|
2310
|
+
• Corner radius: sharper in app
|
|
2311
|
+
• Shadow: missing in app
|
|
2312
|
+
|
|
2313
|
+
Diff image saved: ./proagents/test-reports/visual/login-diff-overlay.png
|
|
2314
|
+
|
|
2315
|
+
┌─────────────────────────────────────────────┐
|
|
2316
|
+
│ [Reference] │ [App] │ [Diff] │
|
|
2317
|
+
│ Expected design │ Actual app │ Δ │
|
|
2318
|
+
└─────────────────────────────────────────────┘
|
|
2319
|
+
|
|
2320
|
+
Suggested fixes generated.
|
|
2321
|
+
Run `pa:test-auto-fix` to apply.
|
|
2322
|
+
```
|
|
2323
|
+
|
|
2324
|
+
For `pa:screenshot`:
|
|
2325
|
+
1. Capture screenshots of all app screens:
|
|
2326
|
+
```
|
|
2327
|
+
Screenshot Capture
|
|
2328
|
+
══════════════════
|
|
2329
|
+
|
|
2330
|
+
Detecting available screens...
|
|
2331
|
+
|
|
2332
|
+
Found 12 screens in navigation:
|
|
2333
|
+
|
|
2334
|
+
Capturing screenshots...
|
|
2335
|
+
|
|
2336
|
+
✓ LoginScreen → ./proagents/screenshots/LoginScreen.png
|
|
2337
|
+
✓ SignupScreen → ./proagents/screenshots/SignupScreen.png
|
|
2338
|
+
✓ HomeScreen → ./proagents/screenshots/HomeScreen.png
|
|
2339
|
+
✓ ProfileScreen → ./proagents/screenshots/ProfileScreen.png
|
|
2340
|
+
✓ SettingsScreen → ./proagents/screenshots/SettingsScreen.png
|
|
2341
|
+
✓ NotificationsScreen → ./proagents/screenshots/NotificationsScreen.png
|
|
2342
|
+
... (6 more)
|
|
2343
|
+
|
|
2344
|
+
Component screenshots:
|
|
2345
|
+
✓ Button variants → ./proagents/screenshots/components/Button.png
|
|
2346
|
+
✓ Input variants → ./proagents/screenshots/components/Input.png
|
|
2347
|
+
✓ Card variants → ./proagents/screenshots/components/Card.png
|
|
2348
|
+
|
|
2349
|
+
══════════════════════════════════════════
|
|
2350
|
+
Screenshots saved: 15 images
|
|
2351
|
+
Location: ./proagents/screenshots/
|
|
2352
|
+
══════════════════════════════════════════
|
|
2353
|
+
|
|
2354
|
+
Use these for:
|
|
2355
|
+
• Visual regression testing
|
|
2356
|
+
• Design comparison with `pa:compare-image`
|
|
2357
|
+
• Documentation
|
|
2358
|
+
```
|
|
2359
|
+
|
|
2360
|
+
**Mobile Test Configuration:**
|
|
2361
|
+
Add to `proagents.config.yaml`:
|
|
2362
|
+
```yaml
|
|
2363
|
+
mobile_testing:
|
|
2364
|
+
platform: react-native # or flutter, native
|
|
2365
|
+
|
|
2366
|
+
test_frameworks:
|
|
2367
|
+
unit: jest
|
|
2368
|
+
component: "@testing-library/react-native"
|
|
2369
|
+
e2e: maestro # or detox, appium
|
|
2370
|
+
|
|
2371
|
+
visual_testing:
|
|
2372
|
+
enabled: true
|
|
2373
|
+
design_source: figma # or ./designs/
|
|
2374
|
+
figma_file_id: "your-figma-file-id" # if using Figma
|
|
2375
|
+
threshold: 0.95 # 95% match required
|
|
2376
|
+
|
|
2377
|
+
auto_fix:
|
|
2378
|
+
enabled: true
|
|
2379
|
+
max_iterations: 5
|
|
2380
|
+
require_approval: false # true = ask before applying fixes
|
|
2381
|
+
|
|
2382
|
+
screenshot:
|
|
2383
|
+
output_dir: ./proagents/screenshots
|
|
2384
|
+
devices:
|
|
2385
|
+
- iPhone 14 Pro
|
|
2386
|
+
- Pixel 7
|
|
2387
|
+
|
|
2388
|
+
test_on:
|
|
2389
|
+
feature_complete: true # auto-run tests when feature done
|
|
2390
|
+
bug_fix: true # auto-run tests after bug fix
|
|
2391
|
+
pre_commit: false # run before git commit
|
|
2392
|
+
```
|
|
2393
|
+
|
|
2394
|
+
**Test Report Structure:**
|
|
2395
|
+
```
|
|
2396
|
+
./proagents/test-reports/
|
|
2397
|
+
├── mobile-2024-03-06-1500.md # Full test report
|
|
2398
|
+
├── visual/
|
|
2399
|
+
│ ├── LoginScreen-diff.png # Visual diff images
|
|
2400
|
+
│ ├── SignupScreen-diff.png
|
|
2401
|
+
│ └── comparison-report.md
|
|
2402
|
+
├── coverage/
|
|
2403
|
+
│ └── coverage-report.html # Test coverage
|
|
2404
|
+
└── auto-fix-log.md # Log of all auto-fixes
|
|
2405
|
+
```
|
|
2406
|
+
|
|
1538
2407
|
### AI Platform Management
|
|
1539
2408
|
| Command | Action |
|
|
1540
2409
|
|---------|--------|
|
package/proagents/PROAGENTS.md
CHANGED
|
@@ -216,6 +216,60 @@ Execute these commands when user types them (prefix: `pa:`):
|
|
|
216
216
|
| `pa:tag` | Create git tag for release |
|
|
217
217
|
| `pa:publish` | Publish package to registry |
|
|
218
218
|
|
|
219
|
+
## Code Review & PR
|
|
220
|
+
|
|
221
|
+
| Command | What to Do |
|
|
222
|
+
|---------|------------|
|
|
223
|
+
| `pa:review-request` | Request code review from team |
|
|
224
|
+
| `pa:review-comments` | Show PR review comments |
|
|
225
|
+
| `pa:review-approve` | Approve current PR |
|
|
226
|
+
|
|
227
|
+
## Architecture
|
|
228
|
+
|
|
229
|
+
| Command | What to Do |
|
|
230
|
+
|---------|------------|
|
|
231
|
+
| `pa:architecture` | Show architecture overview |
|
|
232
|
+
| `pa:architecture-diagram` | Generate architecture diagram (Mermaid) |
|
|
233
|
+
| `pa:architecture-export` | Export diagram (SVG/PNG) |
|
|
234
|
+
|
|
235
|
+
## API Testing
|
|
236
|
+
|
|
237
|
+
| Command | What to Do |
|
|
238
|
+
|---------|------------|
|
|
239
|
+
| `pa:api-test` | Test API endpoints |
|
|
240
|
+
| `pa:curl` | Generate curl commands for endpoints |
|
|
241
|
+
| `pa:postman` | Generate Postman collection |
|
|
242
|
+
|
|
243
|
+
## Health & Monitoring
|
|
244
|
+
|
|
245
|
+
| Command | What to Do |
|
|
246
|
+
|---------|------------|
|
|
247
|
+
| `pa:health` | Project health check |
|
|
248
|
+
| `pa:monitor` | Show monitoring status |
|
|
249
|
+
| `pa:uptime` | Service uptime check |
|
|
250
|
+
|
|
251
|
+
## Quick Actions
|
|
252
|
+
|
|
253
|
+
| Command | What to Do |
|
|
254
|
+
|---------|------------|
|
|
255
|
+
| `pa:quick` | Show quick actions menu |
|
|
256
|
+
| `pa:alias` | Manage command aliases |
|
|
257
|
+
| `pa:alias-add` | Add custom alias |
|
|
258
|
+
| `pa:alias-remove` | Remove custom alias |
|
|
259
|
+
|
|
260
|
+
## Mobile Test Suite (React Native)
|
|
261
|
+
|
|
262
|
+
| Command | What to Do |
|
|
263
|
+
|---------|------------|
|
|
264
|
+
| `pa:test-mobile` | Run full mobile test suite (unit, component, E2E, visual) |
|
|
265
|
+
| `pa:test-mobile "feature"` | Test specific feature only |
|
|
266
|
+
| `pa:test-visual` | Visual/design comparison testing |
|
|
267
|
+
| `pa:test-auto-fix` | Auto-fix failing tests |
|
|
268
|
+
| `pa:test-loop` | Test → Fix → Retest loop until all pass |
|
|
269
|
+
| `pa:compare-figma` | Compare UI against Figma design |
|
|
270
|
+
| `pa:compare-image "path"` | Compare UI against image/sketch |
|
|
271
|
+
| `pa:screenshot` | Take app screenshots for comparison |
|
|
272
|
+
|
|
219
273
|
## Key Files to Read
|
|
220
274
|
|
|
221
275
|
| File | Purpose |
|