@mytechtoday/augment-extensions 0.2.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +614 -39
- package/augment-extensions/coding-standards/bash/README.md +196 -0
- package/augment-extensions/coding-standards/bash/module.json +163 -0
- package/augment-extensions/coding-standards/bash/rules/naming-conventions.md +336 -0
- package/augment-extensions/coding-standards/bash/rules/universal-standards.md +289 -0
- package/augment-extensions/coding-standards/css/README.md +40 -0
- package/augment-extensions/coding-standards/css/examples/css-examples.css +550 -0
- package/augment-extensions/coding-standards/css/module.json +44 -0
- package/augment-extensions/coding-standards/css/rules/css-modern-features.md +448 -0
- package/augment-extensions/coding-standards/css/rules/css-standards.md +492 -0
- package/augment-extensions/coding-standards/html/README.md +40 -0
- package/augment-extensions/coding-standards/html/examples/html-examples.html +267 -0
- package/augment-extensions/coding-standards/html/examples/responsive-layout.html +505 -0
- package/augment-extensions/coding-standards/html/module.json +44 -0
- package/augment-extensions/coding-standards/html/rules/html-standards.md +349 -0
- package/augment-extensions/coding-standards/html-css-js/README.md +194 -0
- package/augment-extensions/coding-standards/html-css-js/examples/async-examples.js +487 -0
- package/augment-extensions/coding-standards/html-css-js/examples/css-examples.css +550 -0
- package/augment-extensions/coding-standards/html-css-js/examples/dom-examples.js +667 -0
- package/augment-extensions/coding-standards/html-css-js/examples/html-examples.html +267 -0
- package/augment-extensions/coding-standards/html-css-js/examples/javascript-examples.js +612 -0
- package/augment-extensions/coding-standards/html-css-js/examples/responsive-layout.html +505 -0
- package/augment-extensions/coding-standards/html-css-js/module.json +48 -0
- package/augment-extensions/coding-standards/html-css-js/rules/async-patterns.md +515 -0
- package/augment-extensions/coding-standards/html-css-js/rules/css-modern-features.md +448 -0
- package/augment-extensions/coding-standards/html-css-js/rules/css-standards.md +492 -0
- package/augment-extensions/coding-standards/html-css-js/rules/dom-manipulation.md +439 -0
- package/augment-extensions/coding-standards/html-css-js/rules/html-standards.md +349 -0
- package/augment-extensions/coding-standards/html-css-js/rules/javascript-standards.md +486 -0
- package/augment-extensions/coding-standards/html-css-js/rules/performance.md +463 -0
- package/augment-extensions/coding-standards/html-css-js/rules/tooling.md +543 -0
- package/augment-extensions/coding-standards/js/README.md +46 -0
- package/augment-extensions/coding-standards/js/examples/async-examples.js +487 -0
- package/augment-extensions/coding-standards/js/examples/dom-examples.js +667 -0
- package/augment-extensions/coding-standards/js/examples/javascript-examples.js +612 -0
- package/augment-extensions/coding-standards/js/module.json +49 -0
- package/augment-extensions/coding-standards/js/rules/async-patterns.md +515 -0
- package/augment-extensions/coding-standards/js/rules/dom-manipulation.md +439 -0
- package/augment-extensions/coding-standards/js/rules/javascript-standards.md +486 -0
- package/augment-extensions/coding-standards/js/rules/performance.md +463 -0
- package/augment-extensions/coding-standards/js/rules/tooling.md +543 -0
- package/augment-extensions/coding-standards/php/README.md +248 -0
- package/augment-extensions/coding-standards/php/examples/api-endpoint-example.php +204 -0
- package/augment-extensions/coding-standards/php/examples/cli-command-example.php +206 -0
- package/augment-extensions/coding-standards/php/examples/legacy-refactoring-example.php +234 -0
- package/augment-extensions/coding-standards/php/examples/web-application-example.php +211 -0
- package/augment-extensions/coding-standards/php/examples/woocommerce-extension-example.php +215 -0
- package/augment-extensions/coding-standards/php/examples/wordpress-plugin-example.php +189 -0
- package/augment-extensions/coding-standards/php/module.json +166 -0
- package/augment-extensions/coding-standards/php/rules/api-development.md +480 -0
- package/augment-extensions/coding-standards/php/rules/category-configuration.md +332 -0
- package/augment-extensions/coding-standards/php/rules/cli-tools.md +472 -0
- package/augment-extensions/coding-standards/php/rules/cms-integration.md +561 -0
- package/augment-extensions/coding-standards/php/rules/code-quality.md +402 -0
- package/augment-extensions/coding-standards/php/rules/documentation.md +425 -0
- package/augment-extensions/coding-standards/php/rules/ecommerce.md +627 -0
- package/augment-extensions/coding-standards/php/rules/error-handling.md +336 -0
- package/augment-extensions/coding-standards/php/rules/legacy-migration.md +677 -0
- package/augment-extensions/coding-standards/php/rules/naming-conventions.md +279 -0
- package/augment-extensions/coding-standards/php/rules/performance.md +392 -0
- package/augment-extensions/coding-standards/php/rules/psr-standards.md +186 -0
- package/augment-extensions/coding-standards/php/rules/security.md +358 -0
- package/augment-extensions/coding-standards/php/rules/testing.md +403 -0
- package/augment-extensions/coding-standards/php/rules/type-declarations.md +331 -0
- package/augment-extensions/coding-standards/php/rules/web-applications.md +426 -0
- package/augment-extensions/coding-standards/powershell/README.md +154 -0
- package/augment-extensions/coding-standards/powershell/examples/admin-example.ps1 +272 -0
- package/augment-extensions/coding-standards/powershell/examples/automation-example.ps1 +173 -0
- package/augment-extensions/coding-standards/powershell/examples/cloud-example.ps1 +243 -0
- package/augment-extensions/coding-standards/powershell/examples/cross-platform-example.ps1 +297 -0
- package/augment-extensions/coding-standards/powershell/examples/dsc-example.ps1 +224 -0
- package/augment-extensions/coding-standards/powershell/examples/legacy-migration-example.ps1 +340 -0
- package/augment-extensions/coding-standards/powershell/examples/module-example.psm1 +255 -0
- package/augment-extensions/coding-standards/powershell/module.json +165 -0
- package/augment-extensions/coding-standards/powershell/rules/administrative-tools.md +439 -0
- package/augment-extensions/coding-standards/powershell/rules/automation-scripts.md +240 -0
- package/augment-extensions/coding-standards/powershell/rules/cloud-orchestration.md +384 -0
- package/augment-extensions/coding-standards/powershell/rules/configuration-schema.md +383 -0
- package/augment-extensions/coding-standards/powershell/rules/cross-platform-scripts.md +482 -0
- package/augment-extensions/coding-standards/powershell/rules/dsc-configurations.md +296 -0
- package/augment-extensions/coding-standards/powershell/rules/error-handling.md +314 -0
- package/augment-extensions/coding-standards/powershell/rules/legacy-migrations.md +466 -0
- package/augment-extensions/coding-standards/powershell/rules/modules-functions.md +244 -0
- package/augment-extensions/coding-standards/powershell/rules/naming-conventions.md +266 -0
- package/augment-extensions/coding-standards/powershell/rules/performance-optimization.md +209 -0
- package/augment-extensions/coding-standards/powershell/rules/security-practices.md +314 -0
- package/augment-extensions/coding-standards/powershell/rules/testing-guidelines.md +268 -0
- package/augment-extensions/coding-standards/powershell/rules/universal-standards.md +197 -0
- package/augment-extensions/coding-standards/python/README.md +12 -8
- package/augment-extensions/coding-standards/python/examples/best-practices.py +373 -0
- package/augment-extensions/coding-standards/python/module.json +8 -4
- package/augment-extensions/coding-standards/python/rules/async-patterns.md +884 -0
- package/augment-extensions/coding-standards/python/rules/documentation.md +831 -0
- package/augment-extensions/coding-standards/python/rules/error-handling.md +855 -68
- package/augment-extensions/coding-standards/python/rules/testing.md +409 -0
- package/augment-extensions/coding-standards/python/rules/tooling.md +446 -0
- package/augment-extensions/coding-standards/python/rules/type-hints.md +115 -50
- package/augment-extensions/collections/html-css-js/README.md +82 -0
- package/augment-extensions/collections/html-css-js/collection.json +41 -0
- package/augment-extensions/domain-rules/database/README.md +161 -0
- package/augment-extensions/domain-rules/database/examples/flat-database-example.md +793 -0
- package/augment-extensions/domain-rules/database/examples/hybrid-database-example.md +1132 -0
- package/augment-extensions/domain-rules/database/examples/nosql-document-example.md +868 -0
- package/augment-extensions/domain-rules/database/examples/nosql-graph-example.md +805 -0
- package/augment-extensions/domain-rules/database/examples/relational-schema-example.md +621 -0
- package/augment-extensions/domain-rules/database/examples/vector-database-example.md +965 -0
- package/augment-extensions/domain-rules/database/module.json +28 -0
- package/augment-extensions/domain-rules/database/rules/flat-databases.md +624 -0
- package/augment-extensions/domain-rules/database/rules/nosql-databases.md +588 -0
- package/augment-extensions/domain-rules/database/rules/nosql-document-stores.md +856 -0
- package/augment-extensions/domain-rules/database/rules/nosql-graph-databases.md +778 -0
- package/augment-extensions/domain-rules/database/rules/nosql-key-value-stores.md +963 -0
- package/augment-extensions/domain-rules/database/rules/performance-optimization.md +1076 -0
- package/augment-extensions/domain-rules/database/rules/relational-databases.md +697 -0
- package/augment-extensions/domain-rules/database/rules/relational-indexing.md +671 -0
- package/augment-extensions/domain-rules/database/rules/relational-query-optimization.md +607 -0
- package/augment-extensions/domain-rules/database/rules/relational-schema-design.md +907 -0
- package/augment-extensions/domain-rules/database/rules/relational-transactions.md +783 -0
- package/augment-extensions/domain-rules/database/rules/security-standards.md +980 -0
- package/augment-extensions/domain-rules/database/rules/universal-best-practices.md +485 -0
- package/augment-extensions/domain-rules/database/rules/vector-databases.md +521 -0
- package/augment-extensions/domain-rules/database/rules/vector-embeddings.md +858 -0
- package/augment-extensions/domain-rules/database/rules/vector-indexing.md +934 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/dracula/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/dracula/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/high-contrast/README.md +27 -0
- package/augment-extensions/domain-rules/design/color/themes/high-contrast/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/monokai/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/monokai/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/nord/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/nord/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/one-dark/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/one-dark/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/one-light/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/one-light/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-dark/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-dark/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-light/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-light/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/tokyo-night/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/tokyo-night/module.json +26 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/README.md +136 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/SCHEMA-VALIDATION-REPORT.md +216 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/brand-kit-example.yaml +292 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/campaign-brief-example.yaml +389 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/content-calendar-example.yaml +643 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/email-newsletter-example.md +376 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/landing-page-example.md +934 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/ppc-ad-copy-example.md +301 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/seo-blog-post-example.md +347 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/social-media-campaign-example.md +606 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/module.json +50 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/affiliate-influencer-marketing.md +593 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/asset-management.md +418 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/brand-consistency.md +210 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/content-marketing.md +337 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/conversion-optimization.md +455 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/direct-sales.md +499 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/email-marketing.md +439 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/legal-compliance.md +227 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/ppc-advertising.md +569 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/seo-optimization.md +470 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/social-media-marketing.md +414 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/universal-marketing.md +177 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/asset-inventory.schema.json +247 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/brand-kit.schema.json +326 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/campaign-brief.schema.json +342 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/color-palette.schema.json +223 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/content-template.schema.json +383 -0
- package/augment-extensions/domain-rules/mcp/README.md +150 -0
- package/augment-extensions/domain-rules/mcp/examples/compressed-example.md +522 -0
- package/augment-extensions/domain-rules/mcp/examples/graph-augmented-example.md +520 -0
- package/augment-extensions/domain-rules/mcp/examples/hybrid-example.md +570 -0
- package/augment-extensions/domain-rules/mcp/examples/state-based-example.md +427 -0
- package/augment-extensions/domain-rules/mcp/examples/token-based-example.md +435 -0
- package/augment-extensions/domain-rules/mcp/examples/vector-based-example.md +502 -0
- package/augment-extensions/domain-rules/mcp/module.json +49 -0
- package/augment-extensions/domain-rules/mcp/rules/compressed-mcp.md +595 -0
- package/augment-extensions/domain-rules/mcp/rules/configuration.md +345 -0
- package/augment-extensions/domain-rules/mcp/rules/graph-augmented-mcp.md +687 -0
- package/augment-extensions/domain-rules/mcp/rules/hybrid-mcp.md +636 -0
- package/augment-extensions/domain-rules/mcp/rules/state-based-mcp.md +484 -0
- package/augment-extensions/domain-rules/mcp/rules/testing-validation.md +360 -0
- package/augment-extensions/domain-rules/mcp/rules/token-based-mcp.md +393 -0
- package/augment-extensions/domain-rules/mcp/rules/universal-rules.md +194 -0
- package/augment-extensions/domain-rules/mcp/rules/vector-based-mcp.md +625 -0
- package/augment-extensions/workflows/beads/module.json +4 -3
- package/augment-extensions/workflows/beads-integration/IMPLEMENTATION-STATUS.md +145 -0
- package/augment-extensions/workflows/beads-integration/README.md +143 -0
- package/augment-extensions/workflows/beads-integration/config/defaults.json +32 -0
- package/augment-extensions/workflows/beads-integration/config/schema.json +140 -0
- package/augment-extensions/workflows/beads-integration/examples/basic-task-generation.md +293 -0
- package/augment-extensions/workflows/beads-integration/module.json +75 -0
- package/augment-extensions/workflows/beads-integration/rules/core-rules.md +219 -0
- package/augment-extensions/workflows/beads-integration/rules/effectiveness-standards.md +256 -0
- package/augment-extensions/workflows/beads-integration/rules/task-generation.md +607 -0
- package/augment-extensions/workflows/database/README.md +195 -0
- package/augment-extensions/workflows/database/ai-prompt-testing.md +295 -0
- package/augment-extensions/workflows/database/examples/migration-example.md +498 -0
- package/augment-extensions/workflows/database/examples/optimization-example.md +496 -0
- package/augment-extensions/workflows/database/examples/schema-design-example.md +444 -0
- package/augment-extensions/workflows/database/module.json +42 -0
- package/augment-extensions/workflows/database/rules/data-migration.md +249 -0
- package/augment-extensions/workflows/database/rules/documentation-standards.md +339 -0
- package/augment-extensions/workflows/database/rules/migration-workflow.md +352 -0
- package/augment-extensions/workflows/database/rules/optimization-workflow.md +435 -0
- package/augment-extensions/workflows/database/rules/schema-design-workflow.md +535 -0
- package/augment-extensions/workflows/database/rules/testing-patterns.md +305 -0
- package/augment-extensions/workflows/database/rules/workflow.md +458 -0
- package/augment-extensions/workflows/openspec/module.json +4 -3
- package/augment-extensions/writing-standards/screenplay/README.md +300 -0
- package/augment-extensions/writing-standards/screenplay/_templates/README.md +121 -0
- package/augment-extensions/writing-standards/screenplay/_templates/genre-template.md +153 -0
- package/augment-extensions/writing-standards/screenplay/_templates/style-template.md +243 -0
- package/augment-extensions/writing-standards/screenplay/_templates/theme-template.md +213 -0
- package/augment-extensions/writing-standards/screenplay/examples/aaa-hollywood-scene.fountain +164 -0
- package/augment-extensions/writing-standards/screenplay/examples/beat-sheet-example.yaml +95 -0
- package/augment-extensions/writing-standards/screenplay/examples/character-profile-example.yaml +116 -0
- package/augment-extensions/writing-standards/screenplay/examples/commercial-30sec.fountain +151 -0
- package/augment-extensions/writing-standards/screenplay/examples/independent-monologue.fountain +67 -0
- package/augment-extensions/writing-standards/screenplay/examples/news-segment.fountain +142 -0
- package/augment-extensions/writing-standards/screenplay/examples/plot-outline-example.yaml +184 -0
- package/augment-extensions/writing-standards/screenplay/examples/tv-episode-teaser.fountain +204 -0
- package/augment-extensions/writing-standards/screenplay/genres/README.md +181 -0
- package/augment-extensions/writing-standards/screenplay/genres/examples/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/genres/module.json +70 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/action.md +399 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/adventure.md +407 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/animation.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/biographical.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/comedy.md +401 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/documentary.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/drama.md +409 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/fantasy.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/historical.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/horror.md +268 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/musical.md +294 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/mystery.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/noir.md +294 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/romance.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/sci-fi.md +289 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/superhero.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/thriller.md +294 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/western.md +293 -0
- package/augment-extensions/writing-standards/screenplay/module.json +124 -0
- package/augment-extensions/writing-standards/screenplay/rules/aaa-hollywood-films.md +339 -0
- package/augment-extensions/writing-standards/screenplay/rules/ai-integration-testing.md +329 -0
- package/augment-extensions/writing-standards/screenplay/rules/character-development.md +169 -0
- package/augment-extensions/writing-standards/screenplay/rules/commercials.md +437 -0
- package/augment-extensions/writing-standards/screenplay/rules/dialogue-writing.md +263 -0
- package/augment-extensions/writing-standards/screenplay/rules/diversity-inclusion.md +261 -0
- package/augment-extensions/writing-standards/screenplay/rules/examples-guide.md +315 -0
- package/augment-extensions/writing-standards/screenplay/rules/formatting-validation.md +413 -0
- package/augment-extensions/writing-standards/screenplay/rules/fountain-format.md +372 -0
- package/augment-extensions/writing-standards/screenplay/rules/independent-films.md +374 -0
- package/augment-extensions/writing-standards/screenplay/rules/live-tv-productions.md +443 -0
- package/augment-extensions/writing-standards/screenplay/rules/narrative-structures.md +207 -0
- package/augment-extensions/writing-standards/screenplay/rules/news-broadcasts.md +444 -0
- package/augment-extensions/writing-standards/screenplay/rules/pacing-timing.md +331 -0
- package/augment-extensions/writing-standards/screenplay/rules/quality-review-checklist.md +334 -0
- package/augment-extensions/writing-standards/screenplay/rules/quick-reference.md +299 -0
- package/augment-extensions/writing-standards/screenplay/rules/screen-continuity.md +263 -0
- package/augment-extensions/writing-standards/screenplay/rules/streaming-content.md +412 -0
- package/augment-extensions/writing-standards/screenplay/rules/trope-management.md +370 -0
- package/augment-extensions/writing-standards/screenplay/rules/tv-series.md +374 -0
- package/augment-extensions/writing-standards/screenplay/rules/universal-formatting.md +339 -0
- package/augment-extensions/writing-standards/screenplay/rules/vscode-integration.md +277 -0
- package/augment-extensions/writing-standards/screenplay/rules/web-content.md +393 -0
- package/augment-extensions/writing-standards/screenplay/schemas/beat-sheet.json +332 -0
- package/augment-extensions/writing-standards/screenplay/schemas/character-profile.json +247 -0
- package/augment-extensions/writing-standards/screenplay/schemas/feature-selection.json +200 -0
- package/augment-extensions/writing-standards/screenplay/schemas/plot-outline.json +233 -0
- package/augment-extensions/writing-standards/screenplay/schemas/screenplay-config.json +245 -0
- package/augment-extensions/writing-standards/screenplay/schemas/trope-inventory.json +221 -0
- package/augment-extensions/writing-standards/screenplay/styles/README.md +159 -0
- package/augment-extensions/writing-standards/screenplay/styles/examples/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/styles/examples/style-applications.md +1449 -0
- package/augment-extensions/writing-standards/screenplay/styles/module.json +64 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/dialogue-centric.md +520 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/ensemble.md +499 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/epic.md +497 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/experimental.md +492 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/flashback.md +509 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/linear.md +490 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/minimalist.md +499 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/non-linear.md +501 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/poetic.md +499 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/realistic.md +498 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/satirical.md +499 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/surreal.md +508 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/voice-over.md +500 -0
- package/augment-extensions/writing-standards/screenplay/themes/README.md +158 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/common-mistakes-and-fixes.md +643 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/complete-scene-example.md +311 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/individual-theme-examples.md +562 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/multi-theme-weaving.md +538 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/theme-application-guide.md +432 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/theme-integration-across-acts.md +637 -0
- package/augment-extensions/writing-standards/screenplay/themes/module.json +66 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/ambition.md +458 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/betrayal.md +490 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/environment.md +458 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/fate.md +459 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/friendship.md +491 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/growth.md +491 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/identity.md +490 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/isolation.md +464 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/justice.md +461 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/love.md +489 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/power.md +494 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/redemption.md +483 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/revenge.md +489 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/survival.md +496 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/technology.md +463 -0
- package/cli/MODULES.md +302 -0
- package/cli/dist/cli.js +168 -10
- package/cli/dist/cli.js.map +1 -1
- package/cli/dist/commands/catalog.d.ts +13 -0
- package/cli/dist/commands/catalog.d.ts.map +1 -0
- package/cli/dist/commands/catalog.js +104 -0
- package/cli/dist/commands/catalog.js.map +1 -0
- package/cli/dist/commands/gui.d.ts +6 -0
- package/cli/dist/commands/gui.d.ts.map +1 -0
- package/cli/dist/commands/gui.js +211 -0
- package/cli/dist/commands/gui.js.map +1 -0
- package/cli/dist/commands/init.d.ts.map +1 -1
- package/cli/dist/commands/init.js +12 -0
- package/cli/dist/commands/init.js.map +1 -1
- package/cli/dist/commands/install-rules.d.ts +14 -0
- package/cli/dist/commands/install-rules.d.ts.map +1 -0
- package/cli/dist/commands/install-rules.js +127 -0
- package/cli/dist/commands/install-rules.js.map +1 -0
- package/cli/dist/commands/link.d.ts.map +1 -1
- package/cli/dist/commands/link.js +9 -11
- package/cli/dist/commands/link.js.map +1 -1
- package/cli/dist/commands/list.d.ts.map +1 -1
- package/cli/dist/commands/list.js +11 -28
- package/cli/dist/commands/list.js.map +1 -1
- package/cli/dist/commands/mcp.d.ts +48 -0
- package/cli/dist/commands/mcp.d.ts.map +1 -0
- package/cli/dist/commands/mcp.js +229 -0
- package/cli/dist/commands/mcp.js.map +1 -0
- package/cli/dist/commands/self-remove.d.ts +7 -0
- package/cli/dist/commands/self-remove.d.ts.map +1 -0
- package/cli/dist/commands/self-remove.js +179 -0
- package/cli/dist/commands/self-remove.js.map +1 -0
- package/cli/dist/commands/show.d.ts +19 -0
- package/cli/dist/commands/show.d.ts.map +1 -1
- package/cli/dist/commands/show.js +478 -63
- package/cli/dist/commands/show.js.map +1 -1
- package/cli/dist/commands/skill.d.ts +67 -0
- package/cli/dist/commands/skill.d.ts.map +1 -0
- package/cli/dist/commands/skill.js +513 -0
- package/cli/dist/commands/skill.js.map +1 -0
- package/cli/dist/commands/unlink.d.ts +6 -0
- package/cli/dist/commands/unlink.d.ts.map +1 -0
- package/cli/dist/commands/unlink.js +115 -0
- package/cli/dist/commands/unlink.js.map +1 -0
- package/cli/dist/commands/validate.d.ts +6 -0
- package/cli/dist/commands/validate.d.ts.map +1 -0
- package/cli/dist/commands/validate.js +159 -0
- package/cli/dist/commands/validate.js.map +1 -0
- package/cli/dist/types/gui.d.ts +62 -0
- package/cli/dist/types/gui.d.ts.map +1 -0
- package/cli/dist/types/gui.js +30 -0
- package/cli/dist/types/gui.js.map +1 -0
- package/cli/dist/utils/catalog-sync.d.ts +22 -0
- package/cli/dist/utils/catalog-sync.d.ts.map +1 -0
- package/cli/dist/utils/catalog-sync.js +157 -0
- package/cli/dist/utils/catalog-sync.js.map +1 -0
- package/cli/dist/utils/character-count.d.ts +56 -0
- package/cli/dist/utils/character-count.d.ts.map +1 -0
- package/cli/dist/utils/character-count.js +190 -0
- package/cli/dist/utils/character-count.js.map +1 -0
- package/cli/dist/utils/documentation-validator.d.ts +18 -0
- package/cli/dist/utils/documentation-validator.d.ts.map +1 -0
- package/cli/dist/utils/documentation-validator.js +233 -0
- package/cli/dist/utils/documentation-validator.js.map +1 -0
- package/cli/dist/utils/gui-helpers.d.ts +23 -0
- package/cli/dist/utils/gui-helpers.d.ts.map +1 -0
- package/cli/dist/utils/gui-helpers.js +159 -0
- package/cli/dist/utils/gui-helpers.js.map +1 -0
- package/cli/dist/utils/install-rules.d.ts +32 -0
- package/cli/dist/utils/install-rules.d.ts.map +1 -0
- package/cli/dist/utils/install-rules.js +375 -0
- package/cli/dist/utils/install-rules.js.map +1 -0
- package/cli/dist/utils/mcp-integration.d.ts +70 -0
- package/cli/dist/utils/mcp-integration.d.ts.map +1 -0
- package/cli/dist/utils/mcp-integration.js +292 -0
- package/cli/dist/utils/mcp-integration.js.map +1 -0
- package/cli/dist/utils/module-system.d.ts +232 -0
- package/cli/dist/utils/module-system.d.ts.map +1 -0
- package/cli/dist/utils/module-system.js +900 -0
- package/cli/dist/utils/module-system.js.map +1 -0
- package/cli/dist/utils/modules-catalog.d.ts +33 -0
- package/cli/dist/utils/modules-catalog.d.ts.map +1 -0
- package/cli/dist/utils/modules-catalog.js +163 -0
- package/cli/dist/utils/modules-catalog.js.map +1 -0
- package/cli/dist/utils/rule-install-hooks.d.ts +19 -0
- package/cli/dist/utils/rule-install-hooks.d.ts.map +1 -0
- package/cli/dist/utils/rule-install-hooks.js +224 -0
- package/cli/dist/utils/rule-install-hooks.js.map +1 -0
- package/cli/dist/utils/skill-system.d.ts +95 -0
- package/cli/dist/utils/skill-system.d.ts.map +1 -0
- package/cli/dist/utils/skill-system.js +313 -0
- package/cli/dist/utils/skill-system.js.map +1 -0
- package/modules.md +559 -105
- package/package.json +17 -6
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
# Token-Based MCP Guidelines
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
**Token-based MCP** focuses on managing context within the constraints of LLM token limits. This is the most fundamental MCP type and applies to all LLM applications.
|
|
6
|
+
|
|
7
|
+
**Key Challenge**: Modern LLMs have large but finite context windows (e.g., 200k tokens). Effective token management ensures optimal use of this limited resource.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Context Window Management
|
|
12
|
+
|
|
13
|
+
### Window Sizing
|
|
14
|
+
|
|
15
|
+
Calculate the **effective context window**:
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
effective_window = model_max_tokens - output_buffer - system_prompt_tokens
|
|
19
|
+
|
|
20
|
+
# Example: GPT-4o (200k context)
|
|
21
|
+
model_max_tokens = 200000
|
|
22
|
+
output_buffer = 4096 # Reserve for response
|
|
23
|
+
system_prompt_tokens = 500
|
|
24
|
+
effective_window = 200000 - 4096 - 500 = 195404 tokens
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Best Practices**:
|
|
28
|
+
- Always reserve output buffer (typically 2k-4k tokens)
|
|
29
|
+
- Account for system prompt in budget
|
|
30
|
+
- Use token counters (tiktoken, transformers) for accuracy
|
|
31
|
+
- Monitor actual vs budgeted usage
|
|
32
|
+
|
|
33
|
+
### Sliding Windows
|
|
34
|
+
|
|
35
|
+
Implement rolling context with overlap:
|
|
36
|
+
|
|
37
|
+
```python
|
|
38
|
+
def sliding_window(text, window_size=4096, overlap=512):
|
|
39
|
+
"""Create sliding windows with overlap"""
|
|
40
|
+
chunks = []
|
|
41
|
+
start = 0
|
|
42
|
+
|
|
43
|
+
while start < len(text):
|
|
44
|
+
end = start + window_size
|
|
45
|
+
chunk = text[start:end]
|
|
46
|
+
chunks.append(chunk)
|
|
47
|
+
start = end - overlap # Overlap for context continuity
|
|
48
|
+
|
|
49
|
+
return chunks
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Use Cases**:
|
|
53
|
+
- Long document processing
|
|
54
|
+
- Streaming applications
|
|
55
|
+
- Incremental analysis
|
|
56
|
+
|
|
57
|
+
### Hierarchical Summarization
|
|
58
|
+
|
|
59
|
+
Multi-level summaries for long documents:
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
def hierarchical_summarize(document, levels=3):
|
|
63
|
+
"""Create multi-level summaries"""
|
|
64
|
+
summaries = {}
|
|
65
|
+
|
|
66
|
+
# Level 1: Detailed summary (50% compression)
|
|
67
|
+
summaries['detailed'] = summarize(document, ratio=0.5)
|
|
68
|
+
|
|
69
|
+
# Level 2: Medium summary (20% compression)
|
|
70
|
+
summaries['medium'] = summarize(summaries['detailed'], ratio=0.4)
|
|
71
|
+
|
|
72
|
+
# Level 3: Gist (5% compression)
|
|
73
|
+
summaries['gist'] = summarize(summaries['medium'], ratio=0.25)
|
|
74
|
+
|
|
75
|
+
return summaries
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Use Cases**:
|
|
79
|
+
- Legal contracts
|
|
80
|
+
- Research papers
|
|
81
|
+
- Technical documentation
|
|
82
|
+
|
|
83
|
+
### Entity Spotlighting
|
|
84
|
+
|
|
85
|
+
Maintain entity reference tables:
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
def extract_entity_table(text):
|
|
89
|
+
"""Extract key entities and their context"""
|
|
90
|
+
entities = {}
|
|
91
|
+
|
|
92
|
+
# Extract entities (using NER or LLM)
|
|
93
|
+
for entity in extract_entities(text):
|
|
94
|
+
entities[entity.name] = {
|
|
95
|
+
'type': entity.type,
|
|
96
|
+
'first_mention': entity.first_occurrence,
|
|
97
|
+
'context': entity.surrounding_text[:200],
|
|
98
|
+
'frequency': entity.count
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return entities
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Use Cases**:
|
|
105
|
+
- Multi-party conversations
|
|
106
|
+
- Complex narratives
|
|
107
|
+
- Technical documents with many terms
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 2. Prompt Compression
|
|
112
|
+
|
|
113
|
+
### Template Optimization
|
|
114
|
+
|
|
115
|
+
Minimize system prompt tokens:
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
# ❌ Verbose (150 tokens)
|
|
119
|
+
system_prompt = """
|
|
120
|
+
You are a helpful AI assistant. Your role is to provide accurate and
|
|
121
|
+
comprehensive answers to user questions. Please be polite, professional,
|
|
122
|
+
and thorough in your responses. Always cite sources when possible.
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
# ✅ Concise (40 tokens)
|
|
126
|
+
system_prompt = "Helpful AI assistant. Provide accurate, cited answers."
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Best Practices**:
|
|
130
|
+
- Remove filler words
|
|
131
|
+
- Use abbreviations where clear
|
|
132
|
+
- Combine related instructions
|
|
133
|
+
- Test that compression doesn't hurt quality
|
|
134
|
+
|
|
135
|
+
### Instruction Compression
|
|
136
|
+
|
|
137
|
+
Use concise, effective instructions:
|
|
138
|
+
|
|
139
|
+
```python
|
|
140
|
+
# ❌ Verbose
|
|
141
|
+
instruction = "Please analyze the following document and extract all the key points, then summarize them in a bullet list format"
|
|
142
|
+
|
|
143
|
+
# ✅ Concise
|
|
144
|
+
instruction = "Extract and list key points from document"
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Example Selection
|
|
148
|
+
|
|
149
|
+
Choose minimal representative examples:
|
|
150
|
+
|
|
151
|
+
```python
|
|
152
|
+
def select_few_shot_examples(query, example_pool, k=3):
|
|
153
|
+
"""Select most relevant examples for few-shot prompting"""
|
|
154
|
+
# Embed query and examples
|
|
155
|
+
query_embedding = embed(query)
|
|
156
|
+
example_embeddings = [embed(ex) for ex in example_pool]
|
|
157
|
+
|
|
158
|
+
# Select top-k most similar
|
|
159
|
+
similarities = [cosine_similarity(query_embedding, ex_emb)
|
|
160
|
+
for ex_emb in example_embeddings]
|
|
161
|
+
top_k_indices = sorted(range(len(similarities)),
|
|
162
|
+
key=lambda i: similarities[i],
|
|
163
|
+
reverse=True)[:k]
|
|
164
|
+
|
|
165
|
+
return [example_pool[i] for i in top_k_indices]
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Format Efficiency
|
|
169
|
+
|
|
170
|
+
Use token-efficient formats:
|
|
171
|
+
|
|
172
|
+
```python
|
|
173
|
+
# ❌ Verbose JSON (120 tokens)
|
|
174
|
+
data = {
|
|
175
|
+
"customer_name": "John Smith",
|
|
176
|
+
"customer_email": "john@example.com",
|
|
177
|
+
"order_id": "ORD-12345",
|
|
178
|
+
"order_total": "$99.99"
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
# ✅ Compact format (60 tokens)
|
|
182
|
+
data = "Name: John Smith | Email: john@example.com | Order: ORD-12345 | Total: $99.99"
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 3. Chunking Strategies
|
|
188
|
+
|
|
189
|
+
### Semantic Chunking
|
|
190
|
+
|
|
191
|
+
Split on logical boundaries:
|
|
192
|
+
|
|
193
|
+
```python
|
|
194
|
+
def semantic_chunk(text, max_chunk_size=512):
|
|
195
|
+
"""Chunk text on semantic boundaries"""
|
|
196
|
+
# Split on paragraphs first
|
|
197
|
+
paragraphs = text.split('\n\n')
|
|
198
|
+
|
|
199
|
+
chunks = []
|
|
200
|
+
current_chunk = ""
|
|
201
|
+
|
|
202
|
+
for para in paragraphs:
|
|
203
|
+
para_tokens = count_tokens(para)
|
|
204
|
+
current_tokens = count_tokens(current_chunk)
|
|
205
|
+
|
|
206
|
+
if current_tokens + para_tokens > max_chunk_size:
|
|
207
|
+
# Chunk is full, start new one
|
|
208
|
+
if current_chunk:
|
|
209
|
+
chunks.append(current_chunk)
|
|
210
|
+
current_chunk = para
|
|
211
|
+
else:
|
|
212
|
+
current_chunk += "\n\n" + para if current_chunk else para
|
|
213
|
+
|
|
214
|
+
if current_chunk:
|
|
215
|
+
chunks.append(current_chunk)
|
|
216
|
+
|
|
217
|
+
return chunks
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Boundaries** (in order of preference):
|
|
221
|
+
1. Document sections
|
|
222
|
+
2. Paragraphs
|
|
223
|
+
3. Sentences
|
|
224
|
+
4. Fixed token count (last resort)
|
|
225
|
+
|
|
226
|
+
### Size Optimization
|
|
227
|
+
|
|
228
|
+
Balance chunk size vs retrieval granularity:
|
|
229
|
+
|
|
230
|
+
```python
|
|
231
|
+
# Small chunks (256 tokens): High precision, low recall
|
|
232
|
+
# Medium chunks (512 tokens): Balanced (recommended)
|
|
233
|
+
# Large chunks (1024 tokens): High recall, low precision
|
|
234
|
+
|
|
235
|
+
CHUNK_SIZE_GUIDELINES = {
|
|
236
|
+
'qa': 512, # Question answering
|
|
237
|
+
'summarization': 1024, # Document summarization
|
|
238
|
+
'search': 256, # Semantic search
|
|
239
|
+
'chat': 512 # Conversational AI
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Overlap
|
|
244
|
+
|
|
245
|
+
Include context overlap between chunks:
|
|
246
|
+
|
|
247
|
+
```python
|
|
248
|
+
def chunk_with_overlap(text, chunk_size=512, overlap=50):
|
|
249
|
+
"""Create chunks with overlap for context continuity"""
|
|
250
|
+
tokens = tokenize(text)
|
|
251
|
+
chunks = []
|
|
252
|
+
|
|
253
|
+
start = 0
|
|
254
|
+
while start < len(tokens):
|
|
255
|
+
end = min(start + chunk_size, len(tokens))
|
|
256
|
+
chunk_tokens = tokens[start:end]
|
|
257
|
+
chunks.append(detokenize(chunk_tokens))
|
|
258
|
+
start = end - overlap # Overlap for continuity
|
|
259
|
+
|
|
260
|
+
return chunks
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**Overlap Guidelines**:
|
|
264
|
+
- 10-20% overlap for most use cases
|
|
265
|
+
- Higher overlap (30-40%) for complex documents
|
|
266
|
+
- Lower overlap (5-10%) for cost-sensitive applications
|
|
267
|
+
|
|
268
|
+
### Metadata
|
|
269
|
+
|
|
270
|
+
Attach source/position metadata to chunks:
|
|
271
|
+
|
|
272
|
+
```python
|
|
273
|
+
def chunk_with_metadata(document, chunk_size=512):
|
|
274
|
+
"""Create chunks with metadata"""
|
|
275
|
+
chunks = []
|
|
276
|
+
|
|
277
|
+
for i, chunk_text in enumerate(semantic_chunk(document.text, chunk_size)):
|
|
278
|
+
chunks.append({
|
|
279
|
+
'text': chunk_text,
|
|
280
|
+
'metadata': {
|
|
281
|
+
'source': document.source,
|
|
282
|
+
'chunk_index': i,
|
|
283
|
+
'total_chunks': len(chunks),
|
|
284
|
+
'document_id': document.id,
|
|
285
|
+
'timestamp': document.timestamp
|
|
286
|
+
}
|
|
287
|
+
})
|
|
288
|
+
|
|
289
|
+
return chunks
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## 4. Token Budgeting
|
|
295
|
+
|
|
296
|
+
### Allocation
|
|
297
|
+
|
|
298
|
+
Define budget for each component:
|
|
299
|
+
|
|
300
|
+
```python
|
|
301
|
+
class TokenBudget:
|
|
302
|
+
def __init__(self, max_tokens=200000):
|
|
303
|
+
self.max_tokens = max_tokens
|
|
304
|
+
self.allocation = {
|
|
305
|
+
'system_prompt': 500, # 0.25%
|
|
306
|
+
'user_input': 2000, # 1%
|
|
307
|
+
'retrieved_context': 160000, # 80%
|
|
308
|
+
'conversation_history': 33404, # 16.7%
|
|
309
|
+
'output_buffer': 4096 # 2.05%
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
def validate(self):
|
|
313
|
+
total = sum(self.allocation.values())
|
|
314
|
+
assert total <= self.max_tokens, f"Budget exceeds max: {total} > {self.max_tokens}"
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### Monitoring
|
|
318
|
+
|
|
319
|
+
Track actual vs budgeted usage:
|
|
320
|
+
|
|
321
|
+
```python
|
|
322
|
+
def monitor_token_usage(request_id, actual_tokens, budgeted_tokens):
|
|
323
|
+
"""Monitor token usage"""
|
|
324
|
+
usage_ratio = actual_tokens / budgeted_tokens
|
|
325
|
+
|
|
326
|
+
if usage_ratio > 1.0:
|
|
327
|
+
logger.warning(f"Token budget exceeded: {actual_tokens} > {budgeted_tokens}")
|
|
328
|
+
metrics.increment('token_budget_exceeded', tags={'request_id': request_id})
|
|
329
|
+
|
|
330
|
+
metrics.gauge('token_usage_ratio', usage_ratio, tags={'request_id': request_id})
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Dynamic Adjustment
|
|
334
|
+
|
|
335
|
+
Reallocate budget based on request type:
|
|
336
|
+
|
|
337
|
+
```python
|
|
338
|
+
def adjust_budget(request_type, base_budget):
|
|
339
|
+
"""Adjust budget based on request type"""
|
|
340
|
+
adjustments = {
|
|
341
|
+
'simple_qa': {'retrieved_context': 0.5, 'output_buffer': 1.5},
|
|
342
|
+
'summarization': {'retrieved_context': 1.2, 'output_buffer': 0.8},
|
|
343
|
+
'analysis': {'retrieved_context': 1.0, 'output_buffer': 1.2}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
multipliers = adjustments.get(request_type, {})
|
|
347
|
+
adjusted = base_budget.copy()
|
|
348
|
+
|
|
349
|
+
for component, multiplier in multipliers.items():
|
|
350
|
+
adjusted[component] = int(base_budget[component] * multiplier)
|
|
351
|
+
|
|
352
|
+
return adjusted
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Cost Estimation
|
|
356
|
+
|
|
357
|
+
Calculate cost before API calls:
|
|
358
|
+
|
|
359
|
+
```python
|
|
360
|
+
def estimate_cost(tokens, model='gpt-4o'):
|
|
361
|
+
"""Estimate API cost"""
|
|
362
|
+
pricing = {
|
|
363
|
+
'gpt-4o': {'input': 0.005, 'output': 0.015}, # per 1k tokens
|
|
364
|
+
'claude-3.5-sonnet': {'input': 0.003, 'output': 0.015}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
input_cost = (tokens['input'] / 1000) * pricing[model]['input']
|
|
368
|
+
output_cost = (tokens['output'] / 1000) * pricing[model]['output']
|
|
369
|
+
|
|
370
|
+
return input_cost + output_cost
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
375
|
+
## Best Practices
|
|
376
|
+
|
|
377
|
+
✅ **DO**:
|
|
378
|
+
- Use accurate token counters (tiktoken for OpenAI, transformers for others)
|
|
379
|
+
- Cap injected context at 80-85% of window to allow output space
|
|
380
|
+
- Implement token-aware truncation (preserve important content)
|
|
381
|
+
- Cache tokenized prompts when possible
|
|
382
|
+
- Profile token usage in production
|
|
383
|
+
- Use semantic chunking over fixed-size chunking
|
|
384
|
+
- Include overlap between chunks for context continuity
|
|
385
|
+
|
|
386
|
+
❌ **DON'T**:
|
|
387
|
+
- Estimate tokens by character count (inaccurate)
|
|
388
|
+
- Fill entire context window (no room for output)
|
|
389
|
+
- Truncate context arbitrarily (lose important information)
|
|
390
|
+
- Ignore token budget overruns
|
|
391
|
+
- Use verbose prompts unnecessarily
|
|
392
|
+
- Chunk on arbitrary boundaries (mid-sentence)
|
|
393
|
+
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Universal MCP Rules
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
These rules apply to **all MCP types** (token, state, vector, hybrid, graph, compressed). They represent cross-cutting concerns that every MCP implementation must address.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Context Optimization
|
|
10
|
+
|
|
11
|
+
### Compression
|
|
12
|
+
- **Apply before limits**: Compress context before hitting token/memory limits
|
|
13
|
+
- **Lossy vs lossless**: Choose based on fidelity requirements
|
|
14
|
+
- **Incremental**: Compress incrementally, not all at once
|
|
15
|
+
- **Metrics**: Track compression ratio and fidelity loss
|
|
16
|
+
|
|
17
|
+
### Prioritization
|
|
18
|
+
- **Relevance scoring**: Rank context by semantic relevance to current query
|
|
19
|
+
- **Recency bias**: Weight recent context higher (exponential decay)
|
|
20
|
+
- **Importance tagging**: Mark critical context for preservation
|
|
21
|
+
- **Dynamic ranking**: Re-rank on each request based on query
|
|
22
|
+
|
|
23
|
+
### Deduplication
|
|
24
|
+
- **Exact matching**: Remove identical content across sources
|
|
25
|
+
- **Semantic dedup**: Detect and merge semantically similar content
|
|
26
|
+
- **Cross-source**: Deduplicate across token/vector/state memories
|
|
27
|
+
- **Preserve provenance**: Track original sources after dedup
|
|
28
|
+
|
|
29
|
+
### Budgeting
|
|
30
|
+
- **Allocation**: Define budget for system/user/retrieved/output tokens
|
|
31
|
+
- **Monitoring**: Track actual vs budgeted usage
|
|
32
|
+
- **Dynamic adjustment**: Reallocate based on request type
|
|
33
|
+
- **Overflow handling**: Define fallback when budget exceeded
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. Error Handling
|
|
38
|
+
|
|
39
|
+
### Overflow
|
|
40
|
+
- **Graceful degradation**: Drop lowest-priority context first
|
|
41
|
+
- **User notification**: Inform user when context truncated
|
|
42
|
+
- **Fallback strategies**: Define default behavior (summarize, chunk, fail)
|
|
43
|
+
- **Recovery**: Attempt to recover on next request
|
|
44
|
+
|
|
45
|
+
### Corruption
|
|
46
|
+
- **Validation**: Validate context schema on load
|
|
47
|
+
- **Checksums**: Use checksums/hashes for integrity
|
|
48
|
+
- **Rollback**: Revert to last known good state
|
|
49
|
+
- **Logging**: Log corruption events with full context
|
|
50
|
+
|
|
51
|
+
### Fallbacks
|
|
52
|
+
- **Default context**: Define minimal viable context
|
|
53
|
+
- **Retry logic**: Retry with exponential backoff
|
|
54
|
+
- **Circuit breakers**: Disable failing context sources
|
|
55
|
+
- **Degraded mode**: Continue with reduced functionality
|
|
56
|
+
|
|
57
|
+
### Logging
|
|
58
|
+
- **Structured logs**: Use JSON with context metadata
|
|
59
|
+
- **Correlation IDs**: Track requests across services
|
|
60
|
+
- **Error context**: Include full error context in logs
|
|
61
|
+
- **Sampling**: Sample high-volume logs to reduce noise
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 3. Security and Privacy
|
|
66
|
+
|
|
67
|
+
### PII Prevention
|
|
68
|
+
- **Detection**: Use NER/regex to detect PII (SSN, email, phone, etc.)
|
|
69
|
+
- **Redaction**: Replace PII with placeholders or hashes
|
|
70
|
+
- **Audit**: Log PII detection events
|
|
71
|
+
- **Compliance**: Follow GDPR, CCPA, HIPAA requirements
|
|
72
|
+
|
|
73
|
+
### Access Controls
|
|
74
|
+
- **Context-level permissions**: Enforce read/write permissions per context
|
|
75
|
+
- **Isolation**: Isolate context between users/tenants
|
|
76
|
+
- **Encryption**: Encrypt sensitive context at rest and in transit
|
|
77
|
+
- **Audit trails**: Log all context access and modifications
|
|
78
|
+
|
|
79
|
+
### Sanitization
|
|
80
|
+
- **Input validation**: Validate and sanitize user inputs
|
|
81
|
+
- **Injection prevention**: Prevent prompt injection attacks
|
|
82
|
+
- **Output filtering**: Filter sensitive data from outputs
|
|
83
|
+
- **Escaping**: Escape special characters in context
|
|
84
|
+
|
|
85
|
+
### Audit Trails
|
|
86
|
+
- **Who**: Track user/agent accessing context
|
|
87
|
+
- **What**: Log operations (read, write, delete)
|
|
88
|
+
- **When**: Timestamp all operations
|
|
89
|
+
- **Why**: Include request context/purpose
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 4. Monitoring and Observability
|
|
94
|
+
|
|
95
|
+
### Token Usage
|
|
96
|
+
- **Per-request**: Track tokens consumed per request
|
|
97
|
+
- **Per-session**: Aggregate tokens across session
|
|
98
|
+
- **Per-user**: Monitor user-level token consumption
|
|
99
|
+
- **Cost tracking**: Calculate cost based on token usage
|
|
100
|
+
|
|
101
|
+
### Retrieval Metrics
|
|
102
|
+
- **Recall@K**: Measure retrieval recall at K results
|
|
103
|
+
- **Precision**: Measure retrieval precision
|
|
104
|
+
- **Latency**: Track p50, p95, p99 retrieval latency
|
|
105
|
+
- **Cache hit rate**: Monitor cache effectiveness
|
|
106
|
+
|
|
107
|
+
### Hallucination Detection
|
|
108
|
+
- **Factual consistency**: Check outputs against retrieved context
|
|
109
|
+
- **Source attribution**: Verify claims have source citations
|
|
110
|
+
- **Confidence scores**: Track model confidence on outputs
|
|
111
|
+
- **Human feedback**: Collect user feedback on accuracy
|
|
112
|
+
|
|
113
|
+
### Drift Detection
|
|
114
|
+
- **Context quality**: Monitor context relevance over time
|
|
115
|
+
- **Embedding drift**: Detect embedding model drift
|
|
116
|
+
- **Schema changes**: Track context schema evolution
|
|
117
|
+
- **Performance degradation**: Alert on metric degradation
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 5. Testing and Validation
|
|
122
|
+
|
|
123
|
+
### Synthetic Testing
|
|
124
|
+
- **Replay scenarios**: Save and replay known contexts
|
|
125
|
+
- **Golden datasets**: Maintain test datasets with expected outputs
|
|
126
|
+
- **Regression tests**: Validate against previous versions
|
|
127
|
+
- **Coverage**: Ensure test coverage of all context paths
|
|
128
|
+
|
|
129
|
+
### Adversarial Testing
|
|
130
|
+
- **Malformed context**: Test with invalid/corrupted context
|
|
131
|
+
- **Oversized context**: Test with context exceeding limits
|
|
132
|
+
- **Injection attacks**: Test prompt injection scenarios
|
|
133
|
+
- **Edge cases**: Test boundary conditions
|
|
134
|
+
|
|
135
|
+
### Performance Testing
|
|
136
|
+
- **Load testing**: Test under high request volume
|
|
137
|
+
- **Stress testing**: Test at maximum capacity
|
|
138
|
+
- **Latency testing**: Measure response times
|
|
139
|
+
- **Scalability testing**: Test horizontal scaling
|
|
140
|
+
|
|
141
|
+
### Regression Testing
|
|
142
|
+
- **Baseline metrics**: Establish performance baselines
|
|
143
|
+
- **Change validation**: Test after code/config changes
|
|
144
|
+
- **A/B testing**: Compare new vs old implementations
|
|
145
|
+
- **Rollback criteria**: Define when to rollback changes
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 6. Documentation Standards
|
|
150
|
+
|
|
151
|
+
### Type Hints
|
|
152
|
+
- **Full annotations**: Type all context structures
|
|
153
|
+
- **Generic types**: Use TypedDict, Pydantic, dataclasses
|
|
154
|
+
- **Optional fields**: Mark optional fields explicitly
|
|
155
|
+
- **Version compatibility**: Document type changes across versions
|
|
156
|
+
|
|
157
|
+
### Docstrings
|
|
158
|
+
- **Context schemas**: Document expected context structure
|
|
159
|
+
- **Transformations**: Explain context transformations
|
|
160
|
+
- **Side effects**: Document state mutations
|
|
161
|
+
- **Examples**: Provide input/output examples
|
|
162
|
+
|
|
163
|
+
### Examples
|
|
164
|
+
- **Before/after**: Show context before and after transformations
|
|
165
|
+
- **Edge cases**: Document edge case handling
|
|
166
|
+
- **Error scenarios**: Show error handling examples
|
|
167
|
+
- **Integration**: Provide end-to-end examples
|
|
168
|
+
|
|
169
|
+
### Versioning
|
|
170
|
+
- **Schema versions**: Version context schemas
|
|
171
|
+
- **Migration guides**: Document schema migrations
|
|
172
|
+
- **Deprecation**: Mark deprecated fields/patterns
|
|
173
|
+
- **Changelog**: Maintain detailed changelog
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Best Practices Summary
|
|
178
|
+
|
|
179
|
+
✅ **DO**:
|
|
180
|
+
- Compress context before hitting limits
|
|
181
|
+
- Validate context on load and mutation
|
|
182
|
+
- Log all errors with full context
|
|
183
|
+
- Monitor token usage and retrieval metrics
|
|
184
|
+
- Test with adversarial inputs
|
|
185
|
+
- Document context schemas with types
|
|
186
|
+
|
|
187
|
+
❌ **DON'T**:
|
|
188
|
+
- Store PII in context without redaction
|
|
189
|
+
- Ignore context overflow errors
|
|
190
|
+
- Skip validation on deserialization
|
|
191
|
+
- Log sensitive data in plaintext
|
|
192
|
+
- Deploy without performance testing
|
|
193
|
+
- Change schemas without versioning
|
|
194
|
+
|