memory-journal-mcp 8.0.1 → 9.1.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 +278 -353
- package/dist/audit/audit-logger.d.ts +89 -0
- package/dist/audit/audit-logger.d.ts.map +1 -0
- package/dist/audit/audit-resource.d.ts +28 -0
- package/dist/audit/audit-resource.d.ts.map +1 -0
- package/dist/audit/index.d.ts +12 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/interceptor.d.ts +44 -0
- package/dist/audit/interceptor.d.ts.map +1 -0
- package/dist/audit/types.d.ts +68 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/auth/auth-context.d.ts +42 -0
- package/dist/auth/auth-context.d.ts.map +1 -0
- package/dist/auth/authorization-server-discovery.d.ts +90 -0
- package/dist/auth/authorization-server-discovery.d.ts.map +1 -0
- package/dist/auth/errors.d.ts +90 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/index.d.ts +16 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/middleware.d.ts +77 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/oauth-resource-server.d.ts +73 -0
- package/dist/auth/oauth-resource-server.d.ts.map +1 -0
- package/dist/auth/scope-map.d.ts +14 -0
- package/dist/auth/scope-map.d.ts.map +1 -0
- package/dist/auth/scopes.d.ts +112 -0
- package/dist/auth/scopes.d.ts.map +1 -0
- package/dist/auth/token-validator.d.ts +64 -0
- package/dist/auth/token-validator.d.ts.map +1 -0
- package/dist/auth/transport-agnostic.d.ts +47 -0
- package/dist/auth/transport-agnostic.d.ts.map +1 -0
- package/dist/auth/types.d.ts +256 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/validation.d.ts +15 -0
- package/dist/auth/validation.d.ts.map +1 -0
- package/dist/chunk-4FZCHFB5.js +216 -0
- package/dist/chunk-D2FY6XS5.js +313 -0
- package/dist/chunk-E6IQP6PE.js +252 -0
- package/dist/chunk-FZLB6NAV.js +746 -0
- package/dist/chunk-LE6ZWUPK.js +2667 -0
- package/dist/chunk-SGJU2DHU.js +2102 -0
- package/dist/chunk-T7SROBBV.js +34066 -0
- package/dist/chunk-Y6MMKR2Z.js +3766 -0
- package/dist/cli/commands/admin.d.ts +123 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/analytics.d.ts +21 -0
- package/dist/cli/commands/analytics.d.ts.map +1 -0
- package/dist/cli/commands/entry-payload.d.ts +38 -0
- package/dist/cli/commands/entry-payload.d.ts.map +1 -0
- package/dist/cli/commands/entry.d.ts +130 -0
- package/dist/cli/commands/entry.d.ts.map +1 -0
- package/dist/cli/commands/exec.d.ts +31 -0
- package/dist/cli/commands/exec.d.ts.map +1 -0
- package/dist/cli/commands/io.d.ts +76 -0
- package/dist/cli/commands/io.d.ts.map +1 -0
- package/dist/cli/commands/project.d.ts +6 -0
- package/dist/cli/commands/project.d.ts.map +1 -0
- package/dist/cli/commands/search.d.ts +30 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/serve.d.ts +84 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/visualize.d.ts +20 -0
- package/dist/cli/commands/visualize.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +9 -0
- package/dist/cli/option-groups.d.ts +18 -0
- package/dist/cli/option-groups.d.ts.map +1 -0
- package/dist/cli/program.d.ts +7 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/schemas.d.ts +648 -0
- package/dist/cli/schemas.d.ts.map +1 -0
- package/dist/cli/server-options-builder.d.ts +13 -0
- package/dist/cli/server-options-builder.d.ts.map +1 -0
- package/dist/cli.js +9 -433
- package/dist/codemode/api/git-api.d.ts +9 -0
- package/dist/codemode/api/git-api.d.ts.map +1 -0
- package/dist/codemode/api/group-factory.d.ts +30 -0
- package/dist/codemode/api/group-factory.d.ts.map +1 -0
- package/dist/codemode/api/index.d.ts +10 -0
- package/dist/codemode/api/index.d.ts.map +1 -0
- package/dist/codemode/api/journal-api.d.ts +39 -0
- package/dist/codemode/api/journal-api.d.ts.map +1 -0
- package/dist/codemode/api/key-normalizer.d.ts +8 -0
- package/dist/codemode/api/key-normalizer.d.ts.map +1 -0
- package/dist/codemode/api/param-normalizer.d.ts +15 -0
- package/dist/codemode/api/param-normalizer.d.ts.map +1 -0
- package/dist/codemode/api/project-registry-ops.d.ts +26 -0
- package/dist/codemode/api/project-registry-ops.d.ts.map +1 -0
- package/dist/codemode/api/sandbox-bindings.d.ts +25 -0
- package/dist/codemode/api/sandbox-bindings.d.ts.map +1 -0
- package/dist/codemode/api/types.d.ts +21 -0
- package/dist/codemode/api/types.d.ts.map +1 -0
- package/dist/codemode/api-constants.d.ts +6 -0
- package/dist/codemode/api-constants.d.ts.map +1 -0
- package/dist/codemode/auto-return.d.ts +25 -0
- package/dist/codemode/auto-return.d.ts.map +1 -0
- package/dist/codemode/constants/examples-and-params.d.ts +31 -0
- package/dist/codemode/constants/examples-and-params.d.ts.map +1 -0
- package/dist/codemode/constants/method-aliases.d.ts +8 -0
- package/dist/codemode/constants/method-aliases.d.ts.map +1 -0
- package/dist/codemode/index.d.ts +12 -0
- package/dist/codemode/index.d.ts.map +1 -0
- package/dist/codemode/normalizers/domain-tool-interceptions.d.ts +6 -0
- package/dist/codemode/normalizers/domain-tool-interceptions.d.ts.map +1 -0
- package/dist/codemode/normalizers/entry-and-search-interceptions.d.ts +6 -0
- package/dist/codemode/normalizers/entry-and-search-interceptions.d.ts.map +1 -0
- package/dist/codemode/normalizers/generic-interceptions.d.ts +6 -0
- package/dist/codemode/normalizers/generic-interceptions.d.ts.map +1 -0
- package/dist/codemode/normalizers/github-and-backup-interceptions.d.ts +6 -0
- package/dist/codemode/normalizers/github-and-backup-interceptions.d.ts.map +1 -0
- package/dist/codemode/normalizers/shared-utils.d.ts +31 -0
- package/dist/codemode/normalizers/shared-utils.d.ts.map +1 -0
- package/dist/codemode/param-normalizer.d.ts +11 -0
- package/dist/codemode/param-normalizer.d.ts.map +1 -0
- package/dist/codemode/proxy-helpers.d.ts +34 -0
- package/dist/codemode/proxy-helpers.d.ts.map +1 -0
- package/dist/codemode/proxy-namespaces.d.ts +30 -0
- package/dist/codemode/proxy-namespaces.d.ts.map +1 -0
- package/dist/codemode/sandbox-factory.d.ts +52 -0
- package/dist/codemode/sandbox-factory.d.ts.map +1 -0
- package/dist/codemode/security.d.ts +54 -0
- package/dist/codemode/security.d.ts.map +1 -0
- package/dist/codemode/type-generator.d.ts +11 -0
- package/dist/codemode/type-generator.d.ts.map +1 -0
- package/dist/codemode/types.d.ts +165 -0
- package/dist/codemode/types.d.ts.map +1 -0
- package/dist/codemode/worker/mj-shim-domains.d.ts +15 -0
- package/dist/codemode/worker/mj-shim-domains.d.ts.map +1 -0
- package/dist/codemode/worker/mj-shim-proxy.d.ts +18 -0
- package/dist/codemode/worker/mj-shim-proxy.d.ts.map +1 -0
- package/dist/codemode/worker/namespace-shims.d.ts +32 -0
- package/dist/codemode/worker/namespace-shims.d.ts.map +1 -0
- package/dist/codemode/worker/node-shims.d.ts +65 -0
- package/dist/codemode/worker/node-shims.d.ts.map +1 -0
- package/dist/codemode/worker/prototype-hardening.d.ts +18 -0
- package/dist/codemode/worker/prototype-hardening.d.ts.map +1 -0
- package/dist/codemode/worker/result-compactor.d.ts +20 -0
- package/dist/codemode/worker/result-compactor.d.ts.map +1 -0
- package/dist/codemode/worker/sandbox-globals.d.ts +19 -0
- package/dist/codemode/worker/sandbox-globals.d.ts.map +1 -0
- package/dist/codemode/worker-api-proxy.d.ts +12 -0
- package/dist/codemode/worker-api-proxy.d.ts.map +1 -0
- package/dist/codemode/worker-result-proxy.d.ts +12 -0
- package/dist/codemode/worker-result-proxy.d.ts.map +1 -0
- package/dist/codemode/worker-sandbox.d.ts +58 -0
- package/dist/codemode/worker-sandbox.d.ts.map +1 -0
- package/dist/codemode/worker-script.d.ts +9 -0
- package/dist/codemode/worker-script.d.ts.map +1 -0
- package/dist/constants/icons.d.ts +58 -0
- package/dist/constants/icons.d.ts.map +1 -0
- package/dist/constants/instructions/admin.d.ts +2 -0
- package/dist/constants/instructions/admin.d.ts.map +1 -0
- package/dist/constants/instructions/analytics.d.ts +2 -0
- package/dist/constants/instructions/analytics.d.ts.map +1 -0
- package/dist/constants/instructions/backup.d.ts +2 -0
- package/dist/constants/instructions/backup.d.ts.map +1 -0
- package/dist/constants/instructions/base.d.ts +3 -0
- package/dist/constants/instructions/base.d.ts.map +1 -0
- package/dist/constants/instructions/codemode.d.ts +2 -0
- package/dist/constants/instructions/codemode.d.ts.map +1 -0
- package/dist/constants/instructions/core.d.ts +2 -0
- package/dist/constants/instructions/core.d.ts.map +1 -0
- package/dist/constants/instructions/git.d.ts +2 -0
- package/dist/constants/instructions/git.d.ts.map +1 -0
- package/dist/constants/instructions/github.d.ts +2 -0
- package/dist/constants/instructions/github.d.ts.map +1 -0
- package/dist/constants/instructions/gotchas.d.ts +2 -0
- package/dist/constants/instructions/gotchas.d.ts.map +1 -0
- package/dist/constants/instructions/io.d.ts +2 -0
- package/dist/constants/instructions/io.d.ts.map +1 -0
- package/dist/constants/instructions/relationships.d.ts +2 -0
- package/dist/constants/instructions/relationships.d.ts.map +1 -0
- package/dist/constants/instructions/search.d.ts +2 -0
- package/dist/constants/instructions/search.d.ts.map +1 -0
- package/dist/constants/instructions/team.d.ts +2 -0
- package/dist/constants/instructions/team.d.ts.map +1 -0
- package/dist/constants/instructions/templates.d.ts +2 -0
- package/dist/constants/instructions/templates.d.ts.map +1 -0
- package/dist/constants/server-instructions.d.ts +64 -0
- package/dist/constants/server-instructions.d.ts.map +1 -0
- package/dist/database/adapter-factory.d.ts +9 -0
- package/dist/database/adapter-factory.d.ts.map +1 -0
- package/dist/database/core/DatabaseAdapterProxy.d.ts +5 -0
- package/dist/database/core/DatabaseAdapterProxy.d.ts.map +1 -0
- package/dist/database/core/interfaces.d.ts +455 -0
- package/dist/database/core/interfaces.d.ts.map +1 -0
- package/dist/database/migrations/001-init.d.ts +3 -0
- package/dist/database/migrations/001-init.d.ts.map +1 -0
- package/dist/database/migrations/002-add-significance-and-context.d.ts +3 -0
- package/dist/database/migrations/002-add-significance-and-context.d.ts.map +1 -0
- package/dist/database/migrations/003-add-deleted-and-archived.d.ts +3 -0
- package/dist/database/migrations/003-add-deleted-and-archived.d.ts.map +1 -0
- package/dist/database/migrations/004-add-github-and-workflow-integration.d.ts +3 -0
- package/dist/database/migrations/004-add-github-and-workflow-integration.d.ts.map +1 -0
- package/dist/database/migrations/005-add-entry-revisions.d.ts +3 -0
- package/dist/database/migrations/005-add-entry-revisions.d.ts.map +1 -0
- package/dist/database/migrations/006-add-analytics-snapshots.d.ts +3 -0
- package/dist/database/migrations/006-add-analytics-snapshots.d.ts.map +1 -0
- package/dist/database/migrations/007-add-team-author.d.ts +3 -0
- package/dist/database/migrations/007-add-team-author.d.ts.map +1 -0
- package/dist/database/migrations/008-add-team-members.d.ts +3 -0
- package/dist/database/migrations/008-add-team-members.d.ts.map +1 -0
- package/dist/database/migrations/009-add-entry-version.d.ts +3 -0
- package/dist/database/migrations/009-add-entry-version.d.ts.map +1 -0
- package/dist/database/migrations/010-add-author-aliases.d.ts +3 -0
- package/dist/database/migrations/010-add-author-aliases.d.ts.map +1 -0
- package/dist/database/migrations/011-add-workspace-id.d.ts +3 -0
- package/dist/database/migrations/011-add-workspace-id.d.ts.map +1 -0
- package/dist/database/migrations/012-add-trust-and-anchors.d.ts +3 -0
- package/dist/database/migrations/012-add-trust-and-anchors.d.ts.map +1 -0
- package/dist/database/migrations/013-add-session-id.d.ts +3 -0
- package/dist/database/migrations/013-add-session-id.d.ts.map +1 -0
- package/dist/database/migrations/migration-list.d.ts +3 -0
- package/dist/database/migrations/migration-list.d.ts.map +1 -0
- package/dist/database/migrations/migration-manager.d.ts +14 -0
- package/dist/database/migrations/migration-manager.d.ts.map +1 -0
- package/dist/database/migrations/migration.d.ts +23 -0
- package/dist/database/migrations/migration.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/adapter-delegates.d.ts +161 -0
- package/dist/database/sqlite-adapter/adapter-delegates.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/aliases.d.ts +14 -0
- package/dist/database/sqlite-adapter/aliases.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/backup.d.ts +27 -0
- package/dist/database/sqlite-adapter/backup.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/database-adapter.d.ts +192 -0
- package/dist/database/sqlite-adapter/database-adapter.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/anchors.d.ts +9 -0
- package/dist/database/sqlite-adapter/entries/anchors.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/crud-read.d.ts +16 -0
- package/dist/database/sqlite-adapter/entries/crud-read.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/crud-write.d.ts +62 -0
- package/dist/database/sqlite-adapter/entries/crud-write.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/crud.d.ts +4 -0
- package/dist/database/sqlite-adapter/entries/crud.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/digest.d.ts +60 -0
- package/dist/database/sqlite-adapter/entries/digest.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/fuzzy-matcher.d.ts +27 -0
- package/dist/database/sqlite-adapter/entries/fuzzy-matcher.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/importance.d.ts +38 -0
- package/dist/database/sqlite-adapter/entries/importance.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/index.d.ts +186 -0
- package/dist/database/sqlite-adapter/entries/index.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/revisions.d.ts +16 -0
- package/dist/database/sqlite-adapter/entries/revisions.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/cursor.d.ts +15 -0
- package/dist/database/sqlite-adapter/entries/search/cursor.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/date-and-pagination.d.ts +37 -0
- package/dist/database/sqlite-adapter/entries/search/date-and-pagination.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/entity-lookups.d.ts +31 -0
- package/dist/database/sqlite-adapter/entries/search/entity-lookups.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/fts-and-hybrid.d.ts +44 -0
- package/dist/database/sqlite-adapter/entries/search/fts-and-hybrid.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/fts-sanitizer.d.ts +15 -0
- package/dist/database/sqlite-adapter/entries/search/fts-sanitizer.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/index.d.ts +8 -0
- package/dist/database/sqlite-adapter/entries/search/index.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/search/query.d.ts +4 -0
- package/dist/database/sqlite-adapter/entries/search/query.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/shared.d.ts +39 -0
- package/dist/database/sqlite-adapter/entries/shared.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/entries/statistics.d.ts +3 -0
- package/dist/database/sqlite-adapter/entries/statistics.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/health-operations.d.ts +10 -0
- package/dist/database/sqlite-adapter/health-operations.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/index.d.ts +2 -0
- package/dist/database/sqlite-adapter/index.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/insights/cross-project.d.ts +42 -0
- package/dist/database/sqlite-adapter/insights/cross-project.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/insights/entry-digest-queries.d.ts +17 -0
- package/dist/database/sqlite-adapter/insights/entry-digest-queries.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/insights/team-collaboration.d.ts +29 -0
- package/dist/database/sqlite-adapter/insights/team-collaboration.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/insights-operations.d.ts +47 -0
- package/dist/database/sqlite-adapter/insights-operations.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/lifecycle-operations.d.ts +32 -0
- package/dist/database/sqlite-adapter/lifecycle-operations.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/members.d.ts +23 -0
- package/dist/database/sqlite-adapter/members.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/native-connection.d.ts +46 -0
- package/dist/database/sqlite-adapter/native-connection.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/relationships.d.ts +26 -0
- package/dist/database/sqlite-adapter/relationships.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/tags.d.ts +16 -0
- package/dist/database/sqlite-adapter/tags.d.ts.map +1 -0
- package/dist/database/sqlite-adapter/vector-operations.d.ts +24 -0
- package/dist/database/sqlite-adapter/vector-operations.d.ts.map +1 -0
- package/dist/errors-MHAM6AKR.js +1 -0
- package/dist/filtering/tool-constants.d.ts +33 -0
- package/dist/filtering/tool-constants.d.ts.map +1 -0
- package/dist/filtering/tool-filter.d.ts +65 -0
- package/dist/filtering/tool-filter.d.ts.map +1 -0
- package/dist/fts-YHUVPPYF.js +2 -0
- package/dist/github/commit-references/enricher.d.ts +12 -0
- package/dist/github/commit-references/enricher.d.ts.map +1 -0
- package/dist/github/commit-references/index.d.ts +4 -0
- package/dist/github/commit-references/index.d.ts.map +1 -0
- package/dist/github/commit-references/parser.d.ts +10 -0
- package/dist/github/commit-references/parser.d.ts.map +1 -0
- package/dist/github/commit-references/resolver.d.ts +14 -0
- package/dist/github/commit-references/resolver.d.ts.map +1 -0
- package/dist/github/github-integration/client.d.ts +29 -0
- package/dist/github/github-integration/client.d.ts.map +1 -0
- package/dist/github/github-integration/index.d.ts +83 -0
- package/dist/github/github-integration/index.d.ts.map +1 -0
- package/dist/github/github-integration/insights.d.ts +11 -0
- package/dist/github/github-integration/insights.d.ts.map +1 -0
- package/dist/github/github-integration/issues.d.ts +25 -0
- package/dist/github/github-integration/issues.d.ts.map +1 -0
- package/dist/github/github-integration/milestones.d.ts +20 -0
- package/dist/github/github-integration/milestones.d.ts.map +1 -0
- package/dist/github/github-integration/projects.d.ts +21 -0
- package/dist/github/github-integration/projects.d.ts.map +1 -0
- package/dist/github/github-integration/pull-requests.d.ts +16 -0
- package/dist/github/github-integration/pull-requests.d.ts.map +1 -0
- package/dist/github/github-integration/repository.d.ts +14 -0
- package/dist/github/github-integration/repository.d.ts.map +1 -0
- package/dist/github/github-integration/types.d.ts +77 -0
- package/dist/github/github-integration/types.d.ts.map +1 -0
- package/dist/handlers/prompts/adversarial-helpers.d.ts +75 -0
- package/dist/handlers/prompts/adversarial-helpers.d.ts.map +1 -0
- package/dist/handlers/prompts/adversarial.d.ts +13 -0
- package/dist/handlers/prompts/adversarial.d.ts.map +1 -0
- package/dist/handlers/prompts/analytics.d.ts +12 -0
- package/dist/handlers/prompts/analytics.d.ts.map +1 -0
- package/dist/handlers/prompts/cms-supervisor.d.ts +8 -0
- package/dist/handlers/prompts/cms-supervisor.d.ts.map +1 -0
- package/dist/handlers/prompts/git.d.ts +8 -0
- package/dist/handlers/prompts/git.d.ts.map +1 -0
- package/dist/handlers/prompts/github.d.ts +12 -0
- package/dist/handlers/prompts/github.d.ts.map +1 -0
- package/dist/handlers/prompts/index.d.ts +53 -0
- package/dist/handlers/prompts/index.d.ts.map +1 -0
- package/dist/handlers/prompts/load-briefing.d.ts +3 -0
- package/dist/handlers/prompts/load-briefing.d.ts.map +1 -0
- package/dist/handlers/prompts/optimizer.d.ts +8 -0
- package/dist/handlers/prompts/optimizer.d.ts.map +1 -0
- package/dist/handlers/prompts/workflow.d.ts +15 -0
- package/dist/handlers/prompts/workflow.d.ts.map +1 -0
- package/dist/handlers/resources/core/agent-context.d.ts +4 -0
- package/dist/handlers/resources/core/agent-context.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/context-section.d.ts +57 -0
- package/dist/handlers/resources/core/briefing/context-section.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/github-repo-and-kanban.d.ts +57 -0
- package/dist/handlers/resources/core/briefing/github-repo-and-kanban.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/github-section.d.ts +88 -0
- package/dist/handlers/resources/core/briefing/github-section.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/index.d.ts +11 -0
- package/dist/handlers/resources/core/briefing/index.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/insights-section.d.ts +35 -0
- package/dist/handlers/resources/core/briefing/insights-section.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/system-section.d.ts +85 -0
- package/dist/handlers/resources/core/briefing/system-section.d.ts.map +1 -0
- package/dist/handlers/resources/core/briefing/user-message.d.ts +46 -0
- package/dist/handlers/resources/core/briefing/user-message.d.ts.map +1 -0
- package/dist/handlers/resources/core/health.d.ts +3 -0
- package/dist/handlers/resources/core/health.d.ts.map +1 -0
- package/dist/handlers/resources/core/index.d.ts +6 -0
- package/dist/handlers/resources/core/index.d.ts.map +1 -0
- package/dist/handlers/resources/core/instructions.d.ts +3 -0
- package/dist/handlers/resources/core/instructions.d.ts.map +1 -0
- package/dist/handlers/resources/core/metrics-resource.d.ts +23 -0
- package/dist/handlers/resources/core/metrics-resource.d.ts.map +1 -0
- package/dist/handlers/resources/core/utilities.d.ts +7 -0
- package/dist/handlers/resources/core/utilities.d.ts.map +1 -0
- package/dist/handlers/resources/github.d.ts +11 -0
- package/dist/handlers/resources/github.d.ts.map +1 -0
- package/dist/handlers/resources/graph.d.ts +12 -0
- package/dist/handlers/resources/graph.d.ts.map +1 -0
- package/dist/handlers/resources/help.d.ts +39 -0
- package/dist/handlers/resources/help.d.ts.map +1 -0
- package/dist/handlers/resources/index.d.ts +37 -0
- package/dist/handlers/resources/index.d.ts.map +1 -0
- package/dist/handlers/resources/insights.d.ts +16 -0
- package/dist/handlers/resources/insights.d.ts.map +1 -0
- package/dist/handlers/resources/shared.d.ts +136 -0
- package/dist/handlers/resources/shared.d.ts.map +1 -0
- package/dist/handlers/resources/staleness.d.ts +3 -0
- package/dist/handlers/resources/staleness.d.ts.map +1 -0
- package/dist/handlers/resources/team.d.ts +6 -0
- package/dist/handlers/resources/team.d.ts.map +1 -0
- package/dist/handlers/resources/templates.d.ts +13 -0
- package/dist/handlers/resources/templates.d.ts.map +1 -0
- package/dist/handlers/resources/tools-catalog.d.ts +3 -0
- package/dist/handlers/resources/tools-catalog.d.ts.map +1 -0
- package/dist/handlers/tools/admin/batch-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/batch-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/core-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/core-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/index.d.ts +3 -0
- package/dist/handlers/tools/admin/index.d.ts.map +1 -0
- package/dist/handlers/tools/admin/lifecycle-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/lifecycle-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/misc-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/misc-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/project-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/project-tools.d.ts.map +1 -0
- package/dist/handlers/tools/admin/schemas/crud-batch-schemas.d.ts +609 -0
- package/dist/handlers/tools/admin/schemas/crud-batch-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/admin/schemas/project-and-ops-schemas.d.ts +136 -0
- package/dist/handlers/tools/admin/schemas/project-and-ops-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/admin/schemas.d.ts +3 -0
- package/dist/handlers/tools/admin/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/admin/update_configuration.d.ts +36 -0
- package/dist/handlers/tools/admin/update_configuration.d.ts.map +1 -0
- package/dist/handlers/tools/admin/vector-tools.d.ts +3 -0
- package/dist/handlers/tools/admin/vector-tools.d.ts.map +1 -0
- package/dist/handlers/tools/analytics.d.ts +8 -0
- package/dist/handlers/tools/analytics.d.ts.map +1 -0
- package/dist/handlers/tools/arg-interceptions.d.ts +51 -0
- package/dist/handlers/tools/arg-interceptions.d.ts.map +1 -0
- package/dist/handlers/tools/backup.d.ts +8 -0
- package/dist/handlers/tools/backup.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/code-healer.d.ts +11 -0
- package/dist/handlers/tools/codemode/code-healer.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/handler.d.ts +7 -0
- package/dist/handlers/tools/codemode/handler.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/index.d.ts +2 -0
- package/dist/handlers/tools/codemode/index.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/json-entry-recovery.d.ts +13 -0
- package/dist/handlers/tools/codemode/json-entry-recovery.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/payload-synthesizer.d.ts +17 -0
- package/dist/handlers/tools/codemode/payload-synthesizer.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/schemas.d.ts +77 -0
- package/dist/handlers/tools/codemode/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/secure-dispatcher.d.ts +25 -0
- package/dist/handlers/tools/codemode/secure-dispatcher.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/singleton-state.d.ts +11 -0
- package/dist/handlers/tools/codemode/singleton-state.d.ts.map +1 -0
- package/dist/handlers/tools/codemode/sql-recovery.d.ts +14 -0
- package/dist/handlers/tools/codemode/sql-recovery.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/alias-catalog.d.ts +21 -0
- package/dist/handlers/tools/core/dummy-healing/alias-catalog.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/entry-fallbacks.d.ts +4 -0
- package/dist/handlers/tools/core/dummy-healing/entry-fallbacks.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/fs-fallbacks.d.ts +19 -0
- package/dist/handlers/tools/core/dummy-healing/fs-fallbacks.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/index.d.ts +7 -0
- package/dist/handlers/tools/core/dummy-healing/index.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing/mcp-fallbacks.d.ts +12 -0
- package/dist/handlers/tools/core/dummy-healing/mcp-fallbacks.d.ts.map +1 -0
- package/dist/handlers/tools/core/dummy-healing.d.ts +2 -0
- package/dist/handlers/tools/core/dummy-healing.d.ts.map +1 -0
- package/dist/handlers/tools/core/index.d.ts +5 -0
- package/dist/handlers/tools/core/index.d.ts.map +1 -0
- package/dist/handlers/tools/core/schemas.d.ts +417 -0
- package/dist/handlers/tools/core/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/core/staleness-tools.d.ts +33 -0
- package/dist/handlers/tools/core/staleness-tools.d.ts.map +1 -0
- package/dist/handlers/tools/core/tools.d.ts +3 -0
- package/dist/handlers/tools/core/tools.d.ts.map +1 -0
- package/dist/handlers/tools/error-fields-mixin.d.ts +10 -0
- package/dist/handlers/tools/error-fields-mixin.d.ts.map +1 -0
- package/dist/handlers/tools/git.d.ts +62 -0
- package/dist/handlers/tools/git.d.ts.map +1 -0
- package/dist/handlers/tools/github/close-issue-tool.d.ts +6 -0
- package/dist/handlers/tools/github/close-issue-tool.d.ts.map +1 -0
- package/dist/handlers/tools/github/copilot-tools.d.ts +8 -0
- package/dist/handlers/tools/github/copilot-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/create-issue-tool.d.ts +6 -0
- package/dist/handlers/tools/github/create-issue-tool.d.ts.map +1 -0
- package/dist/handlers/tools/github/helpers.d.ts +38 -0
- package/dist/handlers/tools/github/helpers.d.ts.map +1 -0
- package/dist/handlers/tools/github/insights-tools.d.ts +8 -0
- package/dist/handlers/tools/github/insights-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/issue-tools.d.ts +11 -0
- package/dist/handlers/tools/github/issue-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/kanban-tools.d.ts +8 -0
- package/dist/handlers/tools/github/kanban-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/milestone-tools.d.ts +9 -0
- package/dist/handlers/tools/github/milestone-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/mutation-tools.d.ts +12 -0
- package/dist/handlers/tools/github/mutation-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/read-tools.d.ts +8 -0
- package/dist/handlers/tools/github/read-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/schemas.d.ts +823 -0
- package/dist/handlers/tools/github/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/github.d.ts +15 -0
- package/dist/handlers/tools/github.d.ts.map +1 -0
- package/dist/handlers/tools/index.d.ts +29 -0
- package/dist/handlers/tools/index.d.ts.map +1 -0
- package/dist/handlers/tools/io/index.d.ts +2 -0
- package/dist/handlers/tools/io/index.d.ts.map +1 -0
- package/dist/handlers/tools/io/schemas.d.ts +291 -0
- package/dist/handlers/tools/io/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/io/tools.d.ts +3 -0
- package/dist/handlers/tools/io/tools.d.ts.map +1 -0
- package/dist/handlers/tools/relationships.d.ts +8 -0
- package/dist/handlers/tools/relationships.d.ts.map +1 -0
- package/dist/handlers/tools/schemas/constants-and-primitives.d.ts +53 -0
- package/dist/handlers/tools/schemas/constants-and-primitives.d.ts.map +1 -0
- package/dist/handlers/tools/schemas/hallucination-healer.d.ts +8 -0
- package/dist/handlers/tools/schemas/hallucination-healer.d.ts.map +1 -0
- package/dist/handlers/tools/schemas/output-schemas.d.ts +247 -0
- package/dist/handlers/tools/schemas/output-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/schemas.d.ts +7 -0
- package/dist/handlers/tools/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/search/auto.d.ts +38 -0
- package/dist/handlers/tools/search/auto.d.ts.map +1 -0
- package/dist/handlers/tools/search/cross-team.d.ts +132 -0
- package/dist/handlers/tools/search/cross-team.d.ts.map +1 -0
- package/dist/handlers/tools/search/date-range-search.d.ts +3 -0
- package/dist/handlers/tools/search/date-range-search.d.ts.map +1 -0
- package/dist/handlers/tools/search/fts.d.ts +50 -0
- package/dist/handlers/tools/search/fts.d.ts.map +1 -0
- package/dist/handlers/tools/search/helpers.d.ts +52 -0
- package/dist/handlers/tools/search/helpers.d.ts.map +1 -0
- package/dist/handlers/tools/search/hybrid.d.ts +45 -0
- package/dist/handlers/tools/search/hybrid.d.ts.map +1 -0
- package/dist/handlers/tools/search/index.d.ts +3 -0
- package/dist/handlers/tools/search/index.d.ts.map +1 -0
- package/dist/handlers/tools/search/misc-tools.d.ts +3 -0
- package/dist/handlers/tools/search/misc-tools.d.ts.map +1 -0
- package/dist/handlers/tools/search/schemas.d.ts +352 -0
- package/dist/handlers/tools/search/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/search/search-entries.d.ts +3 -0
- package/dist/handlers/tools/search/search-entries.d.ts.map +1 -0
- package/dist/handlers/tools/search/semantic-search.d.ts +3 -0
- package/dist/handlers/tools/search/semantic-search.d.ts.map +1 -0
- package/dist/handlers/tools/team/admin-tools/batch.d.ts +8 -0
- package/dist/handlers/tools/team/admin-tools/batch.d.ts.map +1 -0
- package/dist/handlers/tools/team/admin-tools/crud.d.ts +8 -0
- package/dist/handlers/tools/team/admin-tools/crud.d.ts.map +1 -0
- package/dist/handlers/tools/team/admin-tools/index.d.ts +9 -0
- package/dist/handlers/tools/team/admin-tools/index.d.ts.map +1 -0
- package/dist/handlers/tools/team/alias-tools.d.ts +3 -0
- package/dist/handlers/tools/team/alias-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/analytics-tools.d.ts +8 -0
- package/dist/handlers/tools/team/analytics-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/backup-tools.d.ts +8 -0
- package/dist/handlers/tools/team/backup-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/core-tools.d.ts +8 -0
- package/dist/handlers/tools/team/core-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/export-tools.d.ts +8 -0
- package/dist/handlers/tools/team/export-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/helpers.d.ts +30 -0
- package/dist/handlers/tools/team/helpers.d.ts.map +1 -0
- package/dist/handlers/tools/team/index.d.ts +31 -0
- package/dist/handlers/tools/team/index.d.ts.map +1 -0
- package/dist/handlers/tools/team/io-tools.d.ts +11 -0
- package/dist/handlers/tools/team/io-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/member-tools.d.ts +8 -0
- package/dist/handlers/tools/team/member-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/rbac.d.ts +28 -0
- package/dist/handlers/tools/team/rbac.d.ts.map +1 -0
- package/dist/handlers/tools/team/relationship-tools.d.ts +8 -0
- package/dist/handlers/tools/team/relationship-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas/admin-batch-schemas.d.ts +618 -0
- package/dist/handlers/tools/team/schemas/admin-batch-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas/analytics-vector-schemas.d.ts +464 -0
- package/dist/handlers/tools/team/schemas/analytics-vector-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas/core-search-schemas.d.ts +525 -0
- package/dist/handlers/tools/team/schemas/core-search-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas/io-backup-schemas.d.ts +419 -0
- package/dist/handlers/tools/team/schemas/io-backup-schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/schemas.d.ts +8 -0
- package/dist/handlers/tools/team/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/team/search-tools.d.ts +8 -0
- package/dist/handlers/tools/team/search-tools.d.ts.map +1 -0
- package/dist/handlers/tools/team/vector-tools.d.ts +9 -0
- package/dist/handlers/tools/team/vector-tools.d.ts.map +1 -0
- package/dist/index.d.ts +10 -823
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -13
- package/dist/markdown/converters/index.d.ts +26 -0
- package/dist/markdown/converters/index.d.ts.map +1 -0
- package/dist/markdown/converters/logseq.d.ts +14 -0
- package/dist/markdown/converters/logseq.d.ts.map +1 -0
- package/dist/markdown/converters/notion.d.ts +14 -0
- package/dist/markdown/converters/notion.d.ts.map +1 -0
- package/dist/markdown/converters/obsidian.d.ts +14 -0
- package/dist/markdown/converters/obsidian.d.ts.map +1 -0
- package/dist/markdown/converters/utils.d.ts +4 -0
- package/dist/markdown/converters/utils.d.ts.map +1 -0
- package/dist/markdown/converters/yaml-parser.d.ts +32 -0
- package/dist/markdown/converters/yaml-parser.d.ts.map +1 -0
- package/dist/markdown/exporter.d.ts +54 -0
- package/dist/markdown/exporter.d.ts.map +1 -0
- package/dist/markdown/frontmatter.d.ts +47 -0
- package/dist/markdown/frontmatter.d.ts.map +1 -0
- package/dist/markdown/importer.d.ts +81 -0
- package/dist/markdown/importer.d.ts.map +1 -0
- package/dist/markdown/index.d.ts +14 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/observability/index.d.ts +19 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/interceptor.d.ts +27 -0
- package/dist/observability/interceptor.d.ts.map +1 -0
- package/dist/observability/latency-tracker.d.ts +47 -0
- package/dist/observability/latency-tracker.d.ts.map +1 -0
- package/dist/observability/metrics-server.d.ts +3 -0
- package/dist/observability/metrics-server.d.ts.map +1 -0
- package/dist/observability/metrics.d.ts +138 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/prometheus-formatter.d.ts +14 -0
- package/dist/observability/prometheus-formatter.d.ts.map +1 -0
- package/dist/observability/token-estimator.d.ts +44 -0
- package/dist/observability/token-estimator.d.ts.map +1 -0
- package/dist/security-utils-P4P6A2DG.js +2 -0
- package/dist/server/auto-prune.d.ts +48 -0
- package/dist/server/auto-prune.d.ts.map +1 -0
- package/dist/server/digest-reporter.d.ts +16 -0
- package/dist/server/digest-reporter.d.ts.map +1 -0
- package/dist/server/mcp-server/core.d.ts +3 -0
- package/dist/server/mcp-server/core.d.ts.map +1 -0
- package/dist/server/mcp-server/index.d.ts +4 -0
- package/dist/server/mcp-server/index.d.ts.map +1 -0
- package/dist/server/mcp-server/initialization.d.ts +13 -0
- package/dist/server/mcp-server/initialization.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration/call-interceptor.d.ts +6 -0
- package/dist/server/mcp-server/tool-registration/call-interceptor.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration/index.d.ts +4 -0
- package/dist/server/mcp-server/tool-registration/index.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration/list-interceptor.d.ts +4 -0
- package/dist/server/mcp-server/tool-registration/list-interceptor.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration/register-tools.d.ts +18 -0
- package/dist/server/mcp-server/tool-registration/register-tools.d.ts.map +1 -0
- package/dist/server/mcp-server/tool-registration.d.ts +2 -0
- package/dist/server/mcp-server/tool-registration.d.ts.map +1 -0
- package/dist/server/mcp-server/types.d.ts +78 -0
- package/dist/server/mcp-server/types.d.ts.map +1 -0
- package/dist/server/registration.d.ts +73 -0
- package/dist/server/registration.d.ts.map +1 -0
- package/dist/server/scheduler.d.ts +129 -0
- package/dist/server/scheduler.d.ts.map +1 -0
- package/dist/server/subscription-manager.d.ts +46 -0
- package/dist/server/subscription-manager.d.ts.map +1 -0
- package/dist/tools-BOQV7QD3.js +6 -0
- package/dist/transports/http/handlers.d.ts +25 -0
- package/dist/transports/http/handlers.d.ts.map +1 -0
- package/dist/transports/http/index.d.ts +8 -0
- package/dist/transports/http/index.d.ts.map +1 -0
- package/dist/transports/http/security.d.ts +43 -0
- package/dist/transports/http/security.d.ts.map +1 -0
- package/dist/transports/http/server/http-transport.d.ts +25 -0
- package/dist/transports/http/server/http-transport.d.ts.map +1 -0
- package/dist/transports/http/server/index.d.ts +4 -0
- package/dist/transports/http/server/index.d.ts.map +1 -0
- package/dist/transports/http/server/legacy-sse.d.ts +30 -0
- package/dist/transports/http/server/legacy-sse.d.ts.map +1 -0
- package/dist/transports/http/server/protocol-handlers.d.ts +9 -0
- package/dist/transports/http/server/protocol-handlers.d.ts.map +1 -0
- package/dist/transports/http/types.d.ts +95 -0
- package/dist/transports/http/types.d.ts.map +1 -0
- package/dist/types/auto-context.d.ts +44 -0
- package/dist/types/auto-context.d.ts.map +1 -0
- package/dist/types/entities.d.ts +180 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/error-types.d.ts +48 -0
- package/dist/types/error-types.d.ts.map +1 -0
- package/dist/types/errors.d.ts +108 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/filtering.d.ts +34 -0
- package/dist/types/filtering.d.ts.map +1 -0
- package/dist/types/github.d.ts +202 -0
- package/dist/types/github.d.ts.map +1 -0
- package/dist/types/index.d.ts +326 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/config-manager.d.ts +24 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-resolver.d.ts +41 -0
- package/dist/utils/config-resolver.d.ts.map +1 -0
- package/dist/utils/error-helpers.d.ts +38 -0
- package/dist/utils/error-helpers.d.ts.map +1 -0
- package/dist/utils/errors/error-response-fields.d.ts +28 -0
- package/dist/utils/errors/error-response-fields.d.ts.map +1 -0
- package/dist/utils/errors/suggestions.d.ts +29 -0
- package/dist/utils/errors/suggestions.d.ts.map +1 -0
- package/dist/utils/github-helpers.d.ts +12 -0
- package/dist/utils/github-helpers.d.ts.map +1 -0
- package/dist/utils/issue-logger.d.ts +10 -0
- package/dist/utils/issue-logger.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +30 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/maintenance-lock.d.ts +34 -0
- package/dist/utils/maintenance-lock.d.ts.map +1 -0
- package/dist/utils/mcp-logger.d.ts +73 -0
- package/dist/utils/mcp-logger.d.ts.map +1 -0
- package/dist/utils/progress-utils.d.ts +53 -0
- package/dist/utils/progress-utils.d.ts.map +1 -0
- package/dist/utils/query-helpers.d.ts +43 -0
- package/dist/utils/query-helpers.d.ts.map +1 -0
- package/dist/utils/request-context.d.ts +9 -0
- package/dist/utils/request-context.d.ts.map +1 -0
- package/dist/utils/resource-annotations.d.ts +36 -0
- package/dist/utils/resource-annotations.d.ts.map +1 -0
- package/dist/utils/security-utils.d.ts +113 -0
- package/dist/utils/security-utils.d.ts.map +1 -0
- package/dist/utils/vector-index-helpers.d.ts +14 -0
- package/dist/utils/vector-index-helpers.d.ts.map +1 -0
- package/dist/utils/workspace-resolver.d.ts +40 -0
- package/dist/utils/workspace-resolver.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/VectorSearchManagerProxy.d.ts +5 -0
- package/dist/vector/vector-search-manager/VectorSearchManagerProxy.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/index.d.ts +3 -0
- package/dist/vector/vector-search-manager/index.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/manager.d.ts +75 -0
- package/dist/vector/vector-search-manager/manager.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/rebuild.d.ts +20 -0
- package/dist/vector/vector-search-manager/rebuild.d.ts.map +1 -0
- package/dist/vector/vector-search-manager/types.d.ts +12 -0
- package/dist/vector/vector-search-manager/types.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/agent-exec.d.ts +2 -0
- package/dist/vendor/lib-agent-exec/agent-exec.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/command-builder.d.ts +11 -0
- package/dist/vendor/lib-agent-exec/command-builder.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/command-utils.d.ts +29 -0
- package/dist/vendor/lib-agent-exec/command-utils.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/environment.d.ts +4 -0
- package/dist/vendor/lib-agent-exec/environment.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/eval-healer.d.ts +15 -0
- package/dist/vendor/lib-agent-exec/eval-healer.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/execution-engine.d.ts +4 -0
- package/dist/vendor/lib-agent-exec/execution-engine.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/help.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/help.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/cloud-cli-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/cloud-cli-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/docker-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/docker-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/git-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/git-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/index.d.ts +9 -0
- package/dist/vendor/lib-agent-exec/interceptors/index.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/mutating-interceptors.d.ts +7 -0
- package/dist/vendor/lib-agent-exec/interceptors/mutating-interceptors.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/package-manager-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/package-manager-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/repl-tui-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/repl-tui-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/search-interceptor.d.ts +15 -0
- package/dist/vendor/lib-agent-exec/interceptors/search-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/structural-interceptors.d.ts +15 -0
- package/dist/vendor/lib-agent-exec/interceptors/structural-interceptors.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/system-interceptor.d.ts +3 -0
- package/dist/vendor/lib-agent-exec/interceptors/system-interceptor.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/types.d.ts +11 -0
- package/dist/vendor/lib-agent-exec/interceptors/types.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/interceptors/utils.d.ts +5 -0
- package/dist/vendor/lib-agent-exec/interceptors/utils.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/io-controller.d.ts +48 -0
- package/dist/vendor/lib-agent-exec/io-controller.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/io-utils.d.ts +12 -0
- package/dist/vendor/lib-agent-exec/io-utils.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/path-healer.d.ts +15 -0
- package/dist/vendor/lib-agent-exec/path-healer.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/process-controller.d.ts +38 -0
- package/dist/vendor/lib-agent-exec/process-controller.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/process-manager.d.ts +6 -0
- package/dist/vendor/lib-agent-exec/process-manager.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/prompt-detector.d.ts +2 -0
- package/dist/vendor/lib-agent-exec/prompt-detector.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/schema.d.ts +182 -0
- package/dist/vendor/lib-agent-exec/schema.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/stream-manager.d.ts +20 -0
- package/dist/vendor/lib-agent-exec/stream-manager.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/utils.d.ts +17 -0
- package/dist/vendor/lib-agent-exec/utils.d.ts.map +1 -0
- package/dist/vendor/lib-agent-exec/webhook-template.d.ts +2 -0
- package/dist/vendor/lib-agent-exec/webhook-template.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/cache.d.ts +56 -0
- package/dist/vendor/lib-git-history/cache.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/cli.d.ts +147 -0
- package/dist/vendor/lib-git-history/cli.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/constants.d.ts +36 -0
- package/dist/vendor/lib-git-history/constants.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/git-numstat.d.ts +7 -0
- package/dist/vendor/lib-git-history/git-numstat.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/git-patch.d.ts +3 -0
- package/dist/vendor/lib-git-history/git-patch.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/git-runner.d.ts +25 -0
- package/dist/vendor/lib-git-history/git-runner.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser-batch.d.ts +5 -0
- package/dist/vendor/lib-git-history/parser-batch.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser-metadata.d.ts +3 -0
- package/dist/vendor/lib-git-history/parser-metadata.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser-record.d.ts +37 -0
- package/dist/vendor/lib-git-history/parser-record.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser-utils.d.ts +22 -0
- package/dist/vendor/lib-git-history/parser-utils.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/parser.d.ts +4 -0
- package/dist/vendor/lib-git-history/parser.d.ts.map +1 -0
- package/dist/vendor/lib-git-history/schema.d.ts +131 -0
- package/dist/vendor/lib-git-history/schema.d.ts.map +1 -0
- package/dist/version.d.ts +10 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/worker-script.js +2937 -342
- package/package.json +130 -106
- package/skills/memory-journal-mcp/SKILL.md +41 -0
- package/dist/chunk-6OHRCNYW.js +0 -3231
- package/dist/chunk-JFMITANR.js +0 -5168
- package/dist/chunk-UHSO65A4.js +0 -8937
- package/dist/chunk-V3UTFQQK.js +0 -5538
- package/dist/cli.d.ts +0 -2
- package/dist/resources-IJVKDFGS.js +0 -2
- package/dist/tools-44DGXE3V.js +0 -2
- package/dist/worker-script.d.ts +0 -2
- package/skills/README.md +0 -121
- package/skills/adversarial-performance/SKILL.md +0 -139
- package/skills/adversarial-performance/references/audit-categories.md +0 -462
- package/skills/adversarial-performance/references/copilot-performance-prompts.md +0 -44
- package/skills/adversarial-performance/references/copilot-usage.md +0 -16
- package/skills/adversarial-performance/references/feedback-loop.md +0 -177
- package/skills/adversarial-performance/references/multi-pass-performance-protocol.md +0 -398
- package/skills/adversarial-planner/SKILL.md +0 -89
- package/skills/adversarial-planner/references/copilot-integration.md +0 -83
- package/skills/adversarial-planner/references/copilot-usage.md +0 -16
- package/skills/adversarial-planner/references/feedback-loop.md +0 -148
- package/skills/adversarial-planner/references/multi-pass-protocol.md +0 -229
- package/skills/adversarial-security/SKILL.md +0 -149
- package/skills/adversarial-security/references/adversarial-base-protocol.md +0 -44
- package/skills/adversarial-security/references/audit-categories.md +0 -723
- package/skills/adversarial-security/references/copilot-security-prompts.md +0 -142
- package/skills/adversarial-security/references/copilot-usage.md +0 -16
- package/skills/adversarial-security/references/feedback-loop.md +0 -206
- package/skills/adversarial-security/references/journal-opt-out.md +0 -7
- package/skills/adversarial-security/references/multi-pass-security-protocol.md +0 -403
- package/skills/adversarial-skill-audit/SKILL.md +0 -118
- package/skills/adversarial-skill-audit/references/audit-categories.md +0 -308
- package/skills/adversarial-skill-audit/references/copilot-skill-prompts.md +0 -68
- package/skills/adversarial-skill-audit/references/copilot-usage.md +0 -16
- package/skills/adversarial-skill-audit/references/feedback-loop.md +0 -155
- package/skills/adversarial-skill-audit/references/multi-pass-skill-protocol.md +0 -367
- package/skills/adversarial-skill-audit/scripts/check-skills.ps1 +0 -48
- package/skills/adversarial-skill-audit/scripts/run-copilot.ps1 +0 -52
- package/skills/adversarial-workflow-audit/SKILL.md +0 -82
- package/skills/adversarial-workflow-audit/references/audit-categories.md +0 -28
- package/skills/adversarial-workflow-audit/references/copilot-usage.md +0 -16
- package/skills/adversarial-workflow-audit/scripts/check-workflows.ps1 +0 -24
- package/skills/agents-sdk/SKILL.md +0 -220
- package/skills/agents-sdk/references/callable.md +0 -92
- package/skills/agents-sdk/references/codemode.md +0 -209
- package/skills/agents-sdk/references/email.md +0 -144
- package/skills/agents-sdk/references/mcp/SKILL.md +0 -65
- package/skills/agents-sdk/references/mcp/code-mode-reference.md +0 -245
- package/skills/agents-sdk/references/mcp/oauth-reference.md +0 -359
- package/skills/agents-sdk/references/mcp/references/architecture-reference.md +0 -208
- package/skills/agents-sdk/references/mcp/references/cloudflare-quickstart.md +0 -156
- package/skills/agents-sdk/references/mcp/references/error-handling.md +0 -343
- package/skills/agents-sdk/references/mcp/references/http-security.md +0 -164
- package/skills/agents-sdk/references/mcp/references/implementation-guide.md +0 -507
- package/skills/agents-sdk/references/mcp/references/testing-reference.md +0 -171
- package/skills/agents-sdk/references/mcp.md +0 -157
- package/skills/agents-sdk/references/state-scheduling.md +0 -164
- package/skills/agents-sdk/references/streaming-chat.md +0 -168
- package/skills/agents-sdk/references/workflows.md +0 -136
- package/skills/auth-identity/SKILL.md +0 -48
- package/skills/autonomous-dev/SKILL.md +0 -79
- package/skills/autonomous-dev/references/workflow_orchestration.md +0 -22
- package/skills/aws/SKILL.md +0 -39
- package/skills/azure/SKILL.md +0 -38
- package/skills/bin/sync.js +0 -56
- package/skills/biome/SKILL.md +0 -59
- package/skills/bun/SKILL.md +0 -162
- package/skills/cloudflare/SKILL.md +0 -37
- package/skills/cloudflare/references/agents-sdk/README.md +0 -95
- package/skills/cloudflare/references/agents-sdk/api.md +0 -195
- package/skills/cloudflare/references/agents-sdk/configuration.md +0 -178
- package/skills/cloudflare/references/agents-sdk/gotchas.md +0 -173
- package/skills/cloudflare/references/agents-sdk/patterns.md +0 -215
- package/skills/cloudflare/references/ai-gateway/README.md +0 -176
- package/skills/cloudflare/references/ai-gateway/configuration.md +0 -117
- package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +0 -88
- package/skills/cloudflare/references/ai-gateway/features.md +0 -96
- package/skills/cloudflare/references/ai-gateway/sdk-integration.md +0 -110
- package/skills/cloudflare/references/ai-gateway/troubleshooting.md +0 -90
- package/skills/cloudflare/references/ai-search/README.md +0 -145
- package/skills/cloudflare/references/ai-search/api.md +0 -87
- package/skills/cloudflare/references/ai-search/configuration.md +0 -91
- package/skills/cloudflare/references/ai-search/gotchas.md +0 -92
- package/skills/cloudflare/references/ai-search/patterns.md +0 -87
- package/skills/cloudflare/references/analytics-engine/README.md +0 -96
- package/skills/cloudflare/references/analytics-engine/api.md +0 -112
- package/skills/cloudflare/references/analytics-engine/configuration.md +0 -107
- package/skills/cloudflare/references/analytics-engine/gotchas.md +0 -87
- package/skills/cloudflare/references/analytics-engine/patterns.md +0 -83
- package/skills/cloudflare/references/api/README.md +0 -66
- package/skills/cloudflare/references/api/api.md +0 -205
- package/skills/cloudflare/references/api/configuration.md +0 -158
- package/skills/cloudflare/references/api/gotchas.md +0 -231
- package/skills/cloudflare/references/api/patterns.md +0 -208
- package/skills/cloudflare/references/api-shield/README.md +0 -44
- package/skills/cloudflare/references/api-shield/api.md +0 -153
- package/skills/cloudflare/references/api-shield/configuration.md +0 -210
- package/skills/cloudflare/references/api-shield/gotchas.md +0 -132
- package/skills/cloudflare/references/api-shield/patterns.md +0 -185
- package/skills/cloudflare/references/argo-smart-routing/README.md +0 -96
- package/skills/cloudflare/references/argo-smart-routing/api.md +0 -253
- package/skills/cloudflare/references/argo-smart-routing/configuration.md +0 -205
- package/skills/cloudflare/references/argo-smart-routing/gotchas.md +0 -115
- package/skills/cloudflare/references/argo-smart-routing/patterns.md +0 -107
- package/skills/cloudflare/references/bindings/README.md +0 -127
- package/skills/cloudflare/references/bindings/api.md +0 -214
- package/skills/cloudflare/references/bindings/configuration.md +0 -200
- package/skills/cloudflare/references/bindings/gotchas.md +0 -210
- package/skills/cloudflare/references/bindings/patterns.md +0 -205
- package/skills/cloudflare/references/bot-management/README.md +0 -95
- package/skills/cloudflare/references/bot-management/api.md +0 -175
- package/skills/cloudflare/references/bot-management/configuration.md +0 -175
- package/skills/cloudflare/references/bot-management/gotchas.md +0 -116
- package/skills/cloudflare/references/bot-management/patterns.md +0 -181
- package/skills/cloudflare/references/browser-rendering/README.md +0 -84
- package/skills/cloudflare/references/browser-rendering/api.md +0 -108
- package/skills/cloudflare/references/browser-rendering/configuration.md +0 -78
- package/skills/cloudflare/references/browser-rendering/gotchas.md +0 -91
- package/skills/cloudflare/references/browser-rendering/patterns.md +0 -93
- package/skills/cloudflare/references/c3/README.md +0 -111
- package/skills/cloudflare/references/c3/api.md +0 -71
- package/skills/cloudflare/references/c3/configuration.md +0 -85
- package/skills/cloudflare/references/c3/gotchas.md +0 -97
- package/skills/cloudflare/references/c3/patterns.md +0 -84
- package/skills/cloudflare/references/cache-reserve/README.md +0 -150
- package/skills/cloudflare/references/cache-reserve/api.md +0 -184
- package/skills/cloudflare/references/cache-reserve/configuration.md +0 -170
- package/skills/cloudflare/references/cache-reserve/gotchas.md +0 -136
- package/skills/cloudflare/references/cache-reserve/patterns.md +0 -197
- package/skills/cloudflare/references/containers/README.md +0 -87
- package/skills/cloudflare/references/containers/api.md +0 -197
- package/skills/cloudflare/references/containers/configuration.md +0 -191
- package/skills/cloudflare/references/containers/gotchas.md +0 -182
- package/skills/cloudflare/references/containers/patterns.md +0 -204
- package/skills/cloudflare/references/cron-triggers/README.md +0 -101
- package/skills/cloudflare/references/cron-triggers/api.md +0 -224
- package/skills/cloudflare/references/cron-triggers/configuration.md +0 -190
- package/skills/cloudflare/references/cron-triggers/gotchas.md +0 -207
- package/skills/cloudflare/references/cron-triggers/patterns.md +0 -274
- package/skills/cloudflare/references/d1/README.md +0 -137
- package/skills/cloudflare/references/d1/api.md +0 -213
- package/skills/cloudflare/references/d1/configuration.md +0 -198
- package/skills/cloudflare/references/d1/gotchas.md +0 -98
- package/skills/cloudflare/references/d1/patterns.md +0 -240
- package/skills/cloudflare/references/ddos/README.md +0 -42
- package/skills/cloudflare/references/ddos/api.md +0 -158
- package/skills/cloudflare/references/ddos/configuration.md +0 -94
- package/skills/cloudflare/references/ddos/gotchas.md +0 -114
- package/skills/cloudflare/references/ddos/patterns.md +0 -220
- package/skills/cloudflare/references/decision-trees.md +0 -95
- package/skills/cloudflare/references/do-storage/README.md +0 -79
- package/skills/cloudflare/references/do-storage/api.md +0 -107
- package/skills/cloudflare/references/do-storage/configuration.md +0 -114
- package/skills/cloudflare/references/do-storage/gotchas.md +0 -153
- package/skills/cloudflare/references/do-storage/patterns.md +0 -210
- package/skills/cloudflare/references/do-storage/testing.md +0 -186
- package/skills/cloudflare/references/durable-objects/README.md +0 -194
- package/skills/cloudflare/references/durable-objects/api.md +0 -205
- package/skills/cloudflare/references/durable-objects/configuration.md +0 -160
- package/skills/cloudflare/references/durable-objects/gotchas.md +0 -200
- package/skills/cloudflare/references/durable-objects/patterns.md +0 -205
- package/skills/cloudflare/references/email-routing/README.md +0 -89
- package/skills/cloudflare/references/email-routing/api.md +0 -192
- package/skills/cloudflare/references/email-routing/configuration.md +0 -187
- package/skills/cloudflare/references/email-routing/gotchas.md +0 -203
- package/skills/cloudflare/references/email-routing/patterns.md +0 -241
- package/skills/cloudflare/references/email-workers/README.md +0 -153
- package/skills/cloudflare/references/email-workers/api.md +0 -227
- package/skills/cloudflare/references/email-workers/configuration.md +0 -115
- package/skills/cloudflare/references/email-workers/gotchas.md +0 -133
- package/skills/cloudflare/references/email-workers/patterns.md +0 -108
- package/skills/cloudflare/references/graphql-api/README.md +0 -147
- package/skills/cloudflare/references/graphql-api/api.md +0 -175
- package/skills/cloudflare/references/graphql-api/configuration.md +0 -151
- package/skills/cloudflare/references/graphql-api/gotchas.md +0 -111
- package/skills/cloudflare/references/graphql-api/patterns.md +0 -276
- package/skills/cloudflare/references/hyperdrive/README.md +0 -84
- package/skills/cloudflare/references/hyperdrive/api.md +0 -149
- package/skills/cloudflare/references/hyperdrive/configuration.md +0 -166
- package/skills/cloudflare/references/hyperdrive/gotchas.md +0 -77
- package/skills/cloudflare/references/hyperdrive/patterns.md +0 -203
- package/skills/cloudflare/references/images/README.md +0 -65
- package/skills/cloudflare/references/images/api.md +0 -101
- package/skills/cloudflare/references/images/configuration.md +0 -206
- package/skills/cloudflare/references/images/gotchas.md +0 -106
- package/skills/cloudflare/references/images/patterns.md +0 -126
- package/skills/cloudflare/references/kv/README.md +0 -90
- package/skills/cloudflare/references/kv/api.md +0 -163
- package/skills/cloudflare/references/kv/configuration.md +0 -148
- package/skills/cloudflare/references/kv/gotchas.md +0 -133
- package/skills/cloudflare/references/kv/patterns.md +0 -195
- package/skills/cloudflare/references/miniflare/README.md +0 -113
- package/skills/cloudflare/references/miniflare/api.md +0 -204
- package/skills/cloudflare/references/miniflare/configuration.md +0 -174
- package/skills/cloudflare/references/miniflare/gotchas.md +0 -179
- package/skills/cloudflare/references/miniflare/patterns.md +0 -187
- package/skills/cloudflare/references/network-interconnect/README.md +0 -104
- package/skills/cloudflare/references/network-interconnect/api.md +0 -220
- package/skills/cloudflare/references/network-interconnect/configuration.md +0 -123
- package/skills/cloudflare/references/network-interconnect/gotchas.md +0 -175
- package/skills/cloudflare/references/network-interconnect/patterns.md +0 -174
- package/skills/cloudflare/references/observability/README.md +0 -93
- package/skills/cloudflare/references/observability/api.md +0 -168
- package/skills/cloudflare/references/observability/configuration.md +0 -178
- package/skills/cloudflare/references/observability/gotchas.md +0 -125
- package/skills/cloudflare/references/observability/patterns.md +0 -105
- package/skills/cloudflare/references/pages/README.md +0 -92
- package/skills/cloudflare/references/pages/api.md +0 -205
- package/skills/cloudflare/references/pages/configuration.md +0 -216
- package/skills/cloudflare/references/pages/gotchas.md +0 -218
- package/skills/cloudflare/references/pages/patterns.md +0 -215
- package/skills/cloudflare/references/pages-functions/README.md +0 -104
- package/skills/cloudflare/references/pages-functions/api.md +0 -159
- package/skills/cloudflare/references/pages-functions/configuration.md +0 -130
- package/skills/cloudflare/references/pages-functions/gotchas.md +0 -102
- package/skills/cloudflare/references/pages-functions/patterns.md +0 -148
- package/skills/cloudflare/references/pipelines/README.md +0 -109
- package/skills/cloudflare/references/pipelines/api.md +0 -214
- package/skills/cloudflare/references/pipelines/configuration.md +0 -98
- package/skills/cloudflare/references/pipelines/gotchas.md +0 -84
- package/skills/cloudflare/references/pipelines/patterns.md +0 -87
- package/skills/cloudflare/references/product-index.md +0 -112
- package/skills/cloudflare/references/pulumi/README.md +0 -113
- package/skills/cloudflare/references/pulumi/api.md +0 -230
- package/skills/cloudflare/references/pulumi/configuration.md +0 -213
- package/skills/cloudflare/references/pulumi/gotchas.md +0 -205
- package/skills/cloudflare/references/pulumi/patterns.md +0 -260
- package/skills/cloudflare/references/queues/README.md +0 -99
- package/skills/cloudflare/references/queues/api.md +0 -211
- package/skills/cloudflare/references/queues/configuration.md +0 -151
- package/skills/cloudflare/references/queues/gotchas.md +0 -210
- package/skills/cloudflare/references/queues/patterns.md +0 -220
- package/skills/cloudflare/references/r2/README.md +0 -97
- package/skills/cloudflare/references/r2/api.md +0 -235
- package/skills/cloudflare/references/r2/configuration.md +0 -176
- package/skills/cloudflare/references/r2/gotchas.md +0 -190
- package/skills/cloudflare/references/r2/patterns.md +0 -203
- package/skills/cloudflare/references/r2-data-catalog/README.md +0 -157
- package/skills/cloudflare/references/r2-data-catalog/api.md +0 -199
- package/skills/cloudflare/references/r2-data-catalog/configuration.md +0 -205
- package/skills/cloudflare/references/r2-data-catalog/gotchas.md +0 -170
- package/skills/cloudflare/references/r2-data-catalog/patterns.md +0 -191
- package/skills/cloudflare/references/r2-sql/README.md +0 -138
- package/skills/cloudflare/references/r2-sql/SKILL.md.backup +0 -512
- package/skills/cloudflare/references/r2-sql/api.md +0 -159
- package/skills/cloudflare/references/r2-sql/configuration.md +0 -152
- package/skills/cloudflare/references/r2-sql/gotchas.md +0 -228
- package/skills/cloudflare/references/r2-sql/patterns.md +0 -230
- package/skills/cloudflare/references/realtime-sfu/README.md +0 -66
- package/skills/cloudflare/references/realtime-sfu/api.md +0 -164
- package/skills/cloudflare/references/realtime-sfu/configuration.md +0 -141
- package/skills/cloudflare/references/realtime-sfu/gotchas.md +0 -138
- package/skills/cloudflare/references/realtime-sfu/patterns.md +0 -187
- package/skills/cloudflare/references/realtimekit/README.md +0 -118
- package/skills/cloudflare/references/realtimekit/api.md +0 -234
- package/skills/cloudflare/references/realtimekit/configuration.md +0 -226
- package/skills/cloudflare/references/realtimekit/gotchas.md +0 -206
- package/skills/cloudflare/references/realtimekit/patterns.md +0 -240
- package/skills/cloudflare/references/sandbox/README.md +0 -104
- package/skills/cloudflare/references/sandbox/api.md +0 -200
- package/skills/cloudflare/references/sandbox/configuration.md +0 -154
- package/skills/cloudflare/references/sandbox/gotchas.md +0 -201
- package/skills/cloudflare/references/sandbox/patterns.md +0 -195
- package/skills/cloudflare/references/secrets-store/README.md +0 -77
- package/skills/cloudflare/references/secrets-store/api.md +0 -199
- package/skills/cloudflare/references/secrets-store/configuration.md +0 -187
- package/skills/cloudflare/references/secrets-store/gotchas.md +0 -97
- package/skills/cloudflare/references/secrets-store/patterns.md +0 -218
- package/skills/cloudflare/references/smart-placement/README.md +0 -143
- package/skills/cloudflare/references/smart-placement/api.md +0 -192
- package/skills/cloudflare/references/smart-placement/configuration.md +0 -202
- package/skills/cloudflare/references/smart-placement/gotchas.md +0 -180
- package/skills/cloudflare/references/smart-placement/patterns.md +0 -190
- package/skills/cloudflare/references/snippets/README.md +0 -74
- package/skills/cloudflare/references/snippets/api.md +0 -214
- package/skills/cloudflare/references/snippets/configuration.md +0 -239
- package/skills/cloudflare/references/snippets/gotchas.md +0 -104
- package/skills/cloudflare/references/snippets/patterns.md +0 -135
- package/skills/cloudflare/references/spectrum/README.md +0 -52
- package/skills/cloudflare/references/spectrum/api.md +0 -184
- package/skills/cloudflare/references/spectrum/configuration.md +0 -203
- package/skills/cloudflare/references/spectrum/gotchas.md +0 -155
- package/skills/cloudflare/references/spectrum/patterns.md +0 -206
- package/skills/cloudflare/references/static-assets/README.md +0 -65
- package/skills/cloudflare/references/static-assets/api.md +0 -201
- package/skills/cloudflare/references/static-assets/configuration.md +0 -186
- package/skills/cloudflare/references/static-assets/gotchas.md +0 -164
- package/skills/cloudflare/references/static-assets/patterns.md +0 -189
- package/skills/cloudflare/references/stream/README.md +0 -123
- package/skills/cloudflare/references/stream/api-live.md +0 -202
- package/skills/cloudflare/references/stream/api.md +0 -206
- package/skills/cloudflare/references/stream/configuration.md +0 -151
- package/skills/cloudflare/references/stream/gotchas.md +0 -139
- package/skills/cloudflare/references/stream/patterns.md +0 -217
- package/skills/cloudflare/references/tail-workers/README.md +0 -92
- package/skills/cloudflare/references/tail-workers/api.md +0 -203
- package/skills/cloudflare/references/tail-workers/configuration.md +0 -178
- package/skills/cloudflare/references/tail-workers/gotchas.md +0 -206
- package/skills/cloudflare/references/tail-workers/patterns.md +0 -190
- package/skills/cloudflare/references/terraform/README.md +0 -100
- package/skills/cloudflare/references/terraform/api.md +0 -178
- package/skills/cloudflare/references/terraform/configuration.md +0 -197
- package/skills/cloudflare/references/terraform/gotchas.md +0 -150
- package/skills/cloudflare/references/terraform/patterns.md +0 -174
- package/skills/cloudflare/references/tunnel/README.md +0 -137
- package/skills/cloudflare/references/tunnel/api.md +0 -205
- package/skills/cloudflare/references/tunnel/configuration.md +0 -163
- package/skills/cloudflare/references/tunnel/gotchas.md +0 -159
- package/skills/cloudflare/references/tunnel/networking.md +0 -174
- package/skills/cloudflare/references/tunnel/patterns.md +0 -199
- package/skills/cloudflare/references/turn/README.md +0 -86
- package/skills/cloudflare/references/turn/api.md +0 -236
- package/skills/cloudflare/references/turn/configuration.md +0 -181
- package/skills/cloudflare/references/turn/gotchas.md +0 -236
- package/skills/cloudflare/references/turn/patterns.md +0 -228
- package/skills/cloudflare/references/turnstile/README.md +0 -102
- package/skills/cloudflare/references/turnstile/api.md +0 -253
- package/skills/cloudflare/references/turnstile/configuration.md +0 -242
- package/skills/cloudflare/references/turnstile/gotchas.md +0 -253
- package/skills/cloudflare/references/turnstile/patterns.md +0 -195
- package/skills/cloudflare/references/vectorize/README.md +0 -133
- package/skills/cloudflare/references/vectorize/api.md +0 -89
- package/skills/cloudflare/references/vectorize/configuration.md +0 -91
- package/skills/cloudflare/references/vectorize/gotchas.md +0 -83
- package/skills/cloudflare/references/vectorize/patterns.md +0 -92
- package/skills/cloudflare/references/waf/README.md +0 -125
- package/skills/cloudflare/references/waf/api.md +0 -203
- package/skills/cloudflare/references/waf/configuration.md +0 -215
- package/skills/cloudflare/references/waf/gotchas.md +0 -208
- package/skills/cloudflare/references/waf/patterns.md +0 -236
- package/skills/cloudflare/references/web-analytics/README.md +0 -149
- package/skills/cloudflare/references/web-analytics/configuration.md +0 -81
- package/skills/cloudflare/references/web-analytics/gotchas.md +0 -86
- package/skills/cloudflare/references/web-analytics/integration.md +0 -63
- package/skills/cloudflare/references/web-analytics/patterns.md +0 -98
- package/skills/cloudflare/references/workerd/README.md +0 -85
- package/skills/cloudflare/references/workerd/api.md +0 -219
- package/skills/cloudflare/references/workerd/configuration.md +0 -200
- package/skills/cloudflare/references/workerd/gotchas.md +0 -151
- package/skills/cloudflare/references/workerd/patterns.md +0 -205
- package/skills/cloudflare/references/workers/README.md +0 -110
- package/skills/cloudflare/references/workers/api.md +0 -197
- package/skills/cloudflare/references/workers/configuration.md +0 -184
- package/skills/cloudflare/references/workers/frameworks.md +0 -200
- package/skills/cloudflare/references/workers/gotchas.md +0 -145
- package/skills/cloudflare/references/workers/patterns.md +0 -220
- package/skills/cloudflare/references/workers-ai/README.md +0 -206
- package/skills/cloudflare/references/workers-ai/api.md +0 -115
- package/skills/cloudflare/references/workers-ai/configuration.md +0 -98
- package/skills/cloudflare/references/workers-ai/gotchas.md +0 -130
- package/skills/cloudflare/references/workers-ai/patterns.md +0 -122
- package/skills/cloudflare/references/workers-for-platforms/README.md +0 -95
- package/skills/cloudflare/references/workers-for-platforms/api.md +0 -212
- package/skills/cloudflare/references/workers-for-platforms/configuration.md +0 -178
- package/skills/cloudflare/references/workers-for-platforms/gotchas.md +0 -134
- package/skills/cloudflare/references/workers-for-platforms/patterns.md +0 -210
- package/skills/cloudflare/references/workers-playground/README.md +0 -131
- package/skills/cloudflare/references/workers-playground/api.md +0 -101
- package/skills/cloudflare/references/workers-playground/configuration.md +0 -169
- package/skills/cloudflare/references/workers-playground/gotchas.md +0 -88
- package/skills/cloudflare/references/workers-playground/patterns.md +0 -134
- package/skills/cloudflare/references/workers-vpc/README.md +0 -130
- package/skills/cloudflare/references/workers-vpc/api.md +0 -196
- package/skills/cloudflare/references/workers-vpc/configuration.md +0 -151
- package/skills/cloudflare/references/workers-vpc/gotchas.md +0 -171
- package/skills/cloudflare/references/workers-vpc/patterns.md +0 -235
- package/skills/cloudflare/references/workflows/README.md +0 -72
- package/skills/cloudflare/references/workflows/api.md +0 -237
- package/skills/cloudflare/references/workflows/configuration.md +0 -158
- package/skills/cloudflare/references/workflows/gotchas.md +0 -97
- package/skills/cloudflare/references/workflows/patterns.md +0 -245
- package/skills/cloudflare/references/wrangler/README.md +0 -143
- package/skills/cloudflare/references/wrangler/api.md +0 -188
- package/skills/cloudflare/references/wrangler/configuration.md +0 -198
- package/skills/cloudflare/references/wrangler/gotchas.md +0 -212
- package/skills/cloudflare/references/wrangler/patterns.md +0 -211
- package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +0 -131
- package/skills/cloudflare/references/zaraz/README.md +0 -114
- package/skills/cloudflare/references/zaraz/api.md +0 -118
- package/skills/cloudflare/references/zaraz/configuration.md +0 -94
- package/skills/cloudflare/references/zaraz/gotchas.md +0 -88
- package/skills/cloudflare/references/zaraz/patterns.md +0 -77
- package/skills/docker/SKILL.md +0 -168
- package/skills/docker/references/advanced-examples.md +0 -71
- package/skills/docker/references/templates.md +0 -34
- package/skills/docs-marketer/SKILL.md +0 -178
- package/skills/docs-marketer/references/audit-categories.md +0 -328
- package/skills/docs-marketer/references/copilot-docs-prompts.md +0 -88
- package/skills/docs-marketer/references/copilot-usage.md +0 -16
- package/skills/docs-marketer/references/feedback-loop.md +0 -155
- package/skills/docs-marketer/references/multi-pass-docs-protocol.md +0 -410
- package/skills/drizzle-orm/SKILL.md +0 -82
- package/skills/durable-objects/SKILL.md +0 -167
- package/skills/durable-objects/references/advanced_features.md +0 -29
- package/skills/durable-objects/references/rules.md +0 -300
- package/skills/durable-objects/references/testing.md +0 -261
- package/skills/durable-objects/references/workers.md +0 -336
- package/skills/gcp/SKILL.md +0 -37
- package/skills/github-actions/SKILL.md +0 -262
- package/skills/github-actions/references/templates.md +0 -65
- package/skills/github-commander/SKILL.md +0 -144
- package/skills/github-commander/config/project-config.example.md +0 -125
- package/skills/github-commander/workflows/code-quality-audit.md +0 -82
- package/skills/github-commander/workflows/copilot-audit.md +0 -50
- package/skills/github-commander/workflows/issue-triage.md +0 -248
- package/skills/github-commander/workflows/milestone-sprint.md +0 -89
- package/skills/github-commander/workflows/perf-audit.md +0 -144
- package/skills/github-commander/workflows/pr-review.md +0 -129
- package/skills/github-commander/workflows/roadmap-kickoff.md +0 -79
- package/skills/github-commander/workflows/security-audit.md +0 -170
- package/skills/github-commander/workflows/update-deps.md +0 -109
- package/skills/github-copilot-cli/SKILL.md +0 -59
- package/skills/github-repo-setup/SKILL.md +0 -136
- package/skills/github-repo-setup/references/community-standards.md +0 -136
- package/skills/github-repo-setup/references/github-automation.md +0 -490
- package/skills/github-repo-setup/references/inline-templates.md +0 -205
- package/skills/github-repo-setup/references/project-config.md +0 -320
- package/skills/gitlab/SKILL.md +0 -120
- package/skills/gitlab/package-lock.json +0 -392
- package/skills/gitlab/package.json +0 -14
- package/skills/gitlab/scripts/gitlab-client.ts +0 -125
- package/skills/gitlab/scripts/gitlab-helper.ts +0 -80
- package/skills/golang/SKILL.md +0 -61
- package/skills/graphql/SKILL.md +0 -30
- package/skills/hono/SKILL.md +0 -82
- package/skills/journal-optimizer/SKILL.md +0 -206
- package/skills/journal-optimizer/references/optimizer-scripts.md +0 -169
- package/skills/llm-app-engineering/SKILL.md +0 -18
- package/skills/monorepo/SKILL.md +0 -56
- package/skills/multi-agent-orchestration/SKILL.md +0 -14
- package/skills/mysql/SKILL.md +0 -34
- package/skills/next-best-practices/README.md +0 -127
- package/skills/next-best-practices/SKILL.md +0 -86
- package/skills/next-best-practices/metadata.json +0 -17
- package/skills/next-best-practices/references/cache-components-examples.md +0 -234
- package/skills/next-best-practices/references/cache-components.md +0 -210
- package/skills/next-best-practices/references/upgrade-decision-tree.md +0 -33
- package/skills/next-best-practices/references/upgrade.md +0 -43
- package/skills/next-best-practices/rules/_sections.md +0 -46
- package/skills/next-best-practices/rules/_template.md +0 -28
- package/skills/next-best-practices/rules/advanced-event-handler-refs.md +0 -55
- package/skills/next-best-practices/rules/advanced-init-once.md +0 -42
- package/skills/next-best-practices/rules/advanced-use-latest.md +0 -39
- package/skills/next-best-practices/rules/async-api-routes.md +0 -35
- package/skills/next-best-practices/rules/async-defer-await.md +0 -80
- package/skills/next-best-practices/rules/async-dependencies.md +0 -48
- package/skills/next-best-practices/rules/async-parallel.md +0 -24
- package/skills/next-best-practices/rules/async-suspense-boundaries.md +0 -99
- package/skills/next-best-practices/rules/bundle-barrel-imports.md +0 -59
- package/skills/next-best-practices/rules/bundle-conditional.md +0 -37
- package/skills/next-best-practices/rules/bundle-defer-third-party.md +0 -48
- package/skills/next-best-practices/rules/bundle-dynamic-imports.md +0 -34
- package/skills/next-best-practices/rules/bundle-preload.md +0 -44
- package/skills/next-best-practices/rules/client-event-listeners.md +0 -78
- package/skills/next-best-practices/rules/client-localstorage-schema.md +0 -74
- package/skills/next-best-practices/rules/client-passive-event-listeners.md +0 -48
- package/skills/next-best-practices/rules/client-swr-dedup.md +0 -56
- package/skills/next-best-practices/rules/js-batch-dom-css.md +0 -110
- package/skills/next-best-practices/rules/js-cache-function-results.md +0 -80
- package/skills/next-best-practices/rules/js-cache-property-access.md +0 -28
- package/skills/next-best-practices/rules/js-cache-storage.md +0 -68
- package/skills/next-best-practices/rules/js-combine-iterations.md +0 -32
- package/skills/next-best-practices/rules/js-early-exit.md +0 -50
- package/skills/next-best-practices/rules/js-hoist-regexp.md +0 -45
- package/skills/next-best-practices/rules/js-index-maps.md +0 -37
- package/skills/next-best-practices/rules/js-length-check-first.md +0 -50
- package/skills/next-best-practices/rules/js-min-max-loop.md +0 -82
- package/skills/next-best-practices/rules/js-set-map-lookups.md +0 -24
- package/skills/next-best-practices/rules/js-tosorted-immutable.md +0 -57
- package/skills/next-best-practices/rules/rendering-activity.md +0 -24
- package/skills/next-best-practices/rules/rendering-animate-svg-wrapper.md +0 -38
- package/skills/next-best-practices/rules/rendering-conditional-render.md +0 -32
- package/skills/next-best-practices/rules/rendering-content-visibility.md +0 -38
- package/skills/next-best-practices/rules/rendering-hoist-jsx.md +0 -36
- package/skills/next-best-practices/rules/rendering-hydration-no-flicker.md +0 -72
- package/skills/next-best-practices/rules/rendering-hydration-suppress-warning.md +0 -26
- package/skills/next-best-practices/rules/rendering-svg-precision.md +0 -28
- package/skills/next-best-practices/rules/rendering-usetransition-loading.md +0 -75
- package/skills/next-best-practices/rules/rerender-defer-reads.md +0 -39
- package/skills/next-best-practices/rules/rerender-dependencies.md +0 -45
- package/skills/next-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
- package/skills/next-best-practices/rules/rerender-derived-state.md +0 -29
- package/skills/next-best-practices/rules/rerender-functional-setstate.md +0 -77
- package/skills/next-best-practices/rules/rerender-lazy-state-init.md +0 -56
- package/skills/next-best-practices/rules/rerender-memo-with-default-value.md +0 -36
- package/skills/next-best-practices/rules/rerender-memo.md +0 -44
- package/skills/next-best-practices/rules/rerender-move-effect-to-event.md +0 -45
- package/skills/next-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
- package/skills/next-best-practices/rules/rerender-transitions.md +0 -40
- package/skills/next-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
- package/skills/next-best-practices/rules/server-after-nonblocking.md +0 -73
- package/skills/next-best-practices/rules/server-auth-actions.md +0 -96
- package/skills/next-best-practices/rules/server-cache-lru.md +0 -41
- package/skills/next-best-practices/rules/server-cache-react.md +0 -76
- package/skills/next-best-practices/rules/server-dedup-props.md +0 -65
- package/skills/next-best-practices/rules/server-parallel-fetching.md +0 -83
- package/skills/next-best-practices/rules/server-serialization.md +0 -38
- package/skills/next-cache-components/SKILL.md +0 -441
- package/skills/next-upgrade/SKILL.md +0 -43
- package/skills/next-upgrade/references/decision-tree.md +0 -33
- package/skills/nodejs/SKILL.md +0 -46
- package/skills/opentelemetry/SKILL.md +0 -62
- package/skills/package.json +0 -89
- package/skills/playwright-standard/SKILL.md +0 -53
- package/skills/playwright-standard/examples/fixtures.ts +0 -66
- package/skills/playwright-standard/examples/type-stubs.d.ts +0 -10
- package/skills/playwright-standard/references/advanced-scenarios.md +0 -59
- package/skills/playwright-standard/references/infrastructure.md +0 -43
- package/skills/playwright-standard/references/locators.md +0 -7
- package/skills/postgres/SKILL.md +0 -38
- package/skills/python/SKILL.md +0 -195
- package/skills/python/references/advanced-patterns.md +0 -37
- package/skills/python/references/config-templates.md +0 -48
- package/skills/rag-pipelines/SKILL.md +0 -14
- package/skills/redis/SKILL.md +0 -31
- package/skills/render/SKILL.md +0 -35
- package/skills/rust/SKILL.md +0 -76
- package/skills/rust/references/borrow-checker.md +0 -13
- package/skills/rust/references/ecosystem.md +0 -11
- package/skills/sandbox-sdk/SKILL.md +0 -186
- package/skills/sandbox-sdk/references/api-quick-ref.md +0 -113
- package/skills/sandbox-sdk/references/examples.md +0 -52
- package/skills/shadcn-ui/SKILL.md +0 -37
- package/skills/skill-builder/SKILL.md +0 -56
- package/skills/skill-builder/checklist.md +0 -65
- package/skills/skill-builder/references/tutorial.md +0 -457
- package/skills/sqlite/SKILL.md +0 -49
- package/skills/table.md +0 -59
- package/skills/tailwind-css/SKILL.md +0 -219
- package/skills/tailwind-css/references/component-patterns.md +0 -52
- package/skills/trpc/SKILL.md +0 -56
- package/skills/typescript/SKILL.md +0 -50
- package/skills/typescript/assets/eslint-template.js +0 -102
- package/skills/typescript/assets/tsconfig-template.json +0 -45
- package/skills/typescript/references/enterprise-patterns.md +0 -531
- package/skills/typescript/references/generics.md +0 -493
- package/skills/typescript/references/nestjs-integration.md +0 -579
- package/skills/typescript/references/react-integration.md +0 -616
- package/skills/typescript/references/toolchain.md +0 -547
- package/skills/typescript/references/tutorial.md +0 -453
- package/skills/typescript/references/type-system.md +0 -481
- package/skills/vercel-ai-sdk/SKILL.md +0 -48
- package/skills/vitest-standard/SKILL.md +0 -76
- package/skills/vitest-standard/examples/service-mock.ts +0 -60
- package/skills/vitest-standard/examples/tdd-calculator.ts +0 -41
- package/skills/vitest-standard/examples/type-stubs.d.ts +0 -18
- package/skills/vitest-standard/references/assertions.md +0 -11
- package/skills/vitest-standard/references/async-and-errors.md +0 -58
- package/skills/vitest-standard/references/coverage-and-config.md +0 -53
- package/skills/vitest-standard/references/mocking.md +0 -61
- package/skills/vitest-standard/references/tdd-patterns.md +0 -60
- package/skills/web-perf/SKILL.md +0 -207
- package/skills/workers-best-practices/SKILL.md +0 -120
- package/skills/workers-best-practices/references/anti-patterns.md +0 -18
- package/skills/workers-best-practices/references/review.md +0 -174
- package/skills/workers-best-practices/references/rules.md +0 -485
- package/skills/wrangler/SKILL.md +0 -43
- package/skills/wrangler/references/cli-commands.md +0 -861
- package/skills/zod/SKILL.md +0 -48
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use useTransition Over Manual Loading States
|
|
3
|
-
impact: LOW
|
|
4
|
-
impactDescription: reduces re-renders and improves code clarity
|
|
5
|
-
tags: rendering, transitions, useTransition, loading, state
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use useTransition Over Manual Loading States
|
|
9
|
-
|
|
10
|
-
Use `useTransition` instead of manual `useState` for loading states. This provides built-in `isPending` state and automatically manages transitions.
|
|
11
|
-
|
|
12
|
-
**Incorrect (manual loading state):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function SearchResults() {
|
|
16
|
-
const [query, setQuery] = useState('')
|
|
17
|
-
const [results, setResults] = useState([])
|
|
18
|
-
const [isLoading, setIsLoading] = useState(false)
|
|
19
|
-
|
|
20
|
-
const handleSearch = async (value: string) => {
|
|
21
|
-
setIsLoading(true)
|
|
22
|
-
setQuery(value)
|
|
23
|
-
const data = await fetchResults(value)
|
|
24
|
-
setResults(data)
|
|
25
|
-
setIsLoading(false)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return (
|
|
29
|
-
<>
|
|
30
|
-
<input onChange={(e) => handleSearch(e.target.value)} />
|
|
31
|
-
{isLoading && <Spinner />}
|
|
32
|
-
<ResultsList results={results} />
|
|
33
|
-
</>
|
|
34
|
-
)
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**Correct (useTransition with built-in pending state):**
|
|
39
|
-
|
|
40
|
-
```tsx
|
|
41
|
-
import { useTransition, useState } from 'react'
|
|
42
|
-
|
|
43
|
-
function SearchResults() {
|
|
44
|
-
const [query, setQuery] = useState('')
|
|
45
|
-
const [results, setResults] = useState([])
|
|
46
|
-
const [isPending, startTransition] = useTransition()
|
|
47
|
-
|
|
48
|
-
const handleSearch = (value: string) => {
|
|
49
|
-
setQuery(value) // Update input immediately
|
|
50
|
-
|
|
51
|
-
startTransition(async () => {
|
|
52
|
-
// Fetch and update results
|
|
53
|
-
const data = await fetchResults(value)
|
|
54
|
-
setResults(data)
|
|
55
|
-
})
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return (
|
|
59
|
-
<>
|
|
60
|
-
<input onChange={(e) => handleSearch(e.target.value)} />
|
|
61
|
-
{isPending && <Spinner />}
|
|
62
|
-
<ResultsList results={results} />
|
|
63
|
-
</>
|
|
64
|
-
)
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**Benefits:**
|
|
69
|
-
|
|
70
|
-
- **Automatic pending state**: No need to manually manage `setIsLoading(true/false)`
|
|
71
|
-
- **Error resilience**: Pending state correctly resets even if the transition throws
|
|
72
|
-
- **Better responsiveness**: Keeps the UI responsive during updates
|
|
73
|
-
- **Interrupt handling**: New transitions automatically cancel pending ones
|
|
74
|
-
|
|
75
|
-
Reference: [useTransition](https://react.dev/reference/react/useTransition)
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Defer State Reads to Usage Point
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: avoids unnecessary subscriptions
|
|
5
|
-
tags: rerender, searchParams, localStorage, optimization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Defer State Reads to Usage Point
|
|
9
|
-
|
|
10
|
-
Don't subscribe to dynamic state (searchParams, localStorage) if you only read it inside callbacks.
|
|
11
|
-
|
|
12
|
-
**Incorrect (subscribes to all searchParams changes):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function ShareButton({ chatId }: { chatId: string }) {
|
|
16
|
-
const searchParams = useSearchParams()
|
|
17
|
-
|
|
18
|
-
const handleShare = () => {
|
|
19
|
-
const ref = searchParams.get('ref')
|
|
20
|
-
shareChat(chatId, { ref })
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return <button onClick={handleShare}>Share</button>
|
|
24
|
-
}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
**Correct (reads on demand, no subscription):**
|
|
28
|
-
|
|
29
|
-
```tsx
|
|
30
|
-
function ShareButton({ chatId }: { chatId: string }) {
|
|
31
|
-
const handleShare = () => {
|
|
32
|
-
const params = new URLSearchParams(window.location.search)
|
|
33
|
-
const ref = params.get('ref')
|
|
34
|
-
shareChat(chatId, { ref })
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return <button onClick={handleShare}>Share</button>
|
|
38
|
-
}
|
|
39
|
-
```
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Narrow Effect Dependencies
|
|
3
|
-
impact: LOW
|
|
4
|
-
impactDescription: minimizes effect re-runs
|
|
5
|
-
tags: rerender, useEffect, dependencies, optimization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Narrow Effect Dependencies
|
|
9
|
-
|
|
10
|
-
Specify primitive dependencies instead of objects to minimize effect re-runs.
|
|
11
|
-
|
|
12
|
-
**Incorrect (re-runs on any user field change):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
useEffect(() => {
|
|
16
|
-
console.log(user.id)
|
|
17
|
-
}, [user])
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**Correct (re-runs only when id changes):**
|
|
21
|
-
|
|
22
|
-
```tsx
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
console.log(user.id)
|
|
25
|
-
}, [user.id])
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**For derived state, compute outside effect:**
|
|
29
|
-
|
|
30
|
-
```tsx
|
|
31
|
-
// Incorrect: runs on width=767, 766, 765...
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
if (width < 768) {
|
|
34
|
-
enableMobileMode()
|
|
35
|
-
}
|
|
36
|
-
}, [width])
|
|
37
|
-
|
|
38
|
-
// Correct: runs only on boolean transition
|
|
39
|
-
const isMobile = width < 768
|
|
40
|
-
useEffect(() => {
|
|
41
|
-
if (isMobile) {
|
|
42
|
-
enableMobileMode()
|
|
43
|
-
}
|
|
44
|
-
}, [isMobile])
|
|
45
|
-
```
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Calculate Derived State During Rendering
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: avoids redundant renders and state drift
|
|
5
|
-
tags: rerender, derived-state, useEffect, state
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Calculate Derived State During Rendering
|
|
9
|
-
|
|
10
|
-
If a value can be computed from current props/state, do not store it in state or update it in an effect. Derive it during render to avoid extra renders and state drift. Do not set state in effects solely in response to prop changes; prefer derived values or keyed resets instead.
|
|
11
|
-
|
|
12
|
-
**Incorrect (redundant state and effect):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Form() {
|
|
16
|
-
const [firstName, setFirstName] = useState('First')
|
|
17
|
-
const [lastName, setLastName] = useState('Last')
|
|
18
|
-
const [fullName, setFullName] = useState('')
|
|
19
|
-
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
setFullName(firstName + ' ' + lastName)
|
|
22
|
-
}, [firstName, lastName])
|
|
23
|
-
|
|
24
|
-
return <p>{fullName}</p>
|
|
25
|
-
}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Correct (derive during render):**
|
|
29
|
-
|
|
30
|
-
```tsx
|
|
31
|
-
function Form() {
|
|
32
|
-
const [firstName, setFirstName] = useState('First')
|
|
33
|
-
const [lastName, setLastName] = useState('Last')
|
|
34
|
-
const fullName = firstName + ' ' + lastName
|
|
35
|
-
|
|
36
|
-
return <p>{fullName}</p>
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
References: [You Might Not Need an Effect](https://react.dev/learn/you-might-not-need-an-effect)
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Subscribe to Derived State
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: reduces re-render frequency
|
|
5
|
-
tags: rerender, derived-state, media-query, optimization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Subscribe to Derived State
|
|
9
|
-
|
|
10
|
-
Subscribe to derived boolean state instead of continuous values to reduce re-render frequency.
|
|
11
|
-
|
|
12
|
-
**Incorrect (re-renders on every pixel change):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Sidebar() {
|
|
16
|
-
const width = useWindowWidth() // updates continuously
|
|
17
|
-
const isMobile = width < 768
|
|
18
|
-
return <nav className={isMobile ? 'mobile' : 'desktop'} />
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
**Correct (re-renders only when boolean changes):**
|
|
23
|
-
|
|
24
|
-
```tsx
|
|
25
|
-
function Sidebar() {
|
|
26
|
-
const isMobile = useMediaQuery('(max-width: 767px)')
|
|
27
|
-
return <nav className={isMobile ? 'mobile' : 'desktop'} />
|
|
28
|
-
}
|
|
29
|
-
```
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use Functional setState Updates
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: prevents stale closures and unnecessary callback recreations
|
|
5
|
-
tags: react, hooks, useState, useCallback, callbacks, closures
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use Functional setState Updates
|
|
9
|
-
|
|
10
|
-
When updating state based on the current state value, use the functional update form of setState instead of directly referencing the state variable. This prevents stale closures, eliminates unnecessary dependencies, and creates stable callback references.
|
|
11
|
-
|
|
12
|
-
**Incorrect (requires state as dependency):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function TodoList() {
|
|
16
|
-
const [items, setItems] = useState(initialItems)
|
|
17
|
-
|
|
18
|
-
// Callback must depend on items, recreated on every items change
|
|
19
|
-
const addItems = useCallback(
|
|
20
|
-
(newItems: Item[]) => {
|
|
21
|
-
setItems([...items, ...newItems])
|
|
22
|
-
},
|
|
23
|
-
[items]
|
|
24
|
-
) // ❌ items dependency causes recreations
|
|
25
|
-
|
|
26
|
-
// Risk of stale closure if dependency is forgotten
|
|
27
|
-
const removeItem = useCallback((id: string) => {
|
|
28
|
-
setItems(items.filter((item) => item.id !== id))
|
|
29
|
-
}, []) // ❌ Missing items dependency - will use stale items!
|
|
30
|
-
|
|
31
|
-
return <ItemsEditor items={items} onAdd={addItems} onRemove={removeItem} />
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
The first callback is recreated every time `items` changes, which can cause child components to re-render unnecessarily. The second callback has a stale closure bug—it will always reference the initial `items` value.
|
|
36
|
-
|
|
37
|
-
**Correct (stable callbacks, no stale closures):**
|
|
38
|
-
|
|
39
|
-
```tsx
|
|
40
|
-
function TodoList() {
|
|
41
|
-
const [items, setItems] = useState(initialItems)
|
|
42
|
-
|
|
43
|
-
// Stable callback, never recreated
|
|
44
|
-
const addItems = useCallback((newItems: Item[]) => {
|
|
45
|
-
setItems((curr) => [...curr, ...newItems])
|
|
46
|
-
}, []) // ✅ No dependencies needed
|
|
47
|
-
|
|
48
|
-
// Always uses latest state, no stale closure risk
|
|
49
|
-
const removeItem = useCallback((id: string) => {
|
|
50
|
-
setItems((curr) => curr.filter((item) => item.id !== id))
|
|
51
|
-
}, []) // ✅ Safe and stable
|
|
52
|
-
|
|
53
|
-
return <ItemsEditor items={items} onAdd={addItems} onRemove={removeItem} />
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**Benefits:**
|
|
58
|
-
|
|
59
|
-
1. **Stable callback references** - Callbacks don't need to be recreated when state changes
|
|
60
|
-
2. **No stale closures** - Always operates on the latest state value
|
|
61
|
-
3. **Fewer dependencies** - Simplifies dependency arrays and reduces memory leaks
|
|
62
|
-
4. **Prevents bugs** - Eliminates the most common source of React closure bugs
|
|
63
|
-
|
|
64
|
-
**When to use functional updates:**
|
|
65
|
-
|
|
66
|
-
- Any setState that depends on the current state value
|
|
67
|
-
- Inside useCallback/useMemo when state is needed
|
|
68
|
-
- Event handlers that reference state
|
|
69
|
-
- Async operations that update state
|
|
70
|
-
|
|
71
|
-
**When direct updates are fine:**
|
|
72
|
-
|
|
73
|
-
- Setting state to a static value: `setCount(0)`
|
|
74
|
-
- Setting state from props/arguments only: `setName(newName)`
|
|
75
|
-
- State doesn't depend on previous value
|
|
76
|
-
|
|
77
|
-
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler can automatically optimize some cases, but functional updates are still recommended for correctness and to prevent stale closure bugs.
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use Lazy State Initialization
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: wasted computation on every render
|
|
5
|
-
tags: react, hooks, useState, performance, initialization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use Lazy State Initialization
|
|
9
|
-
|
|
10
|
-
Pass a function to `useState` for expensive initial values. Without the function form, the initializer runs on every render even though the value is only used once.
|
|
11
|
-
|
|
12
|
-
**Incorrect (runs on every render):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function FilteredList({ items }: { items: Item[] }) {
|
|
16
|
-
// buildSearchIndex() runs on EVERY render, even after initialization
|
|
17
|
-
const [searchIndex, setSearchIndex] = useState(buildSearchIndex(items))
|
|
18
|
-
const [query, setQuery] = useState('')
|
|
19
|
-
|
|
20
|
-
// When query changes, buildSearchIndex runs again unnecessarily
|
|
21
|
-
return <SearchResults index={searchIndex} query={query} />
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function UserProfile() {
|
|
25
|
-
// JSON.parse runs on every render
|
|
26
|
-
const [settings, setSettings] = useState(JSON.parse(localStorage.getItem('settings') || '{}'))
|
|
27
|
-
|
|
28
|
-
return <SettingsForm settings={settings} onChange={setSettings} />
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Correct (runs only once):**
|
|
33
|
-
|
|
34
|
-
```tsx
|
|
35
|
-
function FilteredList({ items }: { items: Item[] }) {
|
|
36
|
-
// buildSearchIndex() runs ONLY on initial render
|
|
37
|
-
const [searchIndex, setSearchIndex] = useState(() => buildSearchIndex(items))
|
|
38
|
-
const [query, setQuery] = useState('')
|
|
39
|
-
|
|
40
|
-
return <SearchResults index={searchIndex} query={query} />
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function UserProfile() {
|
|
44
|
-
// JSON.parse runs only on initial render
|
|
45
|
-
const [settings, setSettings] = useState(() => {
|
|
46
|
-
const stored = localStorage.getItem('settings')
|
|
47
|
-
return stored ? JSON.parse(stored) : {}
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
return <SettingsForm settings={settings} onChange={setSettings} />
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Use lazy initialization when computing initial values from localStorage/sessionStorage, building data structures (indexes, maps), reading from the DOM, or performing heavy transformations.
|
|
55
|
-
|
|
56
|
-
For simple primitives (`useState(0)`), direct references (`useState(props.value)`), or cheap literals (`useState({})`), the function form is unnecessary.
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Extract Default Non-primitive Parameter Value from Memoized Component to Constant
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: restores memoization by using a constant for default value
|
|
5
|
-
tags: rerender, memo, optimization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Extract Default Non-primitive Parameter Value from Memoized Component to Constant
|
|
9
|
-
|
|
10
|
-
When memoized component has a default value for some non-primitive optional parameter, such as an array, function, or object, calling the component without that parameter results in broken memoization. This is because new value instances are created on every rerender, and they do not pass strict equality comparison in `memo()`.
|
|
11
|
-
|
|
12
|
-
To address this issue, extract the default value into a constant.
|
|
13
|
-
|
|
14
|
-
**Incorrect (`onClick` has different values on every rerender):**
|
|
15
|
-
|
|
16
|
-
```tsx
|
|
17
|
-
const UserAvatar = memo(function UserAvatar({ onClick = () => {} }: { onClick?: () => void }) {
|
|
18
|
-
// ...
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
// Used without optional onClick
|
|
22
|
-
<UserAvatar />
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Correct (stable default value):**
|
|
26
|
-
|
|
27
|
-
```tsx
|
|
28
|
-
const NOOP = () => {};
|
|
29
|
-
|
|
30
|
-
const UserAvatar = memo(function UserAvatar({ onClick = NOOP }: { onClick?: () => void }) {
|
|
31
|
-
// ...
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
// Used without optional onClick
|
|
35
|
-
<UserAvatar />
|
|
36
|
-
```
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Extract to Memoized Components
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: enables early returns
|
|
5
|
-
tags: rerender, memo, useMemo, optimization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Extract to Memoized Components
|
|
9
|
-
|
|
10
|
-
Extract expensive work into memoized components to enable early returns before computation.
|
|
11
|
-
|
|
12
|
-
**Incorrect (computes avatar even when loading):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Profile({ user, loading }: Props) {
|
|
16
|
-
const avatar = useMemo(() => {
|
|
17
|
-
const id = computeAvatarId(user)
|
|
18
|
-
return <Avatar id={id} />
|
|
19
|
-
}, [user])
|
|
20
|
-
|
|
21
|
-
if (loading) return <Skeleton />
|
|
22
|
-
return <div>{avatar}</div>
|
|
23
|
-
}
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
**Correct (skips computation when loading):**
|
|
27
|
-
|
|
28
|
-
```tsx
|
|
29
|
-
const UserAvatar = memo(function UserAvatar({ user }: { user: User }) {
|
|
30
|
-
const id = useMemo(() => computeAvatarId(user), [user])
|
|
31
|
-
return <Avatar id={id} />
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
function Profile({ user, loading }: Props) {
|
|
35
|
-
if (loading) return <Skeleton />
|
|
36
|
-
return (
|
|
37
|
-
<div>
|
|
38
|
-
<UserAvatar user={user} />
|
|
39
|
-
</div>
|
|
40
|
-
)
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Put Interaction Logic in Event Handlers
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: avoids effect re-runs and duplicate side effects
|
|
5
|
-
tags: rerender, useEffect, events, side-effects, dependencies
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Put Interaction Logic in Event Handlers
|
|
9
|
-
|
|
10
|
-
If a side effect is triggered by a specific user action (submit, click, drag), run it in that event handler. Do not model the action as state + effect; it makes effects re-run on unrelated changes and can duplicate the action.
|
|
11
|
-
|
|
12
|
-
**Incorrect (event modeled as state + effect):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Form() {
|
|
16
|
-
const [submitted, setSubmitted] = useState(false)
|
|
17
|
-
const theme = useContext(ThemeContext)
|
|
18
|
-
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
if (submitted) {
|
|
21
|
-
post('/api/register')
|
|
22
|
-
showToast('Registered', theme)
|
|
23
|
-
}
|
|
24
|
-
}, [submitted, theme])
|
|
25
|
-
|
|
26
|
-
return <button onClick={() => setSubmitted(true)}>Submit</button>
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**Correct (do it in the handler):**
|
|
31
|
-
|
|
32
|
-
```tsx
|
|
33
|
-
function Form() {
|
|
34
|
-
const theme = useContext(ThemeContext)
|
|
35
|
-
|
|
36
|
-
function handleSubmit() {
|
|
37
|
-
post('/api/register')
|
|
38
|
-
showToast('Registered', theme)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return <button onClick={handleSubmit}>Submit</button>
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Reference: [Should this code move to an event handler?](https://react.dev/learn/removing-effect-dependencies#should-this-code-move-to-an-event-handler)
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Do not wrap a simple expression with a primitive result type in useMemo
|
|
3
|
-
impact: LOW-MEDIUM
|
|
4
|
-
impactDescription: wasted computation on every render
|
|
5
|
-
tags: rerender, useMemo, optimization
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Do not wrap a simple expression with a primitive result type in useMemo
|
|
9
|
-
|
|
10
|
-
When an expression is simple (few logical or arithmetical operators) and has a primitive result type (boolean, number, string), do not wrap it in `useMemo`.
|
|
11
|
-
Calling `useMemo` and comparing hook dependencies may consume more resources than the expression itself.
|
|
12
|
-
|
|
13
|
-
**Incorrect:**
|
|
14
|
-
|
|
15
|
-
```tsx
|
|
16
|
-
function Header({ user, notifications }: Props) {
|
|
17
|
-
const isLoading = useMemo(() => {
|
|
18
|
-
return user.isLoading || notifications.isLoading
|
|
19
|
-
}, [user.isLoading, notifications.isLoading])
|
|
20
|
-
|
|
21
|
-
if (isLoading) return <Skeleton />
|
|
22
|
-
// return some markup
|
|
23
|
-
}
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
**Correct:**
|
|
27
|
-
|
|
28
|
-
```tsx
|
|
29
|
-
function Header({ user, notifications }: Props) {
|
|
30
|
-
const isLoading = user.isLoading || notifications.isLoading
|
|
31
|
-
|
|
32
|
-
if (isLoading) return <Skeleton />
|
|
33
|
-
// return some markup
|
|
34
|
-
}
|
|
35
|
-
```
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use Transitions for Non-Urgent Updates
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: maintains UI responsiveness
|
|
5
|
-
tags: rerender, transitions, startTransition, performance
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use Transitions for Non-Urgent Updates
|
|
9
|
-
|
|
10
|
-
Mark frequent, non-urgent state updates as transitions to maintain UI responsiveness.
|
|
11
|
-
|
|
12
|
-
**Incorrect (blocks UI on every scroll):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function ScrollTracker() {
|
|
16
|
-
const [scrollY, setScrollY] = useState(0)
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
const handler = () => setScrollY(window.scrollY)
|
|
19
|
-
window.addEventListener('scroll', handler, { passive: true })
|
|
20
|
-
return () => window.removeEventListener('scroll', handler)
|
|
21
|
-
}, [])
|
|
22
|
-
}
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Correct (non-blocking updates):**
|
|
26
|
-
|
|
27
|
-
```tsx
|
|
28
|
-
import { startTransition } from 'react'
|
|
29
|
-
|
|
30
|
-
function ScrollTracker() {
|
|
31
|
-
const [scrollY, setScrollY] = useState(0)
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
const handler = () => {
|
|
34
|
-
startTransition(() => setScrollY(window.scrollY))
|
|
35
|
-
}
|
|
36
|
-
window.addEventListener('scroll', handler, { passive: true })
|
|
37
|
-
return () => window.removeEventListener('scroll', handler)
|
|
38
|
-
}, [])
|
|
39
|
-
}
|
|
40
|
-
```
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Use useRef for Transient Values
|
|
3
|
-
impact: MEDIUM
|
|
4
|
-
impactDescription: avoids unnecessary re-renders on frequent updates
|
|
5
|
-
tags: rerender, useref, state, performance
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Use useRef for Transient Values
|
|
9
|
-
|
|
10
|
-
When a value changes frequently and you don't want a re-render on every update (e.g., mouse trackers, intervals, transient flags), store it in `useRef` instead of `useState`. Keep component state for UI; use refs for temporary DOM-adjacent values. Updating a ref does not trigger a re-render.
|
|
11
|
-
|
|
12
|
-
**Incorrect (renders every update):**
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
function Tracker() {
|
|
16
|
-
const [lastX, setLastX] = useState(0)
|
|
17
|
-
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
const onMove = (e: MouseEvent) => setLastX(e.clientX)
|
|
20
|
-
window.addEventListener('mousemove', onMove)
|
|
21
|
-
return () => window.removeEventListener('mousemove', onMove)
|
|
22
|
-
}, [])
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<div
|
|
26
|
-
style={{
|
|
27
|
-
position: 'fixed',
|
|
28
|
-
top: 0,
|
|
29
|
-
left: lastX,
|
|
30
|
-
width: 8,
|
|
31
|
-
height: 8,
|
|
32
|
-
background: 'black',
|
|
33
|
-
}}
|
|
34
|
-
/>
|
|
35
|
-
)
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
**Correct (no re-render for tracking):**
|
|
40
|
-
|
|
41
|
-
```tsx
|
|
42
|
-
function Tracker() {
|
|
43
|
-
const lastXRef = useRef(0)
|
|
44
|
-
const dotRef = useRef<HTMLDivElement>(null)
|
|
45
|
-
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
const onMove = (e: MouseEvent) => {
|
|
48
|
-
lastXRef.current = e.clientX
|
|
49
|
-
const node = dotRef.current
|
|
50
|
-
if (node) {
|
|
51
|
-
node.style.transform = `translateX(${e.clientX}px)`
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
window.addEventListener('mousemove', onMove)
|
|
55
|
-
return () => window.removeEventListener('mousemove', onMove)
|
|
56
|
-
}, [])
|
|
57
|
-
|
|
58
|
-
return (
|
|
59
|
-
<div
|
|
60
|
-
ref={dotRef}
|
|
61
|
-
style={{
|
|
62
|
-
position: 'fixed',
|
|
63
|
-
top: 0,
|
|
64
|
-
left: 0,
|
|
65
|
-
width: 8,
|
|
66
|
-
height: 8,
|
|
67
|
-
background: 'black',
|
|
68
|
-
transform: 'translateX(0px)',
|
|
69
|
-
}}
|
|
70
|
-
/>
|
|
71
|
-
)
|
|
72
|
-
}
|
|
73
|
-
```
|