codymaster 4.6.0 → 4.8.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 (127) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/README.md +80 -30
  3. package/dist/browse-server.js +251 -0
  4. package/dist/cli/command-registry.js +26 -0
  5. package/dist/cli/commands/agent.js +120 -0
  6. package/dist/cli/commands/dashboard.js +93 -0
  7. package/dist/cli/commands/design-studio.js +111 -0
  8. package/dist/cli/commands/distro.js +25 -0
  9. package/dist/cli/commands/engineering.js +488 -0
  10. package/dist/cli/commands/project.js +324 -0
  11. package/dist/cli/commands/skill-chain.js +269 -0
  12. package/dist/cli/commands/system.js +89 -0
  13. package/dist/cli/commands/task.js +254 -0
  14. package/dist/cli/update-check.js +83 -0
  15. package/dist/cm-config.js +110 -0
  16. package/dist/cm-suggest.js +77 -0
  17. package/dist/distro-validate.js +54 -0
  18. package/dist/guardian-core.js +74 -0
  19. package/dist/index.js +36 -2759
  20. package/dist/mcp-context-server.js +60 -1
  21. package/dist/mcp-skills-tools.js +81 -0
  22. package/dist/retro-summary.js +70 -0
  23. package/dist/second-opinion-providers.js +79 -0
  24. package/dist/sprint-pipeline.js +228 -0
  25. package/dist/storage-backend.js +5 -60
  26. package/dist/utils/cli-utils.js +76 -0
  27. package/dist/utils/skill-utils.js +32 -0
  28. package/install.sh +274 -50
  29. package/package.json +16 -5
  30. package/scripts/build-skills.mjs +51 -0
  31. package/scripts/gate-0-repo-hygiene.js +75 -0
  32. package/scripts/postinstall.js +55 -0
  33. package/scripts/security-scan.js +1 -1
  34. package/scripts/validate-skills.mjs +42 -0
  35. package/scripts/viking-demo.ts +105 -0
  36. package/skills/CLAUDE.md +2 -2
  37. package/skills/cm-ads-tracker/SKILL.md +3 -6
  38. package/skills/cm-browse/SKILL.md +28 -0
  39. package/skills/cm-conductor-worktrees/SKILL.md +24 -0
  40. package/skills/cm-content-factory/SKILL.md +1 -1
  41. package/skills/cm-content-factory/landing/docs/content/changelog.md +36 -0
  42. package/skills/cm-content-factory/landing/docs/content/deployment.md +46 -0
  43. package/skills/cm-content-factory/landing/docs/content/execution-flow.md +67 -0
  44. package/skills/cm-content-factory/landing/docs/content/openspace.md +27 -0
  45. package/skills/cm-content-factory/landing/docs/content/openviking.md +33 -0
  46. package/skills/cm-content-factory/landing/docs/content/use-cases.md +26 -0
  47. package/skills/cm-content-factory/landing/docs/content/v5-intro.md +28 -0
  48. package/skills/cm-content-factory/landing/docs/index.html +240 -0
  49. package/skills/cm-content-factory/landing/index.html +99 -99
  50. package/skills/cm-content-factory/landing/script.js +42 -0
  51. package/skills/cm-content-factory/landing/translations.js +400 -400
  52. package/skills/cm-design-studio/SKILL.md +30 -0
  53. package/skills/cm-ecosystem-roadmap/SKILL.md +11 -0
  54. package/skills/cm-engineering-meta/SKILL.md +69 -0
  55. package/skills/cm-growth-hacking/SKILL.md +1 -12
  56. package/skills/cm-guardian-runtime/SKILL.md +22 -0
  57. package/skills/cm-mcp-engineering/SKILL.md +18 -0
  58. package/skills/cm-notebooklm/SKILL.md +1 -17
  59. package/skills/cm-post-deploy-canary/SKILL.md +18 -0
  60. package/skills/cm-qa-visual-cli/SKILL.md +18 -0
  61. package/skills/cm-retro-cli/SKILL.md +19 -0
  62. package/skills/cm-second-opinion-cli/SKILL.md +19 -0
  63. package/skills/cm-secret-shield/SKILL.md +2 -2
  64. package/skills/cm-sprint-bus/SKILL.md +29 -0
  65. package/skills/cm-tdd/SKILL.md +61 -74
  66. package/skills/profiles/README.md +21 -0
  67. package/skills/profiles/core.txt +23 -0
  68. package/skills/profiles/design.txt +6 -0
  69. package/skills/profiles/full.txt +58 -0
  70. package/skills/profiles/growth.txt +10 -0
  71. package/skills/profiles/knowledge.txt +7 -0
  72. package/scripts/test-gemini.js +0 -13
  73. package/skills/cm-frappe-agent/SKILL.md +0 -134
  74. package/skills/cm-frappe-agent/agents/doctype-architect.md +0 -596
  75. package/skills/cm-frappe-agent/agents/erpnext-customizer.md +0 -643
  76. package/skills/cm-frappe-agent/agents/frappe-backend.md +0 -814
  77. package/skills/cm-frappe-agent/agents/frappe-custom-frontend.md +0 -557
  78. package/skills/cm-frappe-agent/agents/frappe-debugger.md +0 -625
  79. package/skills/cm-frappe-agent/agents/frappe-fixer.md +0 -275
  80. package/skills/cm-frappe-agent/agents/frappe-frontend.md +0 -660
  81. package/skills/cm-frappe-agent/agents/frappe-installer.md +0 -158
  82. package/skills/cm-frappe-agent/agents/frappe-performance.md +0 -307
  83. package/skills/cm-frappe-agent/agents/frappe-planner.md +0 -419
  84. package/skills/cm-frappe-agent/agents/frappe-remote-ops.md +0 -153
  85. package/skills/cm-frappe-agent/agents/github-workflow.md +0 -286
  86. package/skills/cm-frappe-agent/commands/frappe-app.md +0 -351
  87. package/skills/cm-frappe-agent/commands/frappe-backend.md +0 -162
  88. package/skills/cm-frappe-agent/commands/frappe-bench.md +0 -254
  89. package/skills/cm-frappe-agent/commands/frappe-debug.md +0 -263
  90. package/skills/cm-frappe-agent/commands/frappe-doctype-create.md +0 -272
  91. package/skills/cm-frappe-agent/commands/frappe-doctype-field.md +0 -310
  92. package/skills/cm-frappe-agent/commands/frappe-erpnext.md +0 -210
  93. package/skills/cm-frappe-agent/commands/frappe-fix.md +0 -59
  94. package/skills/cm-frappe-agent/commands/frappe-frontend.md +0 -210
  95. package/skills/cm-frappe-agent/commands/frappe-fullstack.md +0 -243
  96. package/skills/cm-frappe-agent/commands/frappe-github.md +0 -57
  97. package/skills/cm-frappe-agent/commands/frappe-install.md +0 -52
  98. package/skills/cm-frappe-agent/commands/frappe-plan.md +0 -442
  99. package/skills/cm-frappe-agent/commands/frappe-remote.md +0 -58
  100. package/skills/cm-frappe-agent/commands/frappe-test.md +0 -356
  101. package/skills/cm-frappe-agent/docs/README.md +0 -51
  102. package/skills/cm-frappe-agent/docs/agents-catalog.md +0 -113
  103. package/skills/cm-frappe-agent/docs/architecture.md +0 -149
  104. package/skills/cm-frappe-agent/docs/commands-catalog.md +0 -82
  105. package/skills/cm-frappe-agent/docs/resources-catalog.md +0 -66
  106. package/skills/cm-frappe-agent/docs/sitemap-urls.txt +0 -52
  107. package/skills/cm-frappe-agent/docs/sitemap.md +0 -81
  108. package/skills/cm-frappe-agent/docs/sop/user-guide.md +0 -178
  109. package/skills/cm-frappe-agent/docs/sop/vibe-coding-guide.md +0 -122
  110. package/skills/cm-frappe-agent/resources/7-layer-architecture.md +0 -985
  111. package/skills/cm-frappe-agent/resources/bench_commands.md +0 -73
  112. package/skills/cm-frappe-agent/resources/code-patterns-guide.md +0 -948
  113. package/skills/cm-frappe-agent/resources/common_pitfalls.md +0 -266
  114. package/skills/cm-frappe-agent/resources/doctype-registry.md +0 -158
  115. package/skills/cm-frappe-agent/resources/installation-guide.md +0 -289
  116. package/skills/cm-frappe-agent/resources/rest-api-patterns.md +0 -182
  117. package/skills/cm-frappe-agent/resources/scaffold_checklist.md +0 -82
  118. package/skills/cm-frappe-agent/resources/upgrade_patterns.md +0 -113
  119. package/skills/cm-frappe-agent/resources/web-form-patterns.md +0 -252
  120. package/skills/cm-frappe-agent/skills/bench-commands/SKILL.md +0 -621
  121. package/skills/cm-frappe-agent/skills/client-scripts/SKILL.md +0 -642
  122. package/skills/cm-frappe-agent/skills/doctype-patterns/SKILL.md +0 -576
  123. package/skills/cm-frappe-agent/skills/frappe-api/SKILL.md +0 -740
  124. package/skills/cm-frappe-agent/skills/remote-operations/SKILL.md +0 -47
  125. package/skills/cm-frappe-agent/skills/server-scripts/SKILL.md +0 -608
  126. package/skills/cm-frappe-agent/skills/web-forms/SKILL.md +0 -46
  127. package/skills/frappe-app-builder.zip +0 -0
@@ -1,621 +0,0 @@
1
- ---
2
- name: bench-commands
3
- description: Frappe Bench CLI command reference for site management, app management, development, and production operations. Use when running bench commands, managing sites, migrations, builds, or deployments.
4
- ---
5
-
6
- # Bench CLI Commands Reference
7
-
8
- Complete reference for the Frappe Bench command-line interface for managing Frappe/ERPNext installations.
9
-
10
- ## When to Use This Skill
11
-
12
- - Running bench commands for development
13
- - Managing Frappe sites
14
- - Installing and updating apps
15
- - Running migrations and builds
16
- - Setting up production environments
17
- - Troubleshooting common issues
18
-
19
- ## Bench Directory Structure
20
-
21
- ```
22
- frappe-bench/
23
- ├── apps/ # Frappe apps
24
- │ ├── frappe/ # Core framework
25
- │ ├── erpnext/ # ERPNext (if installed)
26
- │ └── my_app/ # Custom apps
27
- ├── sites/ # Sites directory
28
- │ ├── common_site_config.json
29
- │ ├── apps.txt # List of installed apps
30
- │ └── my_site.local/ # Individual site
31
- │ ├── site_config.json
32
- │ ├── private/
33
- │ └── public/
34
- ├── config/ # Configuration files
35
- ├── logs/ # Log files
36
- ├── env/ # Python virtual environment
37
- └── node_modules/ # Node.js dependencies
38
- ```
39
-
40
- ## Site Management
41
-
42
- ### Create Site
43
- ```bash
44
- # Create new site
45
- bench new-site mysite.local
46
-
47
- # With specific database
48
- bench new-site mysite.local --db-name mysite_db
49
-
50
- # With MariaDB root password
51
- bench new-site mysite.local --mariadb-root-password mypassword
52
-
53
- # With admin password
54
- bench new-site mysite.local --admin-password admin123
55
-
56
- # From SQL file
57
- bench new-site mysite.local --source_sql /path/to/backup.sql
58
-
59
- # Skip creating default user
60
- bench new-site mysite.local --no-mariadb-socket
61
- ```
62
-
63
- ### Use Site
64
- ```bash
65
- # Set default site
66
- bench use mysite.local
67
-
68
- # Run command on specific site
69
- bench --site mysite.local migrate
70
-
71
- # Run on all sites
72
- bench --site all migrate
73
- ```
74
-
75
- ### Site Operations
76
- ```bash
77
- # List all sites
78
- bench list-sites
79
-
80
- # Drop site (delete)
81
- bench drop-site mysite.local
82
-
83
- # Drop with force
84
- bench drop-site mysite.local --force
85
-
86
- # Set site maintenance mode
87
- bench --site mysite.local set-maintenance-mode on
88
- bench --site mysite.local set-maintenance-mode off
89
-
90
- # Disable scheduler
91
- bench --site mysite.local disable-scheduler
92
- bench --site mysite.local enable-scheduler
93
- ```
94
-
95
- ### Backup & Restore
96
- ```bash
97
- # Backup site
98
- bench --site mysite.local backup
99
-
100
- # Backup with files
101
- bench --site mysite.local backup --with-files
102
-
103
- # Backup all sites
104
- bench --site all backup
105
-
106
- # Restore from backup
107
- bench --site mysite.local restore /path/to/backup.sql.gz
108
-
109
- # Restore with files
110
- bench --site mysite.local restore /path/to/backup.sql.gz \
111
- --with-private-files /path/to/private.tar \
112
- --with-public-files /path/to/public.tar
113
- ```
114
-
115
- ## App Management
116
-
117
- ### Get Apps
118
- ```bash
119
- # Get app from GitHub
120
- bench get-app https://github.com/frappe/erpnext
121
-
122
- # Get specific branch
123
- bench get-app https://github.com/frappe/erpnext --branch version-14
124
-
125
- # Get specific tag
126
- bench get-app https://github.com/frappe/erpnext --tag v14.0.0
127
-
128
- # Get from local path
129
- bench get-app /path/to/my_app
130
-
131
- # Get and install on all sites
132
- bench get-app erpnext --install-all
133
- ```
134
-
135
- ### Install/Uninstall Apps
136
- ```bash
137
- # Install app on site
138
- bench --site mysite.local install-app erpnext
139
-
140
- # Install app on all sites
141
- bench --site all install-app my_app
142
-
143
- # Uninstall app
144
- bench --site mysite.local uninstall-app my_app
145
-
146
- # Uninstall with force (removes data)
147
- bench --site mysite.local uninstall-app my_app --yes --force
148
- ```
149
-
150
- ### Create New App
151
- ```bash
152
- # Create new app
153
- bench new-app my_app
154
-
155
- # App will be created in apps/ directory with:
156
- # - my_app/my_app/
157
- # - hooks.py
158
- # - modules.txt
159
- # - patches.txt
160
- # - requirements.txt
161
- ```
162
-
163
- ### Update Apps
164
- ```bash
165
- # Update all apps
166
- bench update
167
-
168
- # Update without migrations
169
- bench update --no-migrations
170
-
171
- # Update specific app
172
- bench update --apps erpnext
173
-
174
- # Update without pulling
175
- bench update --no-pull
176
-
177
- # Update without building assets
178
- bench update --no-build
179
-
180
- # Reset to fresh install
181
- bench update --reset
182
- ```
183
-
184
- ### Remove App
185
- ```bash
186
- # Remove app from bench (not from sites)
187
- bench remove-app my_app
188
-
189
- # Remove from site first
190
- bench --site mysite.local uninstall-app my_app
191
- bench remove-app my_app
192
- ```
193
-
194
- ## Development Commands
195
-
196
- ### Start Development Server
197
- ```bash
198
- # Start development server (web + redis + scheduler)
199
- bench start
200
-
201
- # Start with specific workers
202
- bench start --procfile Procfile.dev
203
-
204
- # Start only web server
205
- bench serve
206
-
207
- # Start on specific port
208
- bench serve --port 8001
209
- ```
210
-
211
- ### Build Assets
212
- ```bash
213
- # Build assets (JS/CSS)
214
- bench build
215
-
216
- # Build specific app
217
- bench build --app my_app
218
-
219
- # Build with verbose output
220
- bench build --verbose
221
-
222
- # Build production assets
223
- bench build --production
224
-
225
- # Build and minify
226
- bench build --make-copy
227
-
228
- # Watch for changes
229
- bench watch
230
- ```
231
-
232
- ### Migrate
233
- ```bash
234
- # Run migrations
235
- bench --site mysite.local migrate
236
-
237
- # Migrate all sites
238
- bench --site all migrate
239
-
240
- # Migrate specific app
241
- bench --site mysite.local migrate --app my_app
242
-
243
- # Skip failing patches
244
- bench --site mysite.local migrate --skip-failing
245
- ```
246
-
247
- ### Clear Cache
248
- ```bash
249
- # Clear cache
250
- bench --site mysite.local clear-cache
251
-
252
- # Clear all cache including redis
253
- bench --site mysite.local clear-website-cache
254
-
255
- # Clear redis cache
256
- bench clear-redis-cache
257
- ```
258
-
259
- ### Console
260
- ```bash
261
- # Open Python console
262
- bench --site mysite.local console
263
-
264
- # In console:
265
- # >>> doc = frappe.get_doc("Customer", "CUST-001")
266
- # >>> doc.customer_name
267
- # >>> frappe.db.sql("SELECT * FROM tabCustomer")
268
-
269
- # Run Python script
270
- bench --site mysite.local execute myapp.scripts.my_function
271
-
272
- # Execute with arguments
273
- bench --site mysite.local execute myapp.scripts.my_function --args='["arg1", "arg2"]'
274
- ```
275
-
276
- ### MariaDB Console
277
- ```bash
278
- # Open MariaDB console
279
- bench --site mysite.local mariadb
280
-
281
- # Run SQL query
282
- bench --site mysite.local mariadb -e "SELECT * FROM tabCustomer LIMIT 5"
283
- ```
284
-
285
- ### Run Tests
286
- ```bash
287
- # Run all tests
288
- bench --site mysite.local run-tests
289
-
290
- # Run tests for specific app
291
- bench --site mysite.local run-tests --app my_app
292
-
293
- # Run specific test
294
- bench --site mysite.local run-tests --module my_app.my_module.doctype.my_doctype.test_my_doctype
295
-
296
- # Run with coverage
297
- bench --site mysite.local run-tests --coverage
298
-
299
- # Run specific test class
300
- bench --site mysite.local run-tests --doctype "My DocType"
301
-
302
- # Run parallel tests
303
- bench --site mysite.local run-tests --parallel
304
-
305
- # Skip test setup
306
- bench --site mysite.local run-tests --skip-setup
307
- ```
308
-
309
- ### Translation
310
- ```bash
311
- # Update translation files
312
- bench --site mysite.local update-translations
313
-
314
- # Export translations
315
- bench --site mysite.local export-translations
316
-
317
- # Import translations
318
- bench --site mysite.local import-translations /path/to/translations.csv
319
- ```
320
-
321
- ## Production Setup
322
-
323
- ### Setup Production
324
- ```bash
325
- # Setup for production (systemd, nginx, supervisor)
326
- sudo bench setup production frappe-user
327
-
328
- # Setup supervisor
329
- bench setup supervisor
330
-
331
- # Setup systemd
332
- bench setup systemd
333
-
334
- # Setup nginx
335
- bench setup nginx
336
-
337
- # Setup Redis
338
- bench setup redis
339
-
340
- # Setup fail2ban
341
- bench setup fail2ban
342
- ```
343
-
344
- ### SSL/Let's Encrypt
345
- ```bash
346
- # Setup Let's Encrypt SSL
347
- sudo bench setup lets-encrypt mysite.local
348
-
349
- # Renew certificates
350
- sudo bench renew-lets-encrypt
351
- ```
352
-
353
- ### Restart Services
354
- ```bash
355
- # Restart supervisor
356
- sudo supervisorctl restart all
357
-
358
- # Restart specific
359
- sudo supervisorctl restart frappe-bench-web:*
360
- sudo supervisorctl restart frappe-bench-workers:*
361
-
362
- # Restart systemd
363
- sudo systemctl restart frappe-bench-web
364
- sudo systemctl restart frappe-bench-schedule
365
-
366
- # Check status
367
- sudo supervisorctl status
368
- ```
369
-
370
- ## Scheduler & Workers
371
-
372
- ### Scheduler
373
- ```bash
374
- # Enable scheduler
375
- bench --site mysite.local enable-scheduler
376
-
377
- # Disable scheduler
378
- bench --site mysite.local disable-scheduler
379
-
380
- # Check scheduler status
381
- bench --site mysite.local show-scheduler-status
382
-
383
- # Run specific scheduled job
384
- bench --site mysite.local execute frappe.tasks.run_daily
385
- ```
386
-
387
- ### Background Jobs
388
- ```bash
389
- # Show queued jobs
390
- bench --site mysite.local show-pending-jobs
391
-
392
- # Clear failed jobs
393
- bench --site mysite.local clear-website-cache
394
-
395
- # Run specific queue
396
- bench worker --queue default
397
- bench worker --queue short
398
- bench worker --queue long
399
-
400
- # Purge jobs
401
- bench --site mysite.local purge-jobs
402
- ```
403
-
404
- ## Configuration
405
-
406
- ### Site Config
407
- ```bash
408
- # Show site config
409
- bench --site mysite.local show-config
410
-
411
- # Set config value
412
- bench --site mysite.local set-config key value
413
-
414
- # Set config with JSON value
415
- bench --site mysite.local set-config limits '{"users": 10}'
416
-
417
- # Set common config (all sites)
418
- bench set-config key value
419
-
420
- # Remove config
421
- bench --site mysite.local remove-config key
422
- ```
423
-
424
- ### Common Configurations
425
- ```python
426
- # site_config.json
427
- {
428
- "db_name": "mysite_db",
429
- "db_password": "password",
430
- "db_type": "mariadb",
431
- "encryption_key": "xxxxx",
432
- "developer_mode": 0,
433
- "maintenance_mode": 0,
434
- "pause_scheduler": 0,
435
- "mail_server": "smtp.gmail.com",
436
- "mail_port": 587,
437
- "use_tls": 1,
438
- "mail_login": "user@gmail.com",
439
- "mail_password": "password",
440
- "auto_email_id": "noreply@mysite.com",
441
- "mute_emails": 0,
442
- "enable_scheduler": 1,
443
- "limits": {
444
- "users": 10,
445
- "emails": 500,
446
- "space": 5120
447
- }
448
- }
449
- ```
450
-
451
- ### Bench Config
452
- ```bash
453
- # Show bench config
454
- bench config list
455
-
456
- # Set bench config
457
- bench config set serve_port 8001
458
- bench config set redis_cache_port 13000
459
-
460
- # Common bench configs
461
- bench config set developer_mode 1
462
- bench config set webserver_port 8000
463
- bench config set background_workers 1
464
- ```
465
-
466
- ## Troubleshooting Commands
467
-
468
- ### Logs
469
- ```bash
470
- # View logs
471
- tail -f logs/frappe.log
472
- tail -f logs/web.error.log
473
- tail -f logs/worker.error.log
474
- tail -f logs/scheduler.error.log
475
-
476
- # Site-specific logs
477
- tail -f sites/mysite.local/logs/frappe.log
478
- ```
479
-
480
- ### Debug
481
- ```bash
482
- # Check site health
483
- bench --site mysite.local doctor
484
-
485
- # Show database stats
486
- bench --site mysite.local show-db-size
487
-
488
- # Show table sizes
489
- bench --site mysite.local --db-type mariadb execute \
490
- "SELECT table_name, data_length FROM information_schema.tables WHERE table_schema = 'mysite_db'"
491
-
492
- # Check scheduled jobs
493
- bench --site mysite.local show-scheduler-status
494
-
495
- # Reset password
496
- bench --site mysite.local set-admin-password newpassword
497
-
498
- # Add system manager
499
- bench --site mysite.local add-system-manager user@example.com
500
- ```
501
-
502
- ### Fix Common Issues
503
- ```bash
504
- # Rebuild search index
505
- bench --site mysite.local build-search-index
506
-
507
- # Reset desk customizations
508
- bench --site mysite.local reset-perms
509
-
510
- # Clear all locks
511
- bench --site mysite.local clear-locks
512
-
513
- # Reinstall
514
- bench --site mysite.local reinstall --yes
515
-
516
- # Partial restore
517
- bench --site mysite.local partial-restore /path/to/backup.sql
518
- ```
519
-
520
- ## Version Management
521
-
522
- ```bash
523
- # Check versions
524
- bench version
525
-
526
- # Switch branch
527
- bench switch-to-branch version-14 frappe erpnext
528
-
529
- # Switch to develop
530
- bench switch-to-branch develop --upgrade
531
-
532
- # Set version
533
- bench set-bench-version 5.x
534
- ```
535
-
536
- ## Multi-Tenancy
537
-
538
- ```bash
539
- # Setup multi-tenancy
540
- bench config dns_multitenant on
541
-
542
- # Add domain to site
543
- bench --site mysite.local add-domain newdomain.com
544
-
545
- # Remove domain
546
- bench --site mysite.local remove-domain newdomain.com
547
-
548
- # Setup wildcard SSL
549
- sudo certbot certonly --webroot -w /var/www/letsencrypt -d *.mydomain.com
550
- ```
551
-
552
- ## Common Workflows
553
-
554
- ### Fresh Install
555
- ```bash
556
- # Install bench
557
- pip install frappe-bench
558
-
559
- # Initialize bench
560
- bench init frappe-bench
561
- cd frappe-bench
562
-
563
- # Get ERPNext
564
- bench get-app erpnext
565
-
566
- # Create site
567
- bench new-site mysite.local
568
-
569
- # Install ERPNext
570
- bench --site mysite.local install-app erpnext
571
-
572
- # Start development server
573
- bench start
574
- ```
575
-
576
- ### Daily Development
577
- ```bash
578
- # Pull latest changes
579
- bench update --no-backup
580
-
581
- # Or step by step:
582
- cd apps/frappe && git pull
583
- cd apps/erpnext && git pull
584
- bench update --no-pull
585
-
586
- # Clear cache after code changes
587
- bench --site mysite.local clear-cache
588
-
589
- # Build assets
590
- bench build --app my_app
591
- ```
592
-
593
- ### Deploy Update
594
- ```bash
595
- # On production server
596
- cd /home/frappe/frappe-bench
597
-
598
- # Set maintenance mode
599
- bench --site mysite.local set-maintenance-mode on
600
-
601
- # Backup
602
- bench --site mysite.local backup --with-files
603
-
604
- # Update
605
- bench update
606
-
607
- # Migrate
608
- bench --site mysite.local migrate
609
-
610
- # Build assets
611
- bench build --production
612
-
613
- # Clear cache
614
- bench --site mysite.local clear-cache
615
-
616
- # Restart
617
- sudo supervisorctl restart all
618
-
619
- # Disable maintenance mode
620
- bench --site mysite.local set-maintenance-mode off
621
- ```