bmad-plus 0.7.5 → 0.9.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/CHANGELOG.md +479 -425
- package/LICENSE +21 -21
- package/README.md +557 -447
- package/osint-agent-package/README.md +88 -88
- package/osint-agent-package/SETUP_KEYS.md +108 -108
- package/osint-agent-package/agents/osint-investigator.md +80 -80
- package/osint-agent-package/install.ps1 +87 -87
- package/osint-agent-package/install.sh +76 -76
- package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -147
- package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +452 -452
- package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +116 -116
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -148
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +266 -260
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -141
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -79
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -71
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -85
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -102
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -72
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -208
- package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -15
- package/package.json +62 -57
- package/readme-international/README.de.md +584 -426
- package/readme-international/README.es.md +601 -518
- package/readme-international/README.fr.md +599 -516
- package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -96
- package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -201
- package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -137
- package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -83
- package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -71
- package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -80
- package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/data/role-triggers.yaml +209 -209
- package/src/bmad-plus/module-help.csv +10 -10
- package/src/bmad-plus/module.yaml +283 -280
- package/src/bmad-plus/{agents → packs}/pack-animated/animated-website-agent.md +325 -325
- package/src/bmad-plus/{agents → packs}/pack-animated/templates/animated-website-workflow.md +55 -55
- package/src/bmad-plus/{agents → packs}/pack-backup/backup-agent.md +71 -71
- package/src/bmad-plus/{agents → packs}/pack-backup/templates/backup-workflow.md +51 -51
- package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
- package/src/bmad-plus/packs/pack-memory/README.md +106 -106
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -79
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -86
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -143
- package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -25
- package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -31
- package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -24
- package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -25
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -157
- package/src/bmad-plus/{agents → packs}/pack-seo/SKILL.md +171 -171
- package/src/bmad-plus/packs/pack-seo/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/{agents → packs}/pack-seo/checklist.md +140 -140
- package/src/bmad-plus/{agents → packs}/pack-seo/pagespeed-playbook.md +320 -320
- package/src/bmad-plus/{agents → packs}/pack-seo/ref/audit-schema.json +187 -187
- package/src/bmad-plus/{agents → packs}/pack-seo/ref/cwv-thresholds.md +87 -87
- package/src/bmad-plus/{agents → packs}/pack-seo/ref/eeat-criteria.md +123 -123
- package/src/bmad-plus/{agents → packs}/pack-seo/ref/geo-signals.md +167 -167
- package/src/bmad-plus/{agents → packs}/pack-seo/ref/hreflang-rules.md +153 -153
- package/src/bmad-plus/{agents → packs}/pack-seo/ref/quality-gates.md +133 -133
- package/src/bmad-plus/{agents → packs}/pack-seo/ref/schema-catalog.md +91 -91
- package/src/bmad-plus/{agents → packs}/pack-seo/ref/schema-templates.json +356 -356
- package/src/bmad-plus/{agents → packs}/pack-seo/seo-chief.md +294 -294
- package/src/bmad-plus/{agents → packs}/pack-seo/seo-judge.md +241 -241
- package/src/bmad-plus/{agents → packs}/pack-seo/seo-scout.md +171 -171
- package/src/bmad-plus/{agents → packs}/pack-seo/templates/seo-audit-workflow.md +241 -241
- package/src/bmad-plus/packs/pack-shield/README.md +110 -110
- package/src/bmad-plus/packs/pack-shield/SKILL.md +82 -0
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +262 -262
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +179 -179
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +201 -201
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +97 -97
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +251 -251
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +221 -221
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +150 -150
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +167 -167
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +83 -83
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +250 -250
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +218 -218
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/ccpa-agent.md +94 -94
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/dpdpa-agent.md +136 -136
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/gdpr-agent.md +296 -296
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/iso27701-agent.md +134 -134
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/lgpd-agent.md +129 -129
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +127 -127
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +272 -272
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +202 -202
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +367 -367
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +510 -510
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +247 -247
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +173 -173
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +239 -239
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +266 -266
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +164 -164
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-classifier.md +131 -131
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-fria.md +155 -155
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-incidents.md +187 -187
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-roles.md +113 -113
- package/src/bmad-plus/packs/pack-shield/categories/workflows/breach-sentinel.md +197 -197
- package/src/bmad-plus/packs/pack-shield/categories/workflows/cookie-policy-gen.md +180 -180
- package/src/bmad-plus/packs/pack-shield/categories/workflows/dpia-sentinel.md +235 -235
- package/src/bmad-plus/packs/pack-shield/categories/workflows/legitimate-interest.md +159 -159
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-advisor.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-notice-gen.md +160 -160
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-policy-gen.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/ccpa/ccpa-gdpr-comparison.md +117 -117
- package/src/bmad-plus/packs/pack-shield/references/ccpa/consumer-rights-workflows.md +177 -177
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/framework-mappings.md +162 -162
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/implementation-guidance.md +235 -235
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/safeguards-detail.md +252 -252
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-assessment.md +170 -170
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-levels.md +113 -113
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-practices.md +211 -211
- package/src/bmad-plus/packs/pack-shield/references/csrd/compliance-program.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/csrd/double-materiality.md +253 -253
- package/src/bmad-plus/packs/pack-shield/references/csrd/esrs-standards.md +401 -401
- package/src/bmad-plus/packs/pack-shield/references/dora/article-reference.md +441 -441
- package/src/bmad-plus/packs/pack-shield/references/dora/incident-classification.md +297 -297
- package/src/bmad-plus/packs/pack-shield/references/dora/rts-its-guide.md +306 -306
- package/src/bmad-plus/packs/pack-shield/references/dora/third-party-risk.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/gdpr-comparison.md +173 -173
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rights-and-obligations.md +426 -426
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rules-2025.md +599 -599
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/sections-reference.md +319 -319
- package/src/bmad-plus/packs/pack-shield/references/ear/ccl-eccn-guide.md +250 -250
- package/src/bmad-plus/packs/pack-shield/references/ear/compliance-program.md +280 -280
- package/src/bmad-plus/packs/pack-shield/references/ear/license-exceptions.md +207 -207
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/gpai-governance.md +267 -267
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/obligations-high-risk.md +287 -287
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/risk-classification.md +182 -182
- package/src/bmad-plus/packs/pack-shield/references/fedramp/appendices-guide.md +209 -209
- package/src/bmad-plus/packs/pack-shield/references/fedramp/control-families.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/fedramp/poam-guide.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/fedramp/readiness-checklist.md +134 -134
- package/src/bmad-plus/packs/pack-shield/references/fedramp/sap-sar-guide.md +86 -86
- package/src/bmad-plus/packs/pack-shield/references/fedramp/ssp-guide.md +129 -129
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/documents.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/dpa-template.md +121 -121
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/privacy-notice.md +87 -87
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/breach-notification.md +293 -293
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/privacy-rule.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/security-rule.md +299 -299
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/templates.md +568 -568
- package/src/bmad-plus/packs/pack-shield/references/ism/control-applicability.md +181 -181
- package/src/bmad-plus/packs/pack-shield/references/ism/guidelines-overview.md +183 -183
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2013.md +203 -203
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2022.md +132 -132
- package/src/bmad-plus/packs/pack-shield/references/iso27001/control-mapping.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/iso27701/annex-a-controls.md +195 -195
- package/src/bmad-plus/packs/pack-shield/references/iso27701/regulatory-mapping.md +229 -229
- package/src/bmad-plus/packs/pack-shield/references/iso27701/transition-guide.md +219 -219
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-ai-risk-assessment.md +258 -258
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-clauses-requirements.md +279 -279
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-controls-annex-a.md +155 -155
- package/src/bmad-plus/packs/pack-shield/references/itar/compliance-program.md +174 -174
- package/src/bmad-plus/packs/pack-shield/references/itar/licensing-guide.md +146 -146
- package/src/bmad-plus/packs/pack-shield/references/itar/usml-categories.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/lgpd/anpd-enforcement.md +147 -147
- package/src/bmad-plus/packs/pack-shield/references/lgpd/compliance-program.md +272 -272
- package/src/bmad-plus/packs/pack-shield/references/lgpd/lgpd-articles.md +271 -271
- package/src/bmad-plus/packs/pack-shield/references/nis2/article-21-measures.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/nis2/iso27001-nis2-mapping.md +68 -68
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/assessment-rmf.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/baselines-tailoring.md +277 -277
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/control-families.md +450 -450
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-core.md +361 -361
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-profiles.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-10-to-20-mapping.md +143 -143
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-20-functions-categories.md +278 -278
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-implementation-tiers.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-requirements.md +366 -366
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-saq-guide.md +217 -217
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-v4-changes.md +190 -190
- package/src/bmad-plus/packs/pack-shield/references/section-508/wcag-mapping.md +160 -160
- package/src/bmad-plus/packs/pack-shield/references/soc2/controls.md +241 -241
- package/src/bmad-plus/packs/pack-shield/references/soc2/evidence.md +236 -236
- package/src/bmad-plus/packs/pack-shield/references/soc2/policies.md +254 -254
- package/src/bmad-plus/packs/pack-shield/references/soc2/vendor.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-assessment.md +202 -202
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-controls.md +545 -545
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-crmp-requirements.md +359 -359
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-directives-overview.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-incident-reporting.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/wcag/criteria-detail.md +510 -510
- package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/cross-framework-mapper.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/gap-analysis-template.md +83 -83
- package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +229 -229
- package/src/bmad-plus/packs/pack-shield/upstream-sync.yaml +68 -68
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -99
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -93
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -69
- package/tools/bmad-plus-npx.js +3 -5
- package/tools/cli/commands/autoconfig.js +508 -489
- package/tools/cli/commands/doctor.js +219 -222
- package/tools/cli/commands/install.js +548 -739
- package/tools/cli/commands/memory.js +194 -194
- package/tools/cli/commands/scan.js +362 -350
- package/tools/cli/commands/uninstall.js +96 -96
- package/tools/cli/commands/update.js +116 -174
- package/tools/cli/i18n.js +845 -763
- package/tools/cli/lib/memory-init.js +114 -0
- package/tools/cli/lib/pack-copy.js +84 -0
- package/tools/cli/lib/packs.js +114 -0
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create a luxury animated website from an MP4 video
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Animated Website from Video
|
|
6
|
-
|
|
7
|
-
Converts an MP4 video into a luxury scroll-driven animated website with canvas frame-by-frame animation.
|
|
8
|
-
|
|
9
|
-
## Pre-requisites
|
|
10
|
-
|
|
11
|
-
1. FFmpeg installed (`winget install FFmpeg` on Windows, `brew install ffmpeg` on Mac)
|
|
12
|
-
2. Python 3 installed
|
|
13
|
-
3. Source MP4 video file
|
|
14
|
-
|
|
15
|
-
## Steps
|
|
16
|
-
|
|
17
|
-
1. Ask the user for:
|
|
18
|
-
- Path to the MP4 video file
|
|
19
|
-
- Website concept (product, real estate, portfolio, etc.)
|
|
20
|
-
- Optional: brand colors, section content, target frame count
|
|
21
|
-
|
|
22
|
-
2. Analyze the video:
|
|
23
|
-
```bash
|
|
24
|
-
ffprobe -v quiet -print_format json -show_format -show_streams "VIDEO_PATH"
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
3. Extract frames using the script:
|
|
28
|
-
```bash
|
|
29
|
-
python3 scripts/extract_frames.py \
|
|
30
|
-
--input "VIDEO_PATH" \
|
|
31
|
-
--output "OUTPUT_DIR/frames" \
|
|
32
|
-
--frames FRAME_COUNT \
|
|
33
|
-
--quality 80
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
4. Generate the complete index.html following the design system in `agent/animated-website-agent.md`:
|
|
37
|
-
- Canvas frame-by-frame scroll animation
|
|
38
|
-
- Scroll dwell engine with Gaussian density
|
|
39
|
-
- 6 overlay sections (Hero, Vision, Details, Grid, Context, CTA)
|
|
40
|
-
- Ambient effects (particles, film grain, vignette, tint)
|
|
41
|
-
- Glass morphism cards and letter-split animations
|
|
42
|
-
- Custom cursor, chapter markers, branded loader
|
|
43
|
-
- Gallery with parallax
|
|
44
|
-
|
|
45
|
-
5. Serve and preview:
|
|
46
|
-
```bash
|
|
47
|
-
cd OUTPUT_DIR
|
|
48
|
-
python3 -m http.server 8080
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
6. Iterate based on user feedback (scroll speed, colors, content, etc.)
|
|
52
|
-
|
|
53
|
-
## Reference
|
|
54
|
-
|
|
55
|
-
See `agent/animated-website-agent.md` for the complete design system, code architecture, and quality checklist.
|
|
1
|
+
---
|
|
2
|
+
description: Create a luxury animated website from an MP4 video
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Animated Website from Video
|
|
6
|
+
|
|
7
|
+
Converts an MP4 video into a luxury scroll-driven animated website with canvas frame-by-frame animation.
|
|
8
|
+
|
|
9
|
+
## Pre-requisites
|
|
10
|
+
|
|
11
|
+
1. FFmpeg installed (`winget install FFmpeg` on Windows, `brew install ffmpeg` on Mac)
|
|
12
|
+
2. Python 3 installed
|
|
13
|
+
3. Source MP4 video file
|
|
14
|
+
|
|
15
|
+
## Steps
|
|
16
|
+
|
|
17
|
+
1. Ask the user for:
|
|
18
|
+
- Path to the MP4 video file
|
|
19
|
+
- Website concept (product, real estate, portfolio, etc.)
|
|
20
|
+
- Optional: brand colors, section content, target frame count
|
|
21
|
+
|
|
22
|
+
2. Analyze the video:
|
|
23
|
+
```bash
|
|
24
|
+
ffprobe -v quiet -print_format json -show_format -show_streams "VIDEO_PATH"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
3. Extract frames using the script:
|
|
28
|
+
```bash
|
|
29
|
+
python3 scripts/extract_frames.py \
|
|
30
|
+
--input "VIDEO_PATH" \
|
|
31
|
+
--output "OUTPUT_DIR/frames" \
|
|
32
|
+
--frames FRAME_COUNT \
|
|
33
|
+
--quality 80
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
4. Generate the complete index.html following the design system in `agent/animated-website-agent.md`:
|
|
37
|
+
- Canvas frame-by-frame scroll animation
|
|
38
|
+
- Scroll dwell engine with Gaussian density
|
|
39
|
+
- 6 overlay sections (Hero, Vision, Details, Grid, Context, CTA)
|
|
40
|
+
- Ambient effects (particles, film grain, vignette, tint)
|
|
41
|
+
- Glass morphism cards and letter-split animations
|
|
42
|
+
- Custom cursor, chapter markers, branded loader
|
|
43
|
+
- Gallery with parallax
|
|
44
|
+
|
|
45
|
+
5. Serve and preview:
|
|
46
|
+
```bash
|
|
47
|
+
cd OUTPUT_DIR
|
|
48
|
+
python3 -m http.server 8080
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
6. Iterate based on user feedback (scroll speed, colors, content, etc.)
|
|
52
|
+
|
|
53
|
+
## Reference
|
|
54
|
+
|
|
55
|
+
See `agent/animated-website-agent.md` for the complete design system, code architecture, and quality checklist.
|
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
# Agent: Universal Backup Manager
|
|
2
|
-
|
|
3
|
-
## Persona
|
|
4
|
-
Tu es un agent spécialisé dans la sauvegarde et la restauration de projets. Tu crées des archives ZIP horodatées, gères les rotations de backups, et assures la traçabilité des sauvegardes.
|
|
5
|
-
|
|
6
|
-
## Activation
|
|
7
|
-
1. Identifier le dossier racine du projet
|
|
8
|
-
2. Déterminer le système d'exploitation (Windows/Linux/Mac)
|
|
9
|
-
3. Vérifier l'existence du dossier `backups/`
|
|
10
|
-
4. Exécuter la sauvegarde
|
|
11
|
-
|
|
12
|
-
## Menu
|
|
13
|
-
|
|
14
|
-
### 1. `/backup` — Backup complet
|
|
15
|
-
Crée un ZIP horodaté du projet entier, en excluant : `node_modules`, `.git`, `vendor`, `backups/`, `__pycache__`, `*.backup_*`, `dist/node_modules`.
|
|
16
|
-
|
|
17
|
-
**PowerShell (Windows) :**
|
|
18
|
-
```powershell
|
|
19
|
-
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
|
20
|
-
$projectRoot = "%PROJECT_ROOT%"
|
|
21
|
-
$projectName = Split-Path $projectRoot -Leaf
|
|
22
|
-
$backupDir = "$projectRoot\backups"
|
|
23
|
-
if (!(Test-Path $backupDir)) { New-Item -ItemType Directory -Path $backupDir -Force }
|
|
24
|
-
Get-ChildItem $projectRoot -Exclude "backups","node_modules",".git","vendor","__pycache__","*.backup_*" |
|
|
25
|
-
Compress-Archive -DestinationPath "$backupDir\${projectName}_backup_$timestamp.zip" -Force
|
|
26
|
-
$size = (Get-Item "$backupDir\${projectName}_backup_$timestamp.zip").Length / 1MB
|
|
27
|
-
Write-Output "✅ Backup: ${projectName}_backup_$timestamp.zip ($([math]::Round($size,2)) MB)"
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**Bash (Linux/Mac) :**
|
|
31
|
-
```bash
|
|
32
|
-
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
33
|
-
PROJECT_ROOT="%PROJECT_ROOT%"
|
|
34
|
-
PROJECT_NAME=$(basename "$PROJECT_ROOT")
|
|
35
|
-
mkdir -p "$PROJECT_ROOT/backups"
|
|
36
|
-
cd "$PROJECT_ROOT" && zip -r "backups/${PROJECT_NAME}_backup_$TIMESTAMP.zip" . \
|
|
37
|
-
-x "backups/*" "node_modules/*" ".git/*" "vendor/*" "__pycache__/*" "*.backup_*"
|
|
38
|
-
echo "✅ Backup: ${PROJECT_NAME}_backup_$TIMESTAMP.zip"
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### 2. `/backup-list` — Lister les backups
|
|
42
|
-
```powershell
|
|
43
|
-
Get-ChildItem "$projectRoot\backups" -Filter "*.zip" |
|
|
44
|
-
Sort-Object LastWriteTime -Descending |
|
|
45
|
-
Format-Table Name, @{N="Size(MB)";E={[math]::Round($_.Length/1MB,2)}}, LastWriteTime -AutoSize
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 3. `/backup-restore` — Restaurer un backup
|
|
49
|
-
```powershell
|
|
50
|
-
$backupFile = "BACKUP_FILE_NAME.zip"
|
|
51
|
-
$restoreDir = "$projectRoot\restore_$((Get-Date).ToString('yyyyMMdd_HHmmss'))"
|
|
52
|
-
Expand-Archive -Path "$projectRoot\backups\$backupFile" -DestinationPath $restoreDir -Force
|
|
53
|
-
Write-Output "✅ Restored to: $restoreDir"
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 4. `/backup-clean` — Rotation (garder les N derniers)
|
|
57
|
-
```powershell
|
|
58
|
-
$keep = 5
|
|
59
|
-
Get-ChildItem "$projectRoot\backups" -Filter "*.zip" |
|
|
60
|
-
Sort-Object LastWriteTime -Descending |
|
|
61
|
-
Select-Object -Skip $keep |
|
|
62
|
-
Remove-Item -Force
|
|
63
|
-
Write-Output "✅ Kept last $keep backups, removed older ones"
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Règles
|
|
67
|
-
1. **Toujours demander confirmation** avant de supprimer des backups
|
|
68
|
-
2. **Toujours afficher** la taille du ZIP créé
|
|
69
|
-
3. **Toujours exclure** les dossiers volumineux non essentiels
|
|
70
|
-
4. **Adapter automatiquement** les commandes au système d'exploitation détecté
|
|
71
|
-
5. **Remplacer `%PROJECT_ROOT%`** par le chemin réel du projet
|
|
1
|
+
# Agent: Universal Backup Manager
|
|
2
|
+
|
|
3
|
+
## Persona
|
|
4
|
+
Tu es un agent spécialisé dans la sauvegarde et la restauration de projets. Tu crées des archives ZIP horodatées, gères les rotations de backups, et assures la traçabilité des sauvegardes.
|
|
5
|
+
|
|
6
|
+
## Activation
|
|
7
|
+
1. Identifier le dossier racine du projet
|
|
8
|
+
2. Déterminer le système d'exploitation (Windows/Linux/Mac)
|
|
9
|
+
3. Vérifier l'existence du dossier `backups/`
|
|
10
|
+
4. Exécuter la sauvegarde
|
|
11
|
+
|
|
12
|
+
## Menu
|
|
13
|
+
|
|
14
|
+
### 1. `/backup` — Backup complet
|
|
15
|
+
Crée un ZIP horodaté du projet entier, en excluant : `node_modules`, `.git`, `vendor`, `backups/`, `__pycache__`, `*.backup_*`, `dist/node_modules`.
|
|
16
|
+
|
|
17
|
+
**PowerShell (Windows) :**
|
|
18
|
+
```powershell
|
|
19
|
+
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
|
20
|
+
$projectRoot = "%PROJECT_ROOT%"
|
|
21
|
+
$projectName = Split-Path $projectRoot -Leaf
|
|
22
|
+
$backupDir = "$projectRoot\backups"
|
|
23
|
+
if (!(Test-Path $backupDir)) { New-Item -ItemType Directory -Path $backupDir -Force }
|
|
24
|
+
Get-ChildItem $projectRoot -Exclude "backups","node_modules",".git","vendor","__pycache__","*.backup_*" |
|
|
25
|
+
Compress-Archive -DestinationPath "$backupDir\${projectName}_backup_$timestamp.zip" -Force
|
|
26
|
+
$size = (Get-Item "$backupDir\${projectName}_backup_$timestamp.zip").Length / 1MB
|
|
27
|
+
Write-Output "✅ Backup: ${projectName}_backup_$timestamp.zip ($([math]::Round($size,2)) MB)"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Bash (Linux/Mac) :**
|
|
31
|
+
```bash
|
|
32
|
+
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
33
|
+
PROJECT_ROOT="%PROJECT_ROOT%"
|
|
34
|
+
PROJECT_NAME=$(basename "$PROJECT_ROOT")
|
|
35
|
+
mkdir -p "$PROJECT_ROOT/backups"
|
|
36
|
+
cd "$PROJECT_ROOT" && zip -r "backups/${PROJECT_NAME}_backup_$TIMESTAMP.zip" . \
|
|
37
|
+
-x "backups/*" "node_modules/*" ".git/*" "vendor/*" "__pycache__/*" "*.backup_*"
|
|
38
|
+
echo "✅ Backup: ${PROJECT_NAME}_backup_$TIMESTAMP.zip"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 2. `/backup-list` — Lister les backups
|
|
42
|
+
```powershell
|
|
43
|
+
Get-ChildItem "$projectRoot\backups" -Filter "*.zip" |
|
|
44
|
+
Sort-Object LastWriteTime -Descending |
|
|
45
|
+
Format-Table Name, @{N="Size(MB)";E={[math]::Round($_.Length/1MB,2)}}, LastWriteTime -AutoSize
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3. `/backup-restore` — Restaurer un backup
|
|
49
|
+
```powershell
|
|
50
|
+
$backupFile = "BACKUP_FILE_NAME.zip"
|
|
51
|
+
$restoreDir = "$projectRoot\restore_$((Get-Date).ToString('yyyyMMdd_HHmmss'))"
|
|
52
|
+
Expand-Archive -Path "$projectRoot\backups\$backupFile" -DestinationPath $restoreDir -Force
|
|
53
|
+
Write-Output "✅ Restored to: $restoreDir"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 4. `/backup-clean` — Rotation (garder les N derniers)
|
|
57
|
+
```powershell
|
|
58
|
+
$keep = 5
|
|
59
|
+
Get-ChildItem "$projectRoot\backups" -Filter "*.zip" |
|
|
60
|
+
Sort-Object LastWriteTime -Descending |
|
|
61
|
+
Select-Object -Skip $keep |
|
|
62
|
+
Remove-Item -Force
|
|
63
|
+
Write-Output "✅ Kept last $keep backups, removed older ones"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Règles
|
|
67
|
+
1. **Toujours demander confirmation** avant de supprimer des backups
|
|
68
|
+
2. **Toujours afficher** la taille du ZIP créé
|
|
69
|
+
3. **Toujours exclure** les dossiers volumineux non essentiels
|
|
70
|
+
4. **Adapter automatiquement** les commandes au système d'exploitation détecté
|
|
71
|
+
5. **Remplacer `%PROJECT_ROOT%`** par le chemin réel du projet
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create a full ZIP backup of the current project
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Backup Project
|
|
6
|
-
|
|
7
|
-
Creates a timestamped ZIP archive of the entire project in a `backups/` folder at the project root.
|
|
8
|
-
|
|
9
|
-
## Auto-detect
|
|
10
|
-
|
|
11
|
-
The agent should:
|
|
12
|
-
1. Detect the project root from the active workspace
|
|
13
|
-
2. Detect the OS (PowerShell for Windows, Bash for Linux/Mac)
|
|
14
|
-
3. Name the backup using the project folder name
|
|
15
|
-
|
|
16
|
-
## Steps
|
|
17
|
-
|
|
18
|
-
// turbo-all
|
|
19
|
-
|
|
20
|
-
1. Create the backup ZIP archive:
|
|
21
|
-
|
|
22
|
-
### Windows (PowerShell)
|
|
23
|
-
```powershell
|
|
24
|
-
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
|
25
|
-
$projectRoot = "%PROJECT_ROOT%"
|
|
26
|
-
$projectName = Split-Path $projectRoot -Leaf
|
|
27
|
-
$backupDir = "$projectRoot\backups"
|
|
28
|
-
if (!(Test-Path $backupDir)) { New-Item -ItemType Directory -Path $backupDir -Force }
|
|
29
|
-
Get-ChildItem $projectRoot -Exclude "backups","node_modules",".git","vendor","__pycache__","*.backup_*" |
|
|
30
|
-
Compress-Archive -DestinationPath "$backupDir\${projectName}_backup_$timestamp.zip" -Force
|
|
31
|
-
$size = (Get-Item "$backupDir\${projectName}_backup_$timestamp.zip").Length / 1MB
|
|
32
|
-
Write-Output "Backup: ${projectName}_backup_$timestamp.zip ($([math]::Round($size,2)) MB)"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Linux/Mac (Bash)
|
|
36
|
-
```bash
|
|
37
|
-
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
38
|
-
PROJECT_ROOT="%PROJECT_ROOT%"
|
|
39
|
-
PROJECT_NAME=$(basename "$PROJECT_ROOT")
|
|
40
|
-
mkdir -p "$PROJECT_ROOT/backups"
|
|
41
|
-
cd "$PROJECT_ROOT" && zip -r "backups/${PROJECT_NAME}_backup_$TIMESTAMP.zip" . \
|
|
42
|
-
-x "backups/*" "node_modules/*" ".git/*" "vendor/*" "__pycache__/*" "*.backup_*"
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
2. Confirm the backup was created and report the file name and size.
|
|
46
|
-
|
|
47
|
-
## Notes
|
|
48
|
-
|
|
49
|
-
- Replace `%PROJECT_ROOT%` with the actual project root path
|
|
50
|
-
- Excludes: `backups/`, `node_modules/`, `.git/`, `vendor/`, `__pycache__/`, `*.backup_*`
|
|
51
|
-
- Backups are stored in `{project}/backups/` with naming: `{project_name}_backup_YYYYMMDD_HHMMSS.zip`
|
|
1
|
+
---
|
|
2
|
+
description: Create a full ZIP backup of the current project
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Backup Project
|
|
6
|
+
|
|
7
|
+
Creates a timestamped ZIP archive of the entire project in a `backups/` folder at the project root.
|
|
8
|
+
|
|
9
|
+
## Auto-detect
|
|
10
|
+
|
|
11
|
+
The agent should:
|
|
12
|
+
1. Detect the project root from the active workspace
|
|
13
|
+
2. Detect the OS (PowerShell for Windows, Bash for Linux/Mac)
|
|
14
|
+
3. Name the backup using the project folder name
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
// turbo-all
|
|
19
|
+
|
|
20
|
+
1. Create the backup ZIP archive:
|
|
21
|
+
|
|
22
|
+
### Windows (PowerShell)
|
|
23
|
+
```powershell
|
|
24
|
+
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
|
25
|
+
$projectRoot = "%PROJECT_ROOT%"
|
|
26
|
+
$projectName = Split-Path $projectRoot -Leaf
|
|
27
|
+
$backupDir = "$projectRoot\backups"
|
|
28
|
+
if (!(Test-Path $backupDir)) { New-Item -ItemType Directory -Path $backupDir -Force }
|
|
29
|
+
Get-ChildItem $projectRoot -Exclude "backups","node_modules",".git","vendor","__pycache__","*.backup_*" |
|
|
30
|
+
Compress-Archive -DestinationPath "$backupDir\${projectName}_backup_$timestamp.zip" -Force
|
|
31
|
+
$size = (Get-Item "$backupDir\${projectName}_backup_$timestamp.zip").Length / 1MB
|
|
32
|
+
Write-Output "Backup: ${projectName}_backup_$timestamp.zip ($([math]::Round($size,2)) MB)"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Linux/Mac (Bash)
|
|
36
|
+
```bash
|
|
37
|
+
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
38
|
+
PROJECT_ROOT="%PROJECT_ROOT%"
|
|
39
|
+
PROJECT_NAME=$(basename "$PROJECT_ROOT")
|
|
40
|
+
mkdir -p "$PROJECT_ROOT/backups"
|
|
41
|
+
cd "$PROJECT_ROOT" && zip -r "backups/${PROJECT_NAME}_backup_$TIMESTAMP.zip" . \
|
|
42
|
+
-x "backups/*" "node_modules/*" ".git/*" "vendor/*" "__pycache__/*" "*.backup_*"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
2. Confirm the backup was created and report the file name and size.
|
|
46
|
+
|
|
47
|
+
## Notes
|
|
48
|
+
|
|
49
|
+
- Replace `%PROJECT_ROOT%` with the actual project root path
|
|
50
|
+
- Excludes: `backups/`, `node_modules/`, `.git/`, `vendor/`, `__pycache__/`, `*.backup_*`
|
|
51
|
+
- Backups are stored in `{project}/backups/` with naming: `{project_name}_backup_YYYYMMDD_HHMMSS.zip`
|