@mytechtoday/augment-extensions 0.7.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +265 -232
- package/README.md +956 -771
- package/augment-extensions/coding-standards/bash/README.md +196 -196
- package/augment-extensions/coding-standards/bash/module.json +163 -163
- package/augment-extensions/coding-standards/bash/rules/naming-conventions.md +336 -336
- package/augment-extensions/coding-standards/bash/rules/universal-standards.md +289 -289
- package/augment-extensions/coding-standards/css/README.md +40 -40
- package/augment-extensions/coding-standards/css/examples/css-examples.css +550 -550
- package/augment-extensions/coding-standards/css/module.json +44 -44
- package/augment-extensions/coding-standards/css/rules/css-modern-features.md +448 -448
- package/augment-extensions/coding-standards/css/rules/css-standards.md +492 -492
- package/augment-extensions/coding-standards/html/README.md +40 -40
- package/augment-extensions/coding-standards/html/examples/html-examples.html +267 -267
- package/augment-extensions/coding-standards/html/examples/responsive-layout.html +505 -505
- package/augment-extensions/coding-standards/html/module.json +44 -44
- package/augment-extensions/coding-standards/html/rules/html-standards.md +349 -349
- package/augment-extensions/coding-standards/html-css-js/README.md +194 -194
- package/augment-extensions/coding-standards/html-css-js/examples/async-examples.js +487 -487
- package/augment-extensions/coding-standards/html-css-js/examples/css-examples.css +550 -550
- package/augment-extensions/coding-standards/html-css-js/examples/dom-examples.js +667 -667
- package/augment-extensions/coding-standards/html-css-js/examples/html-examples.html +267 -267
- package/augment-extensions/coding-standards/html-css-js/examples/javascript-examples.js +612 -612
- package/augment-extensions/coding-standards/html-css-js/examples/responsive-layout.html +505 -505
- package/augment-extensions/coding-standards/html-css-js/module.json +48 -48
- package/augment-extensions/coding-standards/html-css-js/rules/async-patterns.md +515 -515
- package/augment-extensions/coding-standards/html-css-js/rules/css-modern-features.md +448 -448
- package/augment-extensions/coding-standards/html-css-js/rules/css-standards.md +492 -492
- package/augment-extensions/coding-standards/html-css-js/rules/dom-manipulation.md +439 -439
- package/augment-extensions/coding-standards/html-css-js/rules/html-standards.md +349 -349
- package/augment-extensions/coding-standards/html-css-js/rules/javascript-standards.md +486 -486
- package/augment-extensions/coding-standards/html-css-js/rules/performance.md +463 -463
- package/augment-extensions/coding-standards/html-css-js/rules/tooling.md +543 -543
- package/augment-extensions/coding-standards/js/README.md +46 -46
- package/augment-extensions/coding-standards/js/examples/async-examples.js +487 -487
- package/augment-extensions/coding-standards/js/examples/dom-examples.js +667 -667
- package/augment-extensions/coding-standards/js/examples/javascript-examples.js +612 -612
- package/augment-extensions/coding-standards/js/module.json +49 -49
- package/augment-extensions/coding-standards/js/rules/async-patterns.md +515 -515
- package/augment-extensions/coding-standards/js/rules/dom-manipulation.md +439 -439
- package/augment-extensions/coding-standards/js/rules/javascript-standards.md +486 -486
- package/augment-extensions/coding-standards/js/rules/performance.md +463 -463
- package/augment-extensions/coding-standards/js/rules/tooling.md +543 -543
- package/augment-extensions/coding-standards/php/README.md +248 -248
- package/augment-extensions/coding-standards/php/examples/api-endpoint-example.php +204 -204
- package/augment-extensions/coding-standards/php/examples/cli-command-example.php +206 -206
- package/augment-extensions/coding-standards/php/examples/legacy-refactoring-example.php +234 -234
- package/augment-extensions/coding-standards/php/examples/web-application-example.php +211 -211
- package/augment-extensions/coding-standards/php/examples/woocommerce-extension-example.php +215 -215
- package/augment-extensions/coding-standards/php/examples/wordpress-plugin-example.php +189 -189
- package/augment-extensions/coding-standards/php/module.json +166 -166
- package/augment-extensions/coding-standards/php/rules/api-development.md +480 -480
- package/augment-extensions/coding-standards/php/rules/category-configuration.md +332 -332
- package/augment-extensions/coding-standards/php/rules/cli-tools.md +472 -472
- package/augment-extensions/coding-standards/php/rules/cms-integration.md +561 -561
- package/augment-extensions/coding-standards/php/rules/code-quality.md +402 -402
- package/augment-extensions/coding-standards/php/rules/documentation.md +425 -425
- package/augment-extensions/coding-standards/php/rules/ecommerce.md +627 -627
- package/augment-extensions/coding-standards/php/rules/error-handling.md +336 -336
- package/augment-extensions/coding-standards/php/rules/legacy-migration.md +677 -677
- package/augment-extensions/coding-standards/php/rules/naming-conventions.md +279 -279
- package/augment-extensions/coding-standards/php/rules/performance.md +392 -392
- package/augment-extensions/coding-standards/php/rules/psr-standards.md +186 -186
- package/augment-extensions/coding-standards/php/rules/security.md +358 -358
- package/augment-extensions/coding-standards/php/rules/testing.md +403 -403
- package/augment-extensions/coding-standards/php/rules/type-declarations.md +331 -331
- package/augment-extensions/coding-standards/php/rules/web-applications.md +426 -426
- package/augment-extensions/coding-standards/powershell/README.md +154 -154
- package/augment-extensions/coding-standards/powershell/examples/admin-example.ps1 +272 -272
- package/augment-extensions/coding-standards/powershell/examples/automation-example.ps1 +173 -173
- package/augment-extensions/coding-standards/powershell/examples/cloud-example.ps1 +243 -243
- package/augment-extensions/coding-standards/powershell/examples/cross-platform-example.ps1 +297 -297
- package/augment-extensions/coding-standards/powershell/examples/dsc-example.ps1 +224 -224
- package/augment-extensions/coding-standards/powershell/examples/legacy-migration-example.ps1 +340 -340
- package/augment-extensions/coding-standards/powershell/examples/module-example.psm1 +255 -255
- package/augment-extensions/coding-standards/powershell/module.json +165 -165
- package/augment-extensions/coding-standards/powershell/rules/administrative-tools.md +439 -439
- package/augment-extensions/coding-standards/powershell/rules/automation-scripts.md +240 -240
- package/augment-extensions/coding-standards/powershell/rules/cloud-orchestration.md +384 -384
- package/augment-extensions/coding-standards/powershell/rules/configuration-schema.md +383 -383
- package/augment-extensions/coding-standards/powershell/rules/cross-platform-scripts.md +482 -482
- package/augment-extensions/coding-standards/powershell/rules/dsc-configurations.md +296 -296
- package/augment-extensions/coding-standards/powershell/rules/error-handling.md +314 -314
- package/augment-extensions/coding-standards/powershell/rules/legacy-migrations.md +466 -466
- package/augment-extensions/coding-standards/powershell/rules/modules-functions.md +244 -244
- package/augment-extensions/coding-standards/powershell/rules/naming-conventions.md +266 -266
- package/augment-extensions/coding-standards/powershell/rules/performance-optimization.md +209 -209
- package/augment-extensions/coding-standards/powershell/rules/security-practices.md +314 -314
- package/augment-extensions/coding-standards/powershell/rules/testing-guidelines.md +268 -268
- package/augment-extensions/coding-standards/powershell/rules/universal-standards.md +197 -197
- package/augment-extensions/coding-standards/python/README.md +48 -48
- package/augment-extensions/coding-standards/python/examples/best-practices.py +373 -373
- package/augment-extensions/coding-standards/python/module.json +30 -30
- package/augment-extensions/coding-standards/python/rules/async-patterns.md +884 -884
- package/augment-extensions/coding-standards/python/rules/best-practices.md +232 -232
- package/augment-extensions/coding-standards/python/rules/code-organization.md +220 -220
- package/augment-extensions/coding-standards/python/rules/documentation.md +831 -831
- package/augment-extensions/coding-standards/python/rules/error-handling.md +1008 -1008
- package/augment-extensions/coding-standards/python/rules/naming-conventions.md +172 -172
- package/augment-extensions/coding-standards/python/rules/testing.md +409 -409
- package/augment-extensions/coding-standards/python/rules/tooling.md +446 -446
- package/augment-extensions/coding-standards/python/rules/type-hints.md +253 -253
- package/augment-extensions/coding-standards/react/README.md +45 -45
- package/augment-extensions/coding-standards/react/module.json +27 -27
- package/augment-extensions/coding-standards/react/rules/component-patterns.md +214 -214
- package/augment-extensions/coding-standards/react/rules/hooks-best-practices.md +235 -235
- package/augment-extensions/coding-standards/react/rules/performance.md +300 -300
- package/augment-extensions/coding-standards/react/rules/state-management.md +265 -265
- package/augment-extensions/coding-standards/react/rules/typescript-react.md +271 -271
- package/augment-extensions/coding-standards/typescript/README.md +45 -45
- package/augment-extensions/coding-standards/typescript/module.json +27 -27
- package/augment-extensions/coding-standards/typescript/rules/naming-conventions.md +225 -225
- package/augment-extensions/collections/html-css-js/README.md +82 -82
- package/augment-extensions/collections/html-css-js/collection.json +41 -41
- package/augment-extensions/domain-rules/api-design/README.md +41 -41
- package/augment-extensions/domain-rules/api-design/module.json +27 -27
- package/augment-extensions/domain-rules/api-design/rules/authentication.md +263 -263
- package/augment-extensions/domain-rules/api-design/rules/documentation.md +395 -395
- package/augment-extensions/domain-rules/api-design/rules/error-handling.md +290 -290
- package/augment-extensions/domain-rules/api-design/rules/graphql-api.md +313 -313
- package/augment-extensions/domain-rules/api-design/rules/rest-api.md +214 -214
- package/augment-extensions/domain-rules/api-design/rules/versioning.md +268 -268
- package/augment-extensions/domain-rules/database/README.md +161 -161
- package/augment-extensions/domain-rules/database/examples/flat-database-example.md +793 -793
- package/augment-extensions/domain-rules/database/examples/hybrid-database-example.md +1132 -1132
- package/augment-extensions/domain-rules/database/examples/nosql-document-example.md +868 -868
- package/augment-extensions/domain-rules/database/examples/nosql-graph-example.md +805 -805
- package/augment-extensions/domain-rules/database/examples/relational-schema-example.md +621 -621
- package/augment-extensions/domain-rules/database/examples/vector-database-example.md +965 -965
- package/augment-extensions/domain-rules/database/module.json +28 -28
- package/augment-extensions/domain-rules/database/rules/flat-databases.md +624 -624
- package/augment-extensions/domain-rules/database/rules/nosql-databases.md +588 -588
- package/augment-extensions/domain-rules/database/rules/nosql-document-stores.md +856 -856
- package/augment-extensions/domain-rules/database/rules/nosql-graph-databases.md +778 -778
- package/augment-extensions/domain-rules/database/rules/nosql-key-value-stores.md +963 -963
- package/augment-extensions/domain-rules/database/rules/performance-optimization.md +1076 -1076
- package/augment-extensions/domain-rules/database/rules/relational-databases.md +697 -697
- package/augment-extensions/domain-rules/database/rules/relational-indexing.md +671 -671
- package/augment-extensions/domain-rules/database/rules/relational-query-optimization.md +607 -607
- package/augment-extensions/domain-rules/database/rules/relational-schema-design.md +907 -907
- package/augment-extensions/domain-rules/database/rules/relational-transactions.md +783 -783
- package/augment-extensions/domain-rules/database/rules/security-standards.md +980 -980
- package/augment-extensions/domain-rules/database/rules/universal-best-practices.md +485 -485
- package/augment-extensions/domain-rules/database/rules/vector-databases.md +521 -521
- package/augment-extensions/domain-rules/database/rules/vector-embeddings.md +858 -858
- package/augment-extensions/domain-rules/database/rules/vector-indexing.md +934 -934
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/dracula/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/dracula/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/high-contrast/README.md +27 -27
- package/augment-extensions/domain-rules/design/color/themes/high-contrast/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/monokai/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/monokai/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/nord/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/nord/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/one-dark/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/one-dark/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/one-light/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/one-light/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/solarized-dark/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/solarized-dark/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/solarized-light/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/solarized-light/module.json +26 -26
- package/augment-extensions/domain-rules/design/color/themes/tokyo-night/README.md +23 -23
- package/augment-extensions/domain-rules/design/color/themes/tokyo-night/module.json +26 -26
- package/augment-extensions/domain-rules/mcp/README.md +150 -150
- package/augment-extensions/domain-rules/mcp/examples/compressed-example.md +522 -522
- package/augment-extensions/domain-rules/mcp/examples/graph-augmented-example.md +520 -520
- package/augment-extensions/domain-rules/mcp/examples/hybrid-example.md +570 -570
- package/augment-extensions/domain-rules/mcp/examples/state-based-example.md +427 -427
- package/augment-extensions/domain-rules/mcp/examples/token-based-example.md +435 -435
- package/augment-extensions/domain-rules/mcp/examples/vector-based-example.md +502 -502
- package/augment-extensions/domain-rules/mcp/module.json +49 -49
- package/augment-extensions/domain-rules/mcp/rules/compressed-mcp.md +595 -595
- package/augment-extensions/domain-rules/mcp/rules/configuration.md +345 -345
- package/augment-extensions/domain-rules/mcp/rules/graph-augmented-mcp.md +687 -687
- package/augment-extensions/domain-rules/mcp/rules/hybrid-mcp.md +636 -636
- package/augment-extensions/domain-rules/mcp/rules/state-based-mcp.md +484 -484
- package/augment-extensions/domain-rules/mcp/rules/testing-validation.md +360 -360
- package/augment-extensions/domain-rules/mcp/rules/token-based-mcp.md +393 -393
- package/augment-extensions/domain-rules/mcp/rules/universal-rules.md +194 -194
- package/augment-extensions/domain-rules/mcp/rules/vector-based-mcp.md +625 -625
- package/augment-extensions/domain-rules/security/README.md +41 -41
- package/augment-extensions/domain-rules/security/module.json +28 -28
- package/augment-extensions/domain-rules/security/rules/authentication-security.md +361 -361
- package/augment-extensions/domain-rules/security/rules/encryption.md +208 -208
- package/augment-extensions/domain-rules/security/rules/input-validation.md +294 -294
- package/augment-extensions/domain-rules/security/rules/owasp-top-10.md +339 -339
- package/augment-extensions/domain-rules/security/rules/secure-coding.md +293 -293
- package/augment-extensions/domain-rules/security/rules/web-security.md +268 -268
- package/augment-extensions/domain-rules/seo-sales-marketing/ANNOUNCEMENT.md +143 -0
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/README.md +140 -136
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/SCHEMA-VALIDATION-REPORT.md +216 -216
- package/augment-extensions/domain-rules/seo-sales-marketing/TEST-VALIDATION.md +129 -0
- package/augment-extensions/domain-rules/seo-sales-marketing/USAGE-GUIDES.md +254 -0
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/brand-kit-example.yaml +292 -292
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/campaign-brief-example.yaml +389 -389
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/content-calendar-example.yaml +643 -643
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/email-newsletter-example.md +376 -376
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/landing-page-example.md +934 -934
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/ppc-ad-copy-example.md +301 -301
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/seo-blog-post-example.md +347 -347
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/social-media-campaign-example.md +606 -606
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/module.json +50 -50
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/affiliate-influencer-marketing.md +593 -593
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/asset-management.md +418 -418
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/brand-consistency.md +210 -210
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/content-marketing.md +337 -337
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/conversion-optimization.md +455 -455
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/direct-sales.md +499 -499
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/email-marketing.md +439 -439
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/legal-compliance.md +227 -227
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/ppc-advertising.md +569 -569
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/seo-optimization.md +470 -470
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/social-media-marketing.md +414 -414
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/universal-marketing.md +177 -177
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/asset-inventory.schema.json +247 -247
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/brand-kit.schema.json +326 -326
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/campaign-brief.schema.json +342 -342
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/color-palette.schema.json +223 -223
- package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/content-template.schema.json +383 -383
- package/augment-extensions/domain-rules/wordpress/README.md +163 -163
- package/augment-extensions/domain-rules/wordpress/module.json +32 -32
- package/augment-extensions/domain-rules/wordpress/rules/coding-standards.md +617 -617
- package/augment-extensions/domain-rules/wordpress/rules/directory-structure.md +270 -270
- package/augment-extensions/domain-rules/wordpress/rules/file-patterns.md +423 -423
- package/augment-extensions/domain-rules/wordpress/rules/gutenberg-blocks.md +493 -493
- package/augment-extensions/domain-rules/wordpress/rules/performance.md +568 -568
- package/augment-extensions/domain-rules/wordpress/rules/plugin-development.md +510 -510
- package/augment-extensions/domain-rules/wordpress/rules/project-detection.md +251 -251
- package/augment-extensions/domain-rules/wordpress/rules/rest-api.md +501 -501
- package/augment-extensions/domain-rules/wordpress/rules/security.md +564 -564
- package/augment-extensions/domain-rules/wordpress/rules/theme-development.md +388 -388
- package/augment-extensions/domain-rules/wordpress/rules/woocommerce.md +441 -441
- package/augment-extensions/domain-rules/wordpress-plugin/README.md +139 -139
- package/augment-extensions/domain-rules/wordpress-plugin/examples/ajax-plugin.md +1599 -1599
- package/augment-extensions/domain-rules/wordpress-plugin/examples/custom-post-type-plugin.md +1727 -1727
- package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block-plugin.md +428 -428
- package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block.md +422 -422
- package/augment-extensions/domain-rules/wordpress-plugin/examples/mvc-plugin.md +1623 -1623
- package/augment-extensions/domain-rules/wordpress-plugin/examples/object-oriented-plugin.md +1343 -1343
- package/augment-extensions/domain-rules/wordpress-plugin/examples/rest-endpoint.md +734 -734
- package/augment-extensions/domain-rules/wordpress-plugin/examples/settings-page-plugin.md +1350 -1350
- package/augment-extensions/domain-rules/wordpress-plugin/examples/simple-procedural-plugin.md +503 -503
- package/augment-extensions/domain-rules/wordpress-plugin/examples/singleton-plugin.md +971 -971
- package/augment-extensions/domain-rules/wordpress-plugin/module.json +53 -53
- package/augment-extensions/domain-rules/wordpress-plugin/rules/activation-hooks.md +770 -770
- package/augment-extensions/domain-rules/wordpress-plugin/rules/admin-interface.md +874 -874
- package/augment-extensions/domain-rules/wordpress-plugin/rules/ajax-handlers.md +629 -629
- package/augment-extensions/domain-rules/wordpress-plugin/rules/asset-management.md +559 -559
- package/augment-extensions/domain-rules/wordpress-plugin/rules/context-providers.md +709 -709
- package/augment-extensions/domain-rules/wordpress-plugin/rules/cron-jobs.md +736 -736
- package/augment-extensions/domain-rules/wordpress-plugin/rules/database-management.md +1057 -1057
- package/augment-extensions/domain-rules/wordpress-plugin/rules/documentation-standards.md +463 -463
- package/augment-extensions/domain-rules/wordpress-plugin/rules/frontend-functionality.md +478 -478
- package/augment-extensions/domain-rules/wordpress-plugin/rules/gutenberg-blocks.md +818 -818
- package/augment-extensions/domain-rules/wordpress-plugin/rules/internationalization.md +416 -416
- package/augment-extensions/domain-rules/wordpress-plugin/rules/migration.md +667 -667
- package/augment-extensions/domain-rules/wordpress-plugin/rules/performance-optimization.md +878 -878
- package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-architecture.md +693 -693
- package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-structure.md +352 -352
- package/augment-extensions/domain-rules/wordpress-plugin/rules/rest-api.md +818 -818
- package/augment-extensions/domain-rules/wordpress-plugin/rules/scaffolding-workflow.md +624 -624
- package/augment-extensions/domain-rules/wordpress-plugin/rules/security-best-practices.md +866 -866
- package/augment-extensions/domain-rules/wordpress-plugin/rules/testing-patterns.md +1165 -1165
- package/augment-extensions/domain-rules/wordpress-plugin/rules/testing.md +414 -414
- package/augment-extensions/domain-rules/wordpress-plugin/rules/vscode-integration.md +751 -751
- package/augment-extensions/domain-rules/wordpress-plugin/rules/woocommerce-integration.md +949 -949
- package/augment-extensions/domain-rules/wordpress-plugin/rules/wordpress-org-submission.md +458 -458
- package/augment-extensions/examples/design-patterns/README.md +37 -37
- package/augment-extensions/examples/design-patterns/examples/behavioral-patterns.md +370 -370
- package/augment-extensions/examples/design-patterns/examples/creational-patterns.md +250 -250
- package/augment-extensions/examples/design-patterns/examples/structural-patterns.md +264 -264
- package/augment-extensions/examples/design-patterns/module.json +27 -27
- package/augment-extensions/examples/gutenberg-block-plugin/README.md +101 -101
- package/augment-extensions/examples/gutenberg-block-plugin/examples/testimonial-block.md +428 -428
- package/augment-extensions/examples/gutenberg-block-plugin/module.json +40 -40
- package/augment-extensions/examples/rest-api-plugin/README.md +98 -98
- package/augment-extensions/examples/rest-api-plugin/examples/task-manager-api.md +1299 -1299
- package/augment-extensions/examples/rest-api-plugin/module.json +40 -40
- package/augment-extensions/examples/woocommerce-extension/README.md +98 -98
- package/augment-extensions/examples/woocommerce-extension/examples/product-customizer.md +763 -763
- package/augment-extensions/examples/woocommerce-extension/module.json +40 -40
- package/augment-extensions/workflows/beads/README.md +135 -135
- package/augment-extensions/workflows/beads/examples/complete-workflow-example.md +278 -278
- package/augment-extensions/workflows/beads/module.json +55 -55
- package/augment-extensions/workflows/beads/rules/best-practices.md +398 -398
- package/augment-extensions/workflows/beads/rules/file-format.md +327 -327
- package/augment-extensions/workflows/beads/rules/manual-setup.md +315 -315
- package/augment-extensions/workflows/beads/rules/workflow.md +326 -326
- package/augment-extensions/workflows/beads-integration/IMPLEMENTATION-STATUS.md +145 -145
- package/augment-extensions/workflows/beads-integration/README.md +143 -143
- package/augment-extensions/workflows/beads-integration/config/defaults.json +32 -32
- package/augment-extensions/workflows/beads-integration/config/schema.json +140 -140
- package/augment-extensions/workflows/beads-integration/examples/basic-task-generation.md +293 -293
- package/augment-extensions/workflows/beads-integration/module.json +75 -75
- package/augment-extensions/workflows/beads-integration/rules/core-rules.md +219 -219
- package/augment-extensions/workflows/beads-integration/rules/effectiveness-standards.md +256 -256
- package/augment-extensions/workflows/beads-integration/rules/task-generation.md +607 -607
- package/augment-extensions/workflows/database/README.md +195 -195
- package/augment-extensions/workflows/database/ai-prompt-testing.md +295 -295
- package/augment-extensions/workflows/database/examples/migration-example.md +498 -498
- package/augment-extensions/workflows/database/examples/optimization-example.md +496 -496
- package/augment-extensions/workflows/database/examples/schema-design-example.md +444 -444
- package/augment-extensions/workflows/database/module.json +42 -42
- package/augment-extensions/workflows/database/rules/data-migration.md +249 -249
- package/augment-extensions/workflows/database/rules/documentation-standards.md +339 -339
- package/augment-extensions/workflows/database/rules/migration-workflow.md +352 -352
- package/augment-extensions/workflows/database/rules/optimization-workflow.md +435 -435
- package/augment-extensions/workflows/database/rules/schema-design-workflow.md +535 -535
- package/augment-extensions/workflows/database/rules/testing-patterns.md +305 -305
- package/augment-extensions/workflows/database/rules/workflow.md +458 -458
- package/augment-extensions/workflows/wordpress-plugin/README.md +232 -232
- package/augment-extensions/workflows/wordpress-plugin/ai-prompts.md +839 -839
- package/augment-extensions/workflows/wordpress-plugin/bead-decomposition-patterns.md +854 -854
- package/augment-extensions/workflows/wordpress-plugin/examples/complete-plugin-example.md +540 -540
- package/augment-extensions/workflows/wordpress-plugin/examples/custom-post-type-example.md +1083 -1083
- package/augment-extensions/workflows/wordpress-plugin/examples/feature-addition-workflow.md +669 -669
- package/augment-extensions/workflows/wordpress-plugin/examples/plugin-creation-workflow.md +597 -597
- package/augment-extensions/workflows/wordpress-plugin/examples/secure-form-handler-example.md +925 -925
- package/augment-extensions/workflows/wordpress-plugin/examples/security-audit-workflow.md +752 -752
- package/augment-extensions/workflows/wordpress-plugin/examples/wordpress-org-submission-workflow.md +773 -773
- package/augment-extensions/workflows/wordpress-plugin/module.json +49 -49
- package/augment-extensions/workflows/wordpress-plugin/rules/best-practices.md +942 -942
- package/augment-extensions/workflows/wordpress-plugin/rules/development-workflow.md +702 -702
- package/augment-extensions/workflows/wordpress-plugin/rules/submission-workflow.md +728 -728
- package/augment-extensions/workflows/wordpress-plugin/rules/testing-workflow.md +775 -775
- package/augment-extensions/writing-standards/screenplay/README.md +339 -300
- package/augment-extensions/writing-standards/screenplay/_templates/README.md +121 -121
- package/augment-extensions/writing-standards/screenplay/_templates/genre-template.md +153 -153
- package/augment-extensions/writing-standards/screenplay/_templates/style-template.md +243 -243
- package/augment-extensions/writing-standards/screenplay/_templates/theme-template.md +213 -213
- package/augment-extensions/writing-standards/screenplay/examples/aaa-hollywood-scene.fountain +164 -164
- package/augment-extensions/writing-standards/screenplay/examples/beat-sheet-example.yaml +95 -95
- package/augment-extensions/writing-standards/screenplay/examples/character-profile-example.yaml +116 -116
- package/augment-extensions/writing-standards/screenplay/examples/commercial-30sec.fountain +151 -151
- package/augment-extensions/writing-standards/screenplay/examples/independent-monologue.fountain +67 -67
- package/augment-extensions/writing-standards/screenplay/examples/news-segment.fountain +142 -142
- package/augment-extensions/writing-standards/screenplay/examples/plot-outline-example.yaml +184 -184
- package/augment-extensions/writing-standards/screenplay/examples/tv-episode-teaser.fountain +204 -204
- package/augment-extensions/writing-standards/screenplay/genres/README.md +181 -181
- package/augment-extensions/writing-standards/screenplay/genres/examples/.gitkeep +2 -2
- package/augment-extensions/writing-standards/screenplay/genres/module.json +70 -70
- package/augment-extensions/writing-standards/screenplay/genres/rules/.gitkeep +2 -2
- package/augment-extensions/writing-standards/screenplay/genres/rules/action.md +399 -399
- package/augment-extensions/writing-standards/screenplay/genres/rules/adventure.md +407 -407
- package/augment-extensions/writing-standards/screenplay/genres/rules/animation.md +293 -293
- package/augment-extensions/writing-standards/screenplay/genres/rules/biographical.md +293 -293
- package/augment-extensions/writing-standards/screenplay/genres/rules/comedy.md +401 -401
- package/augment-extensions/writing-standards/screenplay/genres/rules/documentary.md +293 -293
- package/augment-extensions/writing-standards/screenplay/genres/rules/drama.md +409 -409
- package/augment-extensions/writing-standards/screenplay/genres/rules/fantasy.md +293 -293
- package/augment-extensions/writing-standards/screenplay/genres/rules/historical.md +293 -293
- package/augment-extensions/writing-standards/screenplay/genres/rules/horror.md +268 -268
- package/augment-extensions/writing-standards/screenplay/genres/rules/musical.md +294 -294
- package/augment-extensions/writing-standards/screenplay/genres/rules/mystery.md +293 -293
- package/augment-extensions/writing-standards/screenplay/genres/rules/noir.md +294 -294
- package/augment-extensions/writing-standards/screenplay/genres/rules/romance.md +293 -293
- package/augment-extensions/writing-standards/screenplay/genres/rules/sci-fi.md +289 -289
- package/augment-extensions/writing-standards/screenplay/genres/rules/superhero.md +293 -293
- package/augment-extensions/writing-standards/screenplay/genres/rules/thriller.md +294 -294
- package/augment-extensions/writing-standards/screenplay/genres/rules/western.md +293 -293
- package/augment-extensions/writing-standards/screenplay/module.json +124 -124
- package/augment-extensions/writing-standards/screenplay/rules/aaa-hollywood-films.md +339 -339
- package/augment-extensions/writing-standards/screenplay/rules/ai-integration-testing.md +329 -329
- package/augment-extensions/writing-standards/screenplay/rules/character-development.md +169 -169
- package/augment-extensions/writing-standards/screenplay/rules/commercials.md +437 -437
- package/augment-extensions/writing-standards/screenplay/rules/dialogue-writing.md +263 -263
- package/augment-extensions/writing-standards/screenplay/rules/diversity-inclusion.md +261 -261
- package/augment-extensions/writing-standards/screenplay/rules/examples-guide.md +315 -315
- package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -0
- package/augment-extensions/writing-standards/screenplay/rules/formatting-validation.md +413 -413
- package/augment-extensions/writing-standards/screenplay/rules/fountain-format.md +372 -372
- package/augment-extensions/writing-standards/screenplay/rules/independent-films.md +374 -374
- package/augment-extensions/writing-standards/screenplay/rules/live-tv-productions.md +443 -443
- package/augment-extensions/writing-standards/screenplay/rules/narrative-structures.md +207 -207
- package/augment-extensions/writing-standards/screenplay/rules/news-broadcasts.md +444 -444
- package/augment-extensions/writing-standards/screenplay/rules/pacing-timing.md +331 -331
- package/augment-extensions/writing-standards/screenplay/rules/quality-review-checklist.md +334 -334
- package/augment-extensions/writing-standards/screenplay/rules/quick-reference.md +299 -299
- package/augment-extensions/writing-standards/screenplay/rules/screen-continuity.md +263 -263
- package/augment-extensions/writing-standards/screenplay/rules/streaming-content.md +412 -412
- package/augment-extensions/writing-standards/screenplay/rules/trope-management.md +370 -370
- package/augment-extensions/writing-standards/screenplay/rules/tv-series.md +374 -374
- package/augment-extensions/writing-standards/screenplay/rules/universal-formatting.md +339 -339
- package/augment-extensions/writing-standards/screenplay/rules/vscode-integration.md +277 -277
- package/augment-extensions/writing-standards/screenplay/rules/web-content.md +393 -393
- package/augment-extensions/writing-standards/screenplay/schemas/beat-sheet.json +332 -332
- package/augment-extensions/writing-standards/screenplay/schemas/character-profile.json +247 -247
- package/augment-extensions/writing-standards/screenplay/schemas/feature-selection.json +200 -200
- package/augment-extensions/writing-standards/screenplay/schemas/plot-outline.json +233 -233
- package/augment-extensions/writing-standards/screenplay/schemas/screenplay-config.json +245 -245
- package/augment-extensions/writing-standards/screenplay/schemas/trope-inventory.json +221 -221
- package/augment-extensions/writing-standards/screenplay/styles/README.md +159 -159
- package/augment-extensions/writing-standards/screenplay/styles/examples/.gitkeep +2 -2
- package/augment-extensions/writing-standards/screenplay/styles/examples/style-applications.md +1449 -1449
- package/augment-extensions/writing-standards/screenplay/styles/module.json +64 -64
- package/augment-extensions/writing-standards/screenplay/styles/rules/.gitkeep +2 -2
- package/augment-extensions/writing-standards/screenplay/styles/rules/dialogue-centric.md +520 -520
- package/augment-extensions/writing-standards/screenplay/styles/rules/ensemble.md +499 -499
- package/augment-extensions/writing-standards/screenplay/styles/rules/epic.md +497 -497
- package/augment-extensions/writing-standards/screenplay/styles/rules/experimental.md +492 -492
- package/augment-extensions/writing-standards/screenplay/styles/rules/flashback.md +509 -509
- package/augment-extensions/writing-standards/screenplay/styles/rules/linear.md +490 -490
- package/augment-extensions/writing-standards/screenplay/styles/rules/minimalist.md +499 -499
- package/augment-extensions/writing-standards/screenplay/styles/rules/non-linear.md +501 -501
- package/augment-extensions/writing-standards/screenplay/styles/rules/poetic.md +499 -499
- package/augment-extensions/writing-standards/screenplay/styles/rules/realistic.md +498 -498
- package/augment-extensions/writing-standards/screenplay/styles/rules/satirical.md +499 -499
- package/augment-extensions/writing-standards/screenplay/styles/rules/surreal.md +508 -508
- package/augment-extensions/writing-standards/screenplay/styles/rules/voice-over.md +500 -500
- package/augment-extensions/writing-standards/screenplay/themes/README.md +158 -158
- package/augment-extensions/writing-standards/screenplay/themes/examples/.gitkeep +2 -2
- package/augment-extensions/writing-standards/screenplay/themes/examples/common-mistakes-and-fixes.md +643 -643
- package/augment-extensions/writing-standards/screenplay/themes/examples/complete-scene-example.md +311 -311
- package/augment-extensions/writing-standards/screenplay/themes/examples/individual-theme-examples.md +562 -562
- package/augment-extensions/writing-standards/screenplay/themes/examples/multi-theme-weaving.md +538 -538
- package/augment-extensions/writing-standards/screenplay/themes/examples/theme-application-guide.md +432 -432
- package/augment-extensions/writing-standards/screenplay/themes/examples/theme-integration-across-acts.md +637 -637
- package/augment-extensions/writing-standards/screenplay/themes/module.json +66 -66
- package/augment-extensions/writing-standards/screenplay/themes/rules/.gitkeep +2 -2
- package/augment-extensions/writing-standards/screenplay/themes/rules/ambition.md +458 -458
- package/augment-extensions/writing-standards/screenplay/themes/rules/betrayal.md +490 -490
- package/augment-extensions/writing-standards/screenplay/themes/rules/environment.md +458 -458
- package/augment-extensions/writing-standards/screenplay/themes/rules/fate.md +459 -459
- package/augment-extensions/writing-standards/screenplay/themes/rules/friendship.md +491 -491
- package/augment-extensions/writing-standards/screenplay/themes/rules/growth.md +491 -491
- package/augment-extensions/writing-standards/screenplay/themes/rules/identity.md +490 -490
- package/augment-extensions/writing-standards/screenplay/themes/rules/isolation.md +464 -464
- package/augment-extensions/writing-standards/screenplay/themes/rules/justice.md +461 -461
- package/augment-extensions/writing-standards/screenplay/themes/rules/love.md +489 -489
- package/augment-extensions/writing-standards/screenplay/themes/rules/power.md +494 -494
- package/augment-extensions/writing-standards/screenplay/themes/rules/redemption.md +483 -483
- package/augment-extensions/writing-standards/screenplay/themes/rules/revenge.md +489 -489
- package/augment-extensions/writing-standards/screenplay/themes/rules/survival.md +496 -496
- package/augment-extensions/writing-standards/screenplay/themes/rules/technology.md +463 -463
- package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -0
- package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -0
- package/cli/MODULES.md +302 -302
- package/cli/dist/cli.js +109 -22
- package/cli/dist/cli.js.map +1 -1
- package/cli/dist/commands/gui.d.ts.map +1 -1
- package/cli/dist/commands/gui.js +54 -6
- package/cli/dist/commands/gui.js.map +1 -1
- package/cli/dist/commands/init.d.ts.map +1 -1
- package/cli/dist/commands/init.js +76 -23
- package/cli/dist/commands/init.js.map +1 -1
- package/cli/dist/commands/self-remove.d.ts.map +1 -1
- package/cli/dist/commands/self-remove.js +48 -74
- package/cli/dist/commands/self-remove.js.map +1 -1
- package/cli/dist/commands/show.d.ts +11 -0
- package/cli/dist/commands/show.d.ts.map +1 -1
- package/cli/dist/commands/show.js +120 -0
- package/cli/dist/commands/show.js.map +1 -1
- package/cli/dist/commands/showCompleted.d.ts +21 -0
- package/cli/dist/commands/showCompleted.d.ts.map +1 -0
- package/cli/dist/commands/showCompleted.js +225 -0
- package/cli/dist/commands/showCompleted.js.map +1 -0
- package/cli/dist/commands/skill.js +88 -88
- package/cli/dist/commands/update.d.ts +2 -0
- package/cli/dist/commands/update.d.ts.map +1 -1
- package/cli/dist/commands/update.js +67 -1
- package/cli/dist/commands/update.js.map +1 -1
- package/cli/dist/utils/beadsCompletedChecker.d.ts +72 -0
- package/cli/dist/utils/beadsCompletedChecker.d.ts.map +1 -0
- package/cli/dist/utils/beadsCompletedChecker.js +198 -0
- package/cli/dist/utils/beadsCompletedChecker.js.map +1 -0
- package/cli/dist/utils/catalog-sync.js +13 -13
- package/cli/dist/utils/extractCommandHelp.d.ts +51 -0
- package/cli/dist/utils/extractCommandHelp.d.ts.map +1 -0
- package/cli/dist/utils/extractCommandHelp.js +250 -0
- package/cli/dist/utils/extractCommandHelp.js.map +1 -0
- package/cli/dist/utils/install-rules.js +55 -55
- package/cli/dist/utils/mcp-integration.js +44 -44
- package/cli/dist/utils/rule-install-hooks.js +8 -8
- package/modules.md +667 -630
- package/package.json +85 -85
|
@@ -1,268 +1,268 @@
|
|
|
1
|
-
# API Versioning
|
|
2
|
-
|
|
3
|
-
Strategies for versioning APIs to maintain backward compatibility.
|
|
4
|
-
|
|
5
|
-
## Versioning Strategies
|
|
6
|
-
|
|
7
|
-
### URL Versioning (Recommended for REST)
|
|
8
|
-
|
|
9
|
-
Include version in the URL path.
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
# Good - Version in URL
|
|
13
|
-
GET /api/v1/users
|
|
14
|
-
GET /api/v2/users
|
|
15
|
-
|
|
16
|
-
# Advantages:
|
|
17
|
-
- Clear and explicit
|
|
18
|
-
- Easy to route
|
|
19
|
-
- Easy to cache
|
|
20
|
-
- Easy to test different versions
|
|
21
|
-
|
|
22
|
-
# Disadvantages:
|
|
23
|
-
- URL changes between versions
|
|
24
|
-
- Can lead to code duplication
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Header Versioning
|
|
28
|
-
|
|
29
|
-
Use custom header for version.
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
# Request
|
|
33
|
-
GET /api/users
|
|
34
|
-
Accept-Version: v1
|
|
35
|
-
|
|
36
|
-
# Or using Accept header
|
|
37
|
-
GET /api/users
|
|
38
|
-
Accept: application/vnd.myapi.v1+json
|
|
39
|
-
|
|
40
|
-
# Advantages:
|
|
41
|
-
- Clean URLs
|
|
42
|
-
- Follows REST principles
|
|
43
|
-
|
|
44
|
-
# Disadvantages:
|
|
45
|
-
- Less visible
|
|
46
|
-
- Harder to test in browser
|
|
47
|
-
- Caching complexity
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Query Parameter Versioning
|
|
51
|
-
|
|
52
|
-
Include version as query parameter.
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
# Request
|
|
56
|
-
GET /api/users?version=1
|
|
57
|
-
|
|
58
|
-
# Advantages:
|
|
59
|
-
- Simple to implement
|
|
60
|
-
- Easy to test
|
|
61
|
-
|
|
62
|
-
# Disadvantages:
|
|
63
|
-
- Pollutes query parameters
|
|
64
|
-
- Less clean than URL versioning
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Semantic Versioning
|
|
68
|
-
|
|
69
|
-
Use semantic versioning for API versions.
|
|
70
|
-
|
|
71
|
-
```
|
|
72
|
-
# Format: MAJOR.MINOR.PATCH
|
|
73
|
-
|
|
74
|
-
v1.0.0 - Initial release
|
|
75
|
-
v1.1.0 - Added new endpoints (backward compatible)
|
|
76
|
-
v1.1.1 - Bug fixes (backward compatible)
|
|
77
|
-
v2.0.0 - Breaking changes (not backward compatible)
|
|
78
|
-
|
|
79
|
-
# In URLs, typically use only MAJOR version
|
|
80
|
-
/api/v1/users (represents v1.x.x)
|
|
81
|
-
/api/v2/users (represents v2.x.x)
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Breaking vs Non-Breaking Changes
|
|
85
|
-
|
|
86
|
-
### Non-Breaking Changes (Safe)
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
✅ Adding new endpoints
|
|
90
|
-
✅ Adding new optional fields to requests
|
|
91
|
-
✅ Adding new fields to responses
|
|
92
|
-
✅ Adding new query parameters (optional)
|
|
93
|
-
✅ Making required fields optional
|
|
94
|
-
✅ Relaxing validation rules
|
|
95
|
-
✅ Adding new enum values (if clients handle unknown values)
|
|
96
|
-
|
|
97
|
-
# Example: Adding optional field
|
|
98
|
-
# v1.0.0
|
|
99
|
-
POST /api/v1/users
|
|
100
|
-
{
|
|
101
|
-
"name": "John",
|
|
102
|
-
"email": "john@example.com"
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
# v1.1.0 (backward compatible)
|
|
106
|
-
POST /api/v1/users
|
|
107
|
-
{
|
|
108
|
-
"name": "John",
|
|
109
|
-
"email": "john@example.com",
|
|
110
|
-
"phone": "555-1234" # New optional field
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Breaking Changes (Require New Version)
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
❌ Removing endpoints
|
|
118
|
-
❌ Removing fields from responses
|
|
119
|
-
❌ Removing query parameters
|
|
120
|
-
❌ Renaming fields
|
|
121
|
-
❌ Changing field types
|
|
122
|
-
❌ Making optional fields required
|
|
123
|
-
❌ Changing URL structure
|
|
124
|
-
❌ Changing authentication method
|
|
125
|
-
❌ Stricter validation rules
|
|
126
|
-
|
|
127
|
-
# Example: Breaking change requires v2
|
|
128
|
-
# v1
|
|
129
|
-
GET /api/v1/users/123
|
|
130
|
-
{
|
|
131
|
-
"id": "123",
|
|
132
|
-
"name": "John Doe"
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
# v2 (breaking: renamed field)
|
|
136
|
-
GET /api/v2/users/123
|
|
137
|
-
{
|
|
138
|
-
"id": "123",
|
|
139
|
-
"fullName": "John Doe" # Renamed from 'name'
|
|
140
|
-
}
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## Deprecation Strategy
|
|
144
|
-
|
|
145
|
-
Gracefully deprecate old versions.
|
|
146
|
-
|
|
147
|
-
```
|
|
148
|
-
# 1. Announce deprecation
|
|
149
|
-
GET /api/v1/users
|
|
150
|
-
Response Headers:
|
|
151
|
-
Deprecation: true
|
|
152
|
-
Sunset: Sat, 31 Dec 2024 23:59:59 GMT
|
|
153
|
-
Link: </api/v2/users>; rel="successor-version"
|
|
154
|
-
|
|
155
|
-
# 2. Response body warning
|
|
156
|
-
{
|
|
157
|
-
"data": [...],
|
|
158
|
-
"warnings": [
|
|
159
|
-
{
|
|
160
|
-
"code": "DEPRECATED_VERSION",
|
|
161
|
-
"message": "API v1 is deprecated. Please migrate to v2 by Dec 31, 2024.",
|
|
162
|
-
"link": "https://docs.example.com/migration-guide"
|
|
163
|
-
}
|
|
164
|
-
]
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
# 3. Deprecation timeline
|
|
168
|
-
Month 0: Announce v2, v1 still supported
|
|
169
|
-
Month 3: Add deprecation warnings to v1
|
|
170
|
-
Month 6: v1 in maintenance mode (bug fixes only)
|
|
171
|
-
Month 12: v1 sunset (no longer available)
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
## Version Migration
|
|
175
|
-
|
|
176
|
-
Provide migration paths.
|
|
177
|
-
|
|
178
|
-
```
|
|
179
|
-
# Good - Support both versions during transition
|
|
180
|
-
# v1 endpoint (deprecated)
|
|
181
|
-
GET /api/v1/users/123
|
|
182
|
-
{
|
|
183
|
-
"id": "123",
|
|
184
|
-
"name": "John Doe",
|
|
185
|
-
"email": "john@example.com"
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
# v2 endpoint (current)
|
|
189
|
-
GET /api/v2/users/123
|
|
190
|
-
{
|
|
191
|
-
"id": "123",
|
|
192
|
-
"firstName": "John",
|
|
193
|
-
"lastName": "Doe",
|
|
194
|
-
"email": "john@example.com",
|
|
195
|
-
"profile": {
|
|
196
|
-
"avatar": "https://..."
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
# Provide migration guide
|
|
201
|
-
# docs/migration/v1-to-v2.md
|
|
202
|
-
- 'name' field split into 'firstName' and 'lastName'
|
|
203
|
-
- Added 'profile' object with nested fields
|
|
204
|
-
- All dates now in ISO 8601 format
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
## GraphQL Versioning
|
|
208
|
-
|
|
209
|
-
GraphQL uses schema evolution instead of versioning.
|
|
210
|
-
|
|
211
|
-
```graphql
|
|
212
|
-
# Good - Deprecate fields, don't remove
|
|
213
|
-
type User {
|
|
214
|
-
id: ID!
|
|
215
|
-
name: String! @deprecated(reason: "Use firstName and lastName instead")
|
|
216
|
-
firstName: String!
|
|
217
|
-
lastName: String!
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
# Good - Add new fields
|
|
221
|
-
type User {
|
|
222
|
-
id: ID!
|
|
223
|
-
email: String!
|
|
224
|
-
phone: String # New optional field
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
# Bad - Breaking change (don't do this)
|
|
228
|
-
type User {
|
|
229
|
-
id: ID!
|
|
230
|
-
# Removed 'name' field without deprecation period
|
|
231
|
-
firstName: String!
|
|
232
|
-
lastName: String!
|
|
233
|
-
}
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
## Best Practices
|
|
237
|
-
|
|
238
|
-
1. **Use URL versioning** - For REST APIs (most explicit)
|
|
239
|
-
2. **Version only on breaking changes** - Use semantic versioning
|
|
240
|
-
3. **Support multiple versions** - During transition period
|
|
241
|
-
4. **Deprecate gracefully** - Give clients time to migrate
|
|
242
|
-
5. **Document changes** - Maintain changelog
|
|
243
|
-
6. **Provide migration guides** - Help clients upgrade
|
|
244
|
-
7. **Use sunset headers** - Communicate deprecation timeline
|
|
245
|
-
8. **Test all versions** - Ensure backward compatibility
|
|
246
|
-
9. **Monitor usage** - Track version adoption
|
|
247
|
-
10. **Plan deprecation** - Have clear timeline
|
|
248
|
-
11. **Avoid micro-versions** - Don't version every change
|
|
249
|
-
12. **Use feature flags** - For gradual rollouts
|
|
250
|
-
13. **Keep v1 simple** - Don't over-engineer first version
|
|
251
|
-
14. **Version documentation** - Docs for each version
|
|
252
|
-
15. **Automate testing** - Test all supported versions
|
|
253
|
-
|
|
254
|
-
## Version Support Policy
|
|
255
|
-
|
|
256
|
-
```
|
|
257
|
-
# Example policy
|
|
258
|
-
- Current version (v3): Full support
|
|
259
|
-
- Previous version (v2): Maintenance mode (12 months)
|
|
260
|
-
- Older versions (v1): Deprecated (6 months notice before sunset)
|
|
261
|
-
|
|
262
|
-
# Timeline example
|
|
263
|
-
2024-01-01: v3 released, v2 enters maintenance, v1 deprecated
|
|
264
|
-
2024-07-01: v1 sunset (removed)
|
|
265
|
-
2025-01-01: v4 released, v3 enters maintenance, v2 deprecated
|
|
266
|
-
2025-07-01: v2 sunset (removed)
|
|
267
|
-
```
|
|
268
|
-
|
|
1
|
+
# API Versioning
|
|
2
|
+
|
|
3
|
+
Strategies for versioning APIs to maintain backward compatibility.
|
|
4
|
+
|
|
5
|
+
## Versioning Strategies
|
|
6
|
+
|
|
7
|
+
### URL Versioning (Recommended for REST)
|
|
8
|
+
|
|
9
|
+
Include version in the URL path.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
# Good - Version in URL
|
|
13
|
+
GET /api/v1/users
|
|
14
|
+
GET /api/v2/users
|
|
15
|
+
|
|
16
|
+
# Advantages:
|
|
17
|
+
- Clear and explicit
|
|
18
|
+
- Easy to route
|
|
19
|
+
- Easy to cache
|
|
20
|
+
- Easy to test different versions
|
|
21
|
+
|
|
22
|
+
# Disadvantages:
|
|
23
|
+
- URL changes between versions
|
|
24
|
+
- Can lead to code duplication
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Header Versioning
|
|
28
|
+
|
|
29
|
+
Use custom header for version.
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
# Request
|
|
33
|
+
GET /api/users
|
|
34
|
+
Accept-Version: v1
|
|
35
|
+
|
|
36
|
+
# Or using Accept header
|
|
37
|
+
GET /api/users
|
|
38
|
+
Accept: application/vnd.myapi.v1+json
|
|
39
|
+
|
|
40
|
+
# Advantages:
|
|
41
|
+
- Clean URLs
|
|
42
|
+
- Follows REST principles
|
|
43
|
+
|
|
44
|
+
# Disadvantages:
|
|
45
|
+
- Less visible
|
|
46
|
+
- Harder to test in browser
|
|
47
|
+
- Caching complexity
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Query Parameter Versioning
|
|
51
|
+
|
|
52
|
+
Include version as query parameter.
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
# Request
|
|
56
|
+
GET /api/users?version=1
|
|
57
|
+
|
|
58
|
+
# Advantages:
|
|
59
|
+
- Simple to implement
|
|
60
|
+
- Easy to test
|
|
61
|
+
|
|
62
|
+
# Disadvantages:
|
|
63
|
+
- Pollutes query parameters
|
|
64
|
+
- Less clean than URL versioning
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Semantic Versioning
|
|
68
|
+
|
|
69
|
+
Use semantic versioning for API versions.
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
# Format: MAJOR.MINOR.PATCH
|
|
73
|
+
|
|
74
|
+
v1.0.0 - Initial release
|
|
75
|
+
v1.1.0 - Added new endpoints (backward compatible)
|
|
76
|
+
v1.1.1 - Bug fixes (backward compatible)
|
|
77
|
+
v2.0.0 - Breaking changes (not backward compatible)
|
|
78
|
+
|
|
79
|
+
# In URLs, typically use only MAJOR version
|
|
80
|
+
/api/v1/users (represents v1.x.x)
|
|
81
|
+
/api/v2/users (represents v2.x.x)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Breaking vs Non-Breaking Changes
|
|
85
|
+
|
|
86
|
+
### Non-Breaking Changes (Safe)
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
✅ Adding new endpoints
|
|
90
|
+
✅ Adding new optional fields to requests
|
|
91
|
+
✅ Adding new fields to responses
|
|
92
|
+
✅ Adding new query parameters (optional)
|
|
93
|
+
✅ Making required fields optional
|
|
94
|
+
✅ Relaxing validation rules
|
|
95
|
+
✅ Adding new enum values (if clients handle unknown values)
|
|
96
|
+
|
|
97
|
+
# Example: Adding optional field
|
|
98
|
+
# v1.0.0
|
|
99
|
+
POST /api/v1/users
|
|
100
|
+
{
|
|
101
|
+
"name": "John",
|
|
102
|
+
"email": "john@example.com"
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
# v1.1.0 (backward compatible)
|
|
106
|
+
POST /api/v1/users
|
|
107
|
+
{
|
|
108
|
+
"name": "John",
|
|
109
|
+
"email": "john@example.com",
|
|
110
|
+
"phone": "555-1234" # New optional field
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Breaking Changes (Require New Version)
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
❌ Removing endpoints
|
|
118
|
+
❌ Removing fields from responses
|
|
119
|
+
❌ Removing query parameters
|
|
120
|
+
❌ Renaming fields
|
|
121
|
+
❌ Changing field types
|
|
122
|
+
❌ Making optional fields required
|
|
123
|
+
❌ Changing URL structure
|
|
124
|
+
❌ Changing authentication method
|
|
125
|
+
❌ Stricter validation rules
|
|
126
|
+
|
|
127
|
+
# Example: Breaking change requires v2
|
|
128
|
+
# v1
|
|
129
|
+
GET /api/v1/users/123
|
|
130
|
+
{
|
|
131
|
+
"id": "123",
|
|
132
|
+
"name": "John Doe"
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
# v2 (breaking: renamed field)
|
|
136
|
+
GET /api/v2/users/123
|
|
137
|
+
{
|
|
138
|
+
"id": "123",
|
|
139
|
+
"fullName": "John Doe" # Renamed from 'name'
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Deprecation Strategy
|
|
144
|
+
|
|
145
|
+
Gracefully deprecate old versions.
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
# 1. Announce deprecation
|
|
149
|
+
GET /api/v1/users
|
|
150
|
+
Response Headers:
|
|
151
|
+
Deprecation: true
|
|
152
|
+
Sunset: Sat, 31 Dec 2024 23:59:59 GMT
|
|
153
|
+
Link: </api/v2/users>; rel="successor-version"
|
|
154
|
+
|
|
155
|
+
# 2. Response body warning
|
|
156
|
+
{
|
|
157
|
+
"data": [...],
|
|
158
|
+
"warnings": [
|
|
159
|
+
{
|
|
160
|
+
"code": "DEPRECATED_VERSION",
|
|
161
|
+
"message": "API v1 is deprecated. Please migrate to v2 by Dec 31, 2024.",
|
|
162
|
+
"link": "https://docs.example.com/migration-guide"
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
# 3. Deprecation timeline
|
|
168
|
+
Month 0: Announce v2, v1 still supported
|
|
169
|
+
Month 3: Add deprecation warnings to v1
|
|
170
|
+
Month 6: v1 in maintenance mode (bug fixes only)
|
|
171
|
+
Month 12: v1 sunset (no longer available)
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Version Migration
|
|
175
|
+
|
|
176
|
+
Provide migration paths.
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
# Good - Support both versions during transition
|
|
180
|
+
# v1 endpoint (deprecated)
|
|
181
|
+
GET /api/v1/users/123
|
|
182
|
+
{
|
|
183
|
+
"id": "123",
|
|
184
|
+
"name": "John Doe",
|
|
185
|
+
"email": "john@example.com"
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
# v2 endpoint (current)
|
|
189
|
+
GET /api/v2/users/123
|
|
190
|
+
{
|
|
191
|
+
"id": "123",
|
|
192
|
+
"firstName": "John",
|
|
193
|
+
"lastName": "Doe",
|
|
194
|
+
"email": "john@example.com",
|
|
195
|
+
"profile": {
|
|
196
|
+
"avatar": "https://..."
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
# Provide migration guide
|
|
201
|
+
# docs/migration/v1-to-v2.md
|
|
202
|
+
- 'name' field split into 'firstName' and 'lastName'
|
|
203
|
+
- Added 'profile' object with nested fields
|
|
204
|
+
- All dates now in ISO 8601 format
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## GraphQL Versioning
|
|
208
|
+
|
|
209
|
+
GraphQL uses schema evolution instead of versioning.
|
|
210
|
+
|
|
211
|
+
```graphql
|
|
212
|
+
# Good - Deprecate fields, don't remove
|
|
213
|
+
type User {
|
|
214
|
+
id: ID!
|
|
215
|
+
name: String! @deprecated(reason: "Use firstName and lastName instead")
|
|
216
|
+
firstName: String!
|
|
217
|
+
lastName: String!
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
# Good - Add new fields
|
|
221
|
+
type User {
|
|
222
|
+
id: ID!
|
|
223
|
+
email: String!
|
|
224
|
+
phone: String # New optional field
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
# Bad - Breaking change (don't do this)
|
|
228
|
+
type User {
|
|
229
|
+
id: ID!
|
|
230
|
+
# Removed 'name' field without deprecation period
|
|
231
|
+
firstName: String!
|
|
232
|
+
lastName: String!
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## Best Practices
|
|
237
|
+
|
|
238
|
+
1. **Use URL versioning** - For REST APIs (most explicit)
|
|
239
|
+
2. **Version only on breaking changes** - Use semantic versioning
|
|
240
|
+
3. **Support multiple versions** - During transition period
|
|
241
|
+
4. **Deprecate gracefully** - Give clients time to migrate
|
|
242
|
+
5. **Document changes** - Maintain changelog
|
|
243
|
+
6. **Provide migration guides** - Help clients upgrade
|
|
244
|
+
7. **Use sunset headers** - Communicate deprecation timeline
|
|
245
|
+
8. **Test all versions** - Ensure backward compatibility
|
|
246
|
+
9. **Monitor usage** - Track version adoption
|
|
247
|
+
10. **Plan deprecation** - Have clear timeline
|
|
248
|
+
11. **Avoid micro-versions** - Don't version every change
|
|
249
|
+
12. **Use feature flags** - For gradual rollouts
|
|
250
|
+
13. **Keep v1 simple** - Don't over-engineer first version
|
|
251
|
+
14. **Version documentation** - Docs for each version
|
|
252
|
+
15. **Automate testing** - Test all supported versions
|
|
253
|
+
|
|
254
|
+
## Version Support Policy
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
# Example policy
|
|
258
|
+
- Current version (v3): Full support
|
|
259
|
+
- Previous version (v2): Maintenance mode (12 months)
|
|
260
|
+
- Older versions (v1): Deprecated (6 months notice before sunset)
|
|
261
|
+
|
|
262
|
+
# Timeline example
|
|
263
|
+
2024-01-01: v3 released, v2 enters maintenance, v1 deprecated
|
|
264
|
+
2024-07-01: v1 sunset (removed)
|
|
265
|
+
2025-01-01: v4 released, v3 enters maintenance, v2 deprecated
|
|
266
|
+
2025-07-01: v2 sunset (removed)
|
|
267
|
+
```
|
|
268
|
+
|