zilmate 1.7.8 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/agent-browser/SKILL.md +55 -0
- package/.agents/skills/agentmail/SKILL.md +282 -0
- package/.agents/skills/agentmail/references/webhooks.md +220 -0
- package/.agents/skills/agentmail/references/websockets.md +263 -0
- package/.agents/skills/ai-elements/SKILL.md +160 -0
- package/.agents/skills/ai-elements/references/agent.md +134 -0
- package/.agents/skills/ai-elements/references/artifact.md +84 -0
- package/.agents/skills/ai-elements/references/attachments.md +190 -0
- package/.agents/skills/ai-elements/references/audio-player.md +134 -0
- package/.agents/skills/ai-elements/references/canvas.md +34 -0
- package/.agents/skills/ai-elements/references/chain-of-thought.md +81 -0
- package/.agents/skills/ai-elements/references/checkpoint.md +183 -0
- package/.agents/skills/ai-elements/references/code-block.md +170 -0
- package/.agents/skills/ai-elements/references/commit.md +177 -0
- package/.agents/skills/ai-elements/references/confirmation.md +262 -0
- package/.agents/skills/ai-elements/references/connection.md +34 -0
- package/.agents/skills/ai-elements/references/context.md +126 -0
- package/.agents/skills/ai-elements/references/controls.md +32 -0
- package/.agents/skills/ai-elements/references/conversation.md +224 -0
- package/.agents/skills/ai-elements/references/edge.md +52 -0
- package/.agents/skills/ai-elements/references/environment-variables.md +102 -0
- package/.agents/skills/ai-elements/references/file-tree.md +72 -0
- package/.agents/skills/ai-elements/references/image.md +146 -0
- package/.agents/skills/ai-elements/references/inline-citation.md +299 -0
- package/.agents/skills/ai-elements/references/jsx-preview.md +104 -0
- package/.agents/skills/ai-elements/references/message.md +237 -0
- package/.agents/skills/ai-elements/references/mic-selector.md +189 -0
- package/.agents/skills/ai-elements/references/model-selector.md +112 -0
- package/.agents/skills/ai-elements/references/node.md +73 -0
- package/.agents/skills/ai-elements/references/open-in-chat.md +67 -0
- package/.agents/skills/ai-elements/references/package-info.md +95 -0
- package/.agents/skills/ai-elements/references/panel.md +33 -0
- package/.agents/skills/ai-elements/references/persona.md +166 -0
- package/.agents/skills/ai-elements/references/plan.md +79 -0
- package/.agents/skills/ai-elements/references/prompt-input.md +579 -0
- package/.agents/skills/ai-elements/references/queue.md +172 -0
- package/.agents/skills/ai-elements/references/reasoning.md +238 -0
- package/.agents/skills/ai-elements/references/sandbox.md +129 -0
- package/.agents/skills/ai-elements/references/schema-display.md +102 -0
- package/.agents/skills/ai-elements/references/shimmer.md +48 -0
- package/.agents/skills/ai-elements/references/snippet.md +64 -0
- package/.agents/skills/ai-elements/references/sources.md +209 -0
- package/.agents/skills/ai-elements/references/speech-input.md +163 -0
- package/.agents/skills/ai-elements/references/stack-trace.md +224 -0
- package/.agents/skills/ai-elements/references/suggestion.md +124 -0
- package/.agents/skills/ai-elements/references/task.md +222 -0
- package/.agents/skills/ai-elements/references/terminal.md +103 -0
- package/.agents/skills/ai-elements/references/test-results.md +157 -0
- package/.agents/skills/ai-elements/references/tool.md +285 -0
- package/.agents/skills/ai-elements/references/toolbar.md +32 -0
- package/.agents/skills/ai-elements/references/transcription.md +120 -0
- package/.agents/skills/ai-elements/references/voice-selector.md +241 -0
- package/.agents/skills/ai-elements/references/web-preview.md +200 -0
- package/.agents/skills/ai-elements/scripts/agent.tsx +61 -0
- package/.agents/skills/ai-elements/scripts/artifact.tsx +127 -0
- package/.agents/skills/ai-elements/scripts/attachments-inline.tsx +128 -0
- package/.agents/skills/ai-elements/scripts/attachments-list.tsx +95 -0
- package/.agents/skills/ai-elements/scripts/attachments.tsx +85 -0
- package/.agents/skills/ai-elements/scripts/audio-player-remote.tsx +35 -0
- package/.agents/skills/ai-elements/scripts/audio-player.tsx +68 -0
- package/.agents/skills/ai-elements/scripts/chain-of-thought.tsx +82 -0
- package/.agents/skills/ai-elements/scripts/checkpoint.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/code-block-dark.tsx +46 -0
- package/.agents/skills/ai-elements/scripts/code-block.tsx +120 -0
- package/.agents/skills/ai-elements/scripts/commit.tsx +94 -0
- package/.agents/skills/ai-elements/scripts/confirmation-accepted.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/confirmation-rejected.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/confirmation-request.tsx +54 -0
- package/.agents/skills/ai-elements/scripts/confirmation.tsx +55 -0
- package/.agents/skills/ai-elements/scripts/context.tsx +45 -0
- package/.agents/skills/ai-elements/scripts/conversation.tsx +177 -0
- package/.agents/skills/ai-elements/scripts/environment-variables.tsx +62 -0
- package/.agents/skills/ai-elements/scripts/file-tree-basic.tsx +18 -0
- package/.agents/skills/ai-elements/scripts/file-tree-expanded.tsx +21 -0
- package/.agents/skills/ai-elements/scripts/file-tree-selection.tsx +24 -0
- package/.agents/skills/ai-elements/scripts/file-tree.tsx +42 -0
- package/.agents/skills/ai-elements/scripts/image.tsx +20 -0
- package/.agents/skills/ai-elements/scripts/inline-citation.tsx +97 -0
- package/.agents/skills/ai-elements/scripts/jsx-preview.tsx +104 -0
- package/.agents/skills/ai-elements/scripts/message.tsx +365 -0
- package/.agents/skills/ai-elements/scripts/mic-selector.tsx +49 -0
- package/.agents/skills/ai-elements/scripts/model-selector.tsx +365 -0
- package/.agents/skills/ai-elements/scripts/open-in-chat.tsx +33 -0
- package/.agents/skills/ai-elements/scripts/package-info.tsx +51 -0
- package/.agents/skills/ai-elements/scripts/persona-command.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-glint.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-halo.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-mana.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-obsidian.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-opal.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/plan.tsx +65 -0
- package/.agents/skills/ai-elements/scripts/prompt-input-cursor.tsx +502 -0
- package/.agents/skills/ai-elements/scripts/prompt-input-tooltip.tsx +44 -0
- package/.agents/skills/ai-elements/scripts/prompt-input.tsx +267 -0
- package/.agents/skills/ai-elements/scripts/queue-prompt-input.tsx +394 -0
- package/.agents/skills/ai-elements/scripts/queue.tsx +295 -0
- package/.agents/skills/ai-elements/scripts/reasoning.tsx +71 -0
- package/.agents/skills/ai-elements/scripts/sandbox.tsx +178 -0
- package/.agents/skills/ai-elements/scripts/schema-display-basic.tsx +9 -0
- package/.agents/skills/ai-elements/scripts/schema-display-body.tsx +20 -0
- package/.agents/skills/ai-elements/scripts/schema-display-nested.tsx +23 -0
- package/.agents/skills/ai-elements/scripts/schema-display-params.tsx +16 -0
- package/.agents/skills/ai-elements/scripts/schema-display.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/shimmer-duration.tsx +31 -0
- package/.agents/skills/ai-elements/scripts/shimmer-elements.tsx +43 -0
- package/.agents/skills/ai-elements/scripts/shimmer.tsx +17 -0
- package/.agents/skills/ai-elements/scripts/snippet-plain.tsx +19 -0
- package/.agents/skills/ai-elements/scripts/snippet.tsx +25 -0
- package/.agents/skills/ai-elements/scripts/sources-custom.tsx +39 -0
- package/.agents/skills/ai-elements/scripts/sources.tsx +32 -0
- package/.agents/skills/ai-elements/scripts/speech-input.tsx +84 -0
- package/.agents/skills/ai-elements/scripts/stack-trace-collapsed.tsx +39 -0
- package/.agents/skills/ai-elements/scripts/stack-trace-no-internal.tsx +41 -0
- package/.agents/skills/ai-elements/scripts/stack-trace.tsx +58 -0
- package/.agents/skills/ai-elements/scripts/suggestion-input.tsx +144 -0
- package/.agents/skills/ai-elements/scripts/suggestion.tsx +32 -0
- package/.agents/skills/ai-elements/scripts/task.tsx +59 -0
- package/.agents/skills/ai-elements/scripts/terminal-basic.tsx +7 -0
- package/.agents/skills/ai-elements/scripts/terminal-clear.tsx +19 -0
- package/.agents/skills/ai-elements/scripts/terminal-streaming.tsx +38 -0
- package/.agents/skills/ai-elements/scripts/terminal.tsx +82 -0
- package/.agents/skills/ai-elements/scripts/test-results-basic.tsx +27 -0
- package/.agents/skills/ai-elements/scripts/test-results-errors.tsx +51 -0
- package/.agents/skills/ai-elements/scripts/test-results-suites.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/test-results.tsx +102 -0
- package/.agents/skills/ai-elements/scripts/tool-input-available.tsx +31 -0
- package/.agents/skills/ai-elements/scripts/tool-input-streaming.tsx +30 -0
- package/.agents/skills/ai-elements/scripts/tool-output-available.tsx +80 -0
- package/.agents/skills/ai-elements/scripts/tool-output-error.tsx +44 -0
- package/.agents/skills/ai-elements/scripts/tool.tsx +222 -0
- package/.agents/skills/ai-elements/scripts/transcription.tsx +290 -0
- package/.agents/skills/ai-elements/scripts/voice-selector.tsx +245 -0
- package/.agents/skills/ai-elements/scripts/web-preview.tsx +115 -0
- package/.agents/skills/ai-sdk/SKILL.md +78 -0
- package/.agents/skills/ai-sdk/references/ai-gateway.md +66 -0
- package/.agents/skills/ai-sdk/references/common-errors.md +443 -0
- package/.agents/skills/ai-sdk/references/devtools.md +52 -0
- package/.agents/skills/ai-sdk/references/type-safe-agents.md +204 -0
- package/.agents/skills/chat-sdk/SKILL.md +240 -0
- package/.agents/skills/composio/AGENTS.md +404 -0
- package/.agents/skills/composio/SKILL.md +55 -0
- package/.agents/skills/composio/rules/_template.md +38 -0
- package/.agents/skills/composio/rules/app-auth-configs.md +224 -0
- package/.agents/skills/composio/rules/app-auth-popup-ui.md +143 -0
- package/.agents/skills/composio/rules/app-connected-accounts.md +240 -0
- package/.agents/skills/composio/rules/app-custom-tools.md +220 -0
- package/.agents/skills/composio/rules/app-execute-tools.md +202 -0
- package/.agents/skills/composio/rules/app-fetch-tools.md +292 -0
- package/.agents/skills/composio/rules/app-modifiers.md +148 -0
- package/.agents/skills/composio/rules/app-tool-versions.md +343 -0
- package/.agents/skills/composio/rules/app-toolkits.md +184 -0
- package/.agents/skills/composio/rules/app-user-context.md +222 -0
- package/.agents/skills/composio/rules/building-with-composio.md +134 -0
- package/.agents/skills/composio/rules/composio-cli.md +223 -0
- package/.agents/skills/composio/rules/setup-api-keys.md +230 -0
- package/.agents/skills/composio/rules/tr-auth-auto.md +110 -0
- package/.agents/skills/composio/rules/tr-auth-connections.md +167 -0
- package/.agents/skills/composio/rules/tr-auth-manual.md +161 -0
- package/.agents/skills/composio/rules/tr-building-chat-ui.md +348 -0
- package/.agents/skills/composio/rules/tr-framework-ai-sdk.md +240 -0
- package/.agents/skills/composio/rules/tr-framework-integration.md +818 -0
- package/.agents/skills/composio/rules/tr-framework-mastra.md +185 -0
- package/.agents/skills/composio/rules/tr-mcp-vs-native.md +248 -0
- package/.agents/skills/composio/rules/tr-session-basic.md +82 -0
- package/.agents/skills/composio/rules/tr-session-config.md +172 -0
- package/.agents/skills/composio/rules/tr-session-lifecycle.md +385 -0
- package/.agents/skills/composio/rules/tr-toolkit-query.md +135 -0
- package/.agents/skills/composio/rules/tr-userid-best-practices.md +476 -0
- package/.agents/skills/composio/rules/triggers-create.md +246 -0
- package/.agents/skills/composio/rules/triggers-manage.md +275 -0
- package/.agents/skills/composio/rules/triggers-subscribe.md +173 -0
- package/.agents/skills/composio/rules/triggers-webhook.md +227 -0
- package/.agents/skills/create-auth-skill/SKILL.md +321 -0
- package/.agents/skills/design-md/README.md +34 -0
- package/.agents/skills/design-md/SKILL.md +172 -0
- package/.agents/skills/design-md/examples/DESIGN.md +154 -0
- package/.agents/skills/expo-tailwind-setup/SKILL.md +480 -0
- package/.agents/skills/expo-tailwind-setup/agents/openai.yaml +4 -0
- package/.agents/skills/find-skills/SKILL.md +142 -0
- package/.agents/skills/firecrawl/SKILL.md +321 -0
- package/.agents/skills/firecrawl/rules/install.md +85 -0
- package/.agents/skills/firecrawl/rules/security.md +26 -0
- package/.agents/skills/frontend-design/LICENSE.txt +177 -0
- package/.agents/skills/frontend-design/SKILL.md +55 -0
- package/.agents/skills/linkup-search/SKILL.md +298 -0
- package/.agents/skills/mcp-builder/LICENSE.txt +202 -0
- package/.agents/skills/mcp-builder/SKILL.md +236 -0
- package/.agents/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.agents/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/.agents/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/.agents/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/.agents/skills/mcp-builder/scripts/connections.py +151 -0
- package/.agents/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.agents/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/.agents/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.agents/skills/mobile-android-design/SKILL.md +101 -0
- package/.agents/skills/mobile-android-design/references/android-navigation.md +698 -0
- package/.agents/skills/mobile-android-design/references/compose-components.md +796 -0
- package/.agents/skills/mobile-android-design/references/details.md +337 -0
- package/.agents/skills/mobile-android-design/references/material3-theming.md +604 -0
- package/.agents/skills/mobile-ios-design/SKILL.md +259 -0
- package/.agents/skills/mobile-ios-design/references/hig-patterns.md +529 -0
- package/.agents/skills/mobile-ios-design/references/ios-navigation.md +556 -0
- package/.agents/skills/mobile-ios-design/references/swiftui-components.md +575 -0
- package/.agents/skills/neon-drizzle/SKILL.md +81 -0
- package/.agents/skills/neon-drizzle/guides/existing-project.md +398 -0
- package/.agents/skills/neon-drizzle/guides/new-project.md +312 -0
- package/.agents/skills/neon-drizzle/guides/schema-only.md +415 -0
- package/.agents/skills/neon-drizzle/guides/troubleshooting.md +539 -0
- package/.agents/skills/neon-drizzle/references/adapters.md +478 -0
- package/.agents/skills/neon-drizzle/references/migrations.md +652 -0
- package/.agents/skills/neon-drizzle/references/query-patterns.md +761 -0
- package/.agents/skills/neon-drizzle/scripts/generate-schema.ts +77 -0
- package/.agents/skills/neon-drizzle/scripts/run-migration.ts +133 -0
- package/.agents/skills/neon-drizzle/templates/db-http.ts +6 -0
- package/.agents/skills/neon-drizzle/templates/db-websocket.ts +24 -0
- package/.agents/skills/neon-drizzle/templates/drizzle-config.ts +96 -0
- package/.agents/skills/neon-drizzle/templates/schema-example.ts +231 -0
- package/.agents/skills/neon-postgres/SKILL.md +376 -0
- package/.agents/skills/next-best-practices/SKILL.md +152 -0
- package/.agents/skills/next-best-practices/async-patterns.md +87 -0
- package/.agents/skills/next-best-practices/bundling.md +180 -0
- package/.agents/skills/next-best-practices/data-patterns.md +297 -0
- package/.agents/skills/next-best-practices/debug-tricks.md +105 -0
- package/.agents/skills/next-best-practices/directives.md +73 -0
- package/.agents/skills/next-best-practices/error-handling.md +227 -0
- package/.agents/skills/next-best-practices/file-conventions.md +140 -0
- package/.agents/skills/next-best-practices/font.md +245 -0
- package/.agents/skills/next-best-practices/functions.md +108 -0
- package/.agents/skills/next-best-practices/hydration-error.md +91 -0
- package/.agents/skills/next-best-practices/image.md +173 -0
- package/.agents/skills/next-best-practices/metadata.md +301 -0
- package/.agents/skills/next-best-practices/parallel-routes.md +287 -0
- package/.agents/skills/next-best-practices/route-handlers.md +146 -0
- package/.agents/skills/next-best-practices/rsc-boundaries.md +159 -0
- package/.agents/skills/next-best-practices/runtime-selection.md +39 -0
- package/.agents/skills/next-best-practices/scripts.md +141 -0
- package/.agents/skills/next-best-practices/self-hosting.md +371 -0
- package/.agents/skills/next-best-practices/suspense-boundaries.md +67 -0
- package/.agents/skills/playwright-best-practices/SKILL.md +303 -0
- package/.agents/skills/playwright-cli/SKILL.md +404 -0
- package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
- package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
- package/.agents/skills/playwright-cli/references/running-code.md +241 -0
- package/.agents/skills/playwright-cli/references/session-management.md +225 -0
- package/.agents/skills/playwright-cli/references/spec-driven-testing.md +305 -0
- package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
- package/.agents/skills/playwright-cli/references/test-generation.md +134 -0
- package/.agents/skills/playwright-cli/references/tracing.md +139 -0
- package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
- package/.agents/skills/prisma-client-api/SKILL.md +216 -0
- package/.agents/skills/prisma-client-api/references/client-methods.md +223 -0
- package/.agents/skills/prisma-client-api/references/constructor.md +208 -0
- package/.agents/skills/prisma-client-api/references/filters.md +256 -0
- package/.agents/skills/prisma-client-api/references/model-queries.md +281 -0
- package/.agents/skills/prisma-client-api/references/query-options.md +276 -0
- package/.agents/skills/prisma-client-api/references/raw-queries.md +194 -0
- package/.agents/skills/prisma-client-api/references/relations.md +308 -0
- package/.agents/skills/prisma-client-api/references/transactions.md +184 -0
- package/.agents/skills/prisma-database-setup/SKILL.md +192 -0
- package/.agents/skills/prisma-database-setup/references/cockroachdb.md +89 -0
- package/.agents/skills/prisma-database-setup/references/mongodb.md +90 -0
- package/.agents/skills/prisma-database-setup/references/mysql.md +126 -0
- package/.agents/skills/prisma-database-setup/references/postgresql.md +92 -0
- package/.agents/skills/prisma-database-setup/references/prisma-client-setup.md +47 -0
- package/.agents/skills/prisma-database-setup/references/prisma-postgres.md +130 -0
- package/.agents/skills/prisma-database-setup/references/sqlite.md +106 -0
- package/.agents/skills/prisma-database-setup/references/sqlserver.md +94 -0
- package/.agents/skills/prisma-postgres/SKILL.md +127 -0
- package/.agents/skills/prisma-postgres/references/console-and-connections.md +67 -0
- package/.agents/skills/prisma-postgres/references/create-db-cli.md +136 -0
- package/.agents/skills/prisma-postgres/references/management-api-sdk.md +56 -0
- package/.agents/skills/prisma-postgres/references/management-api.md +61 -0
- package/.agents/skills/remotion-best-practices/SKILL.md +340 -0
- package/.agents/skills/remotion-best-practices/rules/3d.md +86 -0
- package/.agents/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agents/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agents/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
- package/.agents/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
- package/.agents/skills/remotion-best-practices/rules/audio.md +169 -0
- package/.agents/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/.agents/skills/remotion-best-practices/rules/compositions.md +133 -0
- package/.agents/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/.agents/skills/remotion-best-practices/rules/ffmpeg.md +34 -0
- package/.agents/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.agents/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.agents/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
- package/.agents/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/.agents/skills/remotion-best-practices/rules/google-fonts.md +72 -0
- package/.agents/skills/remotion-best-practices/rules/html-in-canvas.md +122 -0
- package/.agents/skills/remotion-best-practices/rules/images.md +71 -0
- package/.agents/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/.agents/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/.agents/skills/remotion-best-practices/rules/local-fonts.md +65 -0
- package/.agents/skills/remotion-best-practices/rules/lottie.md +70 -0
- package/.agents/skills/remotion-best-practices/rules/maplibre.md +458 -0
- package/.agents/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/.agents/skills/remotion-best-practices/rules/measuring-text.md +140 -0
- package/.agents/skills/remotion-best-practices/rules/parameters.md +109 -0
- package/.agents/skills/remotion-best-practices/rules/sequencing.md +144 -0
- package/.agents/skills/remotion-best-practices/rules/sfx.md +30 -0
- package/.agents/skills/remotion-best-practices/rules/silence-detection.md +71 -0
- package/.agents/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/.agents/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/.agents/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/.agents/skills/remotion-best-practices/rules/timing.md +136 -0
- package/.agents/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/.agents/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/.agents/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/.agents/skills/remotion-best-practices/rules/trimming.md +51 -0
- package/.agents/skills/remotion-best-practices/rules/videos.md +171 -0
- package/.agents/skills/remotion-best-practices/rules/voiceover.md +99 -0
- package/.agents/skills/remotion-render/SKILL.md +212 -0
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +485 -0
- package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agents/skills/skill-creator/references/schemas.md +430 -0
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/.agents/skills/stripe-best-practices/SKILL.md +54 -0
- package/.agents/skills/stripe-best-practices/references/billing.md +58 -0
- package/.agents/skills/stripe-best-practices/references/connect.md +173 -0
- package/.agents/skills/stripe-best-practices/references/payments.md +79 -0
- package/.agents/skills/stripe-best-practices/references/security.md +109 -0
- package/.agents/skills/stripe-best-practices/references/tax.md +37 -0
- package/.agents/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.agents/skills/stripe-projects/SKILL.md +132 -0
- package/.agents/skills/supabase/CHANGELOG.md +35 -0
- package/.agents/skills/supabase/SKILL.md +135 -0
- package/.agents/skills/supabase/assets/feedback-issue-template.md +17 -0
- package/.agents/skills/supabase/references/skill-feedback.md +17 -0
- package/.agents/skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
- package/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/.agents/skills/supermemory/LICENSE +201 -0
- package/.agents/skills/supermemory/README.md +221 -0
- package/.agents/skills/supermemory/SKILL.md +172 -0
- package/.agents/skills/supermemory/references/api-reference.md +591 -0
- package/.agents/skills/supermemory/references/architecture.md +557 -0
- package/.agents/skills/supermemory/references/quickstart.md +293 -0
- package/.agents/skills/supermemory/references/sdk-guide.md +655 -0
- package/.agents/skills/supermemory/references/use-cases.md +1033 -0
- package/.agents/skills/supermemory-cli/SKILL.md +490 -0
- package/.agents/skills/tdd/SKILL.md +108 -0
- package/.agents/skills/tdd/mocking.md +59 -0
- package/.agents/skills/tdd/refactoring.md +10 -0
- package/.agents/skills/tdd/tests.md +61 -0
- package/.agents/skills/ui-ux-pro-max/SKILL.md +661 -0
- package/.agents/skills/ui-ux-pro-max/data +1 -0
- package/.agents/skills/ui-ux-pro-max/scripts +1 -0
- package/.agents/skills/vercel-react-native-skills/AGENTS.md +2897 -0
- package/.agents/skills/vercel-react-native-skills/README.md +165 -0
- package/.agents/skills/vercel-react-native-skills/SKILL.md +121 -0
- package/.agents/skills/vercel-react-native-skills/metadata.json +16 -0
- package/.agents/skills/vercel-react-native-skills/rules/_sections.md +86 -0
- package/.agents/skills/vercel-react-native-skills/rules/_template.md +28 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
- package/.agents/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
- package/.agents/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
- package/.agents/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
- package/.agents/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
- package/.agents/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
- package/.agents/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
- package/.agents/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
- package/.agents/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
- package/.agents/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +39 -0
- package/dist/index.js +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,490 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: supermemory-cli
|
|
3
|
+
description: Use the Supermemory CLI to programmatically manage memories, documents, profiles, tags, connectors, keys, and teams from the terminal. Covers all commands, flags, and usage patterns.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Supermemory CLI is the complete interface to Supermemory from the terminal. It lets you add memories, search, manage documents, configure projects, connect external data sources, and administer teams — all programmatically.
|
|
7
|
+
|
|
8
|
+
## Installation & Auth
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# Install globally
|
|
12
|
+
npm install -g @supermemory/cli
|
|
13
|
+
|
|
14
|
+
# Authenticate (opens browser OAuth flow)
|
|
15
|
+
supermemory login
|
|
16
|
+
|
|
17
|
+
# Or use an API key directly
|
|
18
|
+
supermemory login --api-key sm_abc_xxx
|
|
19
|
+
|
|
20
|
+
# Check auth status
|
|
21
|
+
supermemory whoami
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Configuration
|
|
25
|
+
|
|
26
|
+
The CLI supports three config scopes:
|
|
27
|
+
|
|
28
|
+
| Scope | File | Use Case |
|
|
29
|
+
|-------|------|----------|
|
|
30
|
+
| `project` | `.supermemory/config.json` (gitignored) | Per-machine secrets, API keys |
|
|
31
|
+
| `team` | `.supermemory/team.json` (committed) | Shared tag, team-wide defaults |
|
|
32
|
+
| `global` | `~/.config/supermemory/config.json` | All projects on this machine |
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Interactive setup wizard
|
|
36
|
+
supermemory init
|
|
37
|
+
|
|
38
|
+
# Non-interactive
|
|
39
|
+
supermemory init --scope project --tag my-bot
|
|
40
|
+
supermemory init --scope team --tag shared-project
|
|
41
|
+
supermemory init --scope global --output json
|
|
42
|
+
|
|
43
|
+
# View/set config values
|
|
44
|
+
supermemory config
|
|
45
|
+
supermemory config set tag my-project
|
|
46
|
+
supermemory config set verbose true
|
|
47
|
+
supermemory config get tag
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Environment Variables
|
|
51
|
+
|
|
52
|
+
| Variable | Description |
|
|
53
|
+
|----------|-------------|
|
|
54
|
+
| `SUPERMEMORY_API_KEY` | API key for authentication |
|
|
55
|
+
| `SUPERMEMORY_TAG` | Override default container tag |
|
|
56
|
+
| `OTEL_EXPORTER_OTLP_ENDPOINT` | OpenTelemetry collector endpoint |
|
|
57
|
+
|
|
58
|
+
### Global Flags
|
|
59
|
+
|
|
60
|
+
| Flag | Description |
|
|
61
|
+
|------|-------------|
|
|
62
|
+
| `--json` | Force JSON output (machine-readable) |
|
|
63
|
+
| `--tag` | Override default container tag for this command |
|
|
64
|
+
| `--help` | Show help for any command |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Core Commands
|
|
69
|
+
|
|
70
|
+
### `add` — Ingest content
|
|
71
|
+
|
|
72
|
+
Ingest text, files, or URLs and extract memories into a container tag.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Add text
|
|
76
|
+
supermemory add "User prefers TypeScript over JavaScript"
|
|
77
|
+
|
|
78
|
+
# Add a file (PDF, markdown, text, etc.)
|
|
79
|
+
supermemory add ./meeting-notes.pdf --tag meetings
|
|
80
|
+
|
|
81
|
+
# Add a URL
|
|
82
|
+
supermemory add https://docs.example.com/api --tag docs
|
|
83
|
+
|
|
84
|
+
# Read from stdin
|
|
85
|
+
cat file.txt | supermemory add --stdin
|
|
86
|
+
echo "some content" | supermemory add --stdin --tag notes
|
|
87
|
+
|
|
88
|
+
# With metadata
|
|
89
|
+
supermemory add "Design doc v2" --metadata '{"category": "engineering", "priority": "high"}'
|
|
90
|
+
|
|
91
|
+
# Custom document ID
|
|
92
|
+
supermemory add "My doc" --id custom-doc-id --tag project
|
|
93
|
+
|
|
94
|
+
# Batch mode (JSONL from stdin, each line: {"content": "...", "tag": "..."})
|
|
95
|
+
cat batch.jsonl | supermemory add --batch
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Options:**
|
|
99
|
+
- `--tag <string>` — Container tag
|
|
100
|
+
- `--stdin` — Read content from stdin
|
|
101
|
+
- `--title <string>` — Document title
|
|
102
|
+
- `--metadata <json>` — JSON metadata object
|
|
103
|
+
- `--id <string>` — Custom document ID
|
|
104
|
+
- `--batch` — Batch mode, reads JSONL from stdin
|
|
105
|
+
|
|
106
|
+
### `search` — Search memories
|
|
107
|
+
|
|
108
|
+
Semantic search across memories with filtering and reranking.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Basic search
|
|
112
|
+
supermemory search "authentication patterns"
|
|
113
|
+
|
|
114
|
+
# Scoped to a tag with limit
|
|
115
|
+
supermemory search "auth" --tag api --limit 5
|
|
116
|
+
|
|
117
|
+
# With reranking for better relevance
|
|
118
|
+
supermemory search "database migrations" --rerank
|
|
119
|
+
|
|
120
|
+
# Query rewriting (LLM rewrites query for better results)
|
|
121
|
+
supermemory search "how do we handle auth" --rewrite
|
|
122
|
+
|
|
123
|
+
# Different search modes
|
|
124
|
+
supermemory search "user prefs" --mode memories # extracted memories only
|
|
125
|
+
supermemory search "user prefs" --mode hybrid # memories + document chunks
|
|
126
|
+
supermemory search "user prefs" --mode documents # full documents only
|
|
127
|
+
|
|
128
|
+
# Include specific fields
|
|
129
|
+
supermemory search "api design" --include summary,chunks,memories
|
|
130
|
+
|
|
131
|
+
# Metadata filtering
|
|
132
|
+
supermemory search "design" --filter '{"AND": [{"key": "category", "value": "engineering"}]}'
|
|
133
|
+
|
|
134
|
+
# Similarity threshold (0-1)
|
|
135
|
+
supermemory search "preferences" --threshold 0.5
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Options:**
|
|
139
|
+
- `--tag <string>` — Filter by container tag
|
|
140
|
+
- `--limit <number>` — Max results (default: 10)
|
|
141
|
+
- `--threshold <number>` — Similarity threshold 0-1 (default: 0)
|
|
142
|
+
- `--rerank` — Enable reranking for better relevance
|
|
143
|
+
- `--rewrite` — Rewrite query using LLM
|
|
144
|
+
- `--mode <string>` — `memories` | `hybrid` | `documents` (default: memories)
|
|
145
|
+
- `--include <string>` — Fields: summary, chunks, memories, document
|
|
146
|
+
- `--filter <json>` — Metadata filter object
|
|
147
|
+
|
|
148
|
+
### `remember` — Store a memory directly
|
|
149
|
+
|
|
150
|
+
Store a specific fact or memory without ingesting a full document.
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Store a memory
|
|
154
|
+
supermemory remember "User prefers dark mode" --tag user_123
|
|
155
|
+
|
|
156
|
+
# Mark as permanent/static (won't decay)
|
|
157
|
+
supermemory remember "User is a senior engineer at Acme Corp" --static --tag user_123
|
|
158
|
+
|
|
159
|
+
# With metadata
|
|
160
|
+
supermemory remember "Discussed Q3 roadmap" --tag meetings --metadata '{"type": "decision"}'
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Options:**
|
|
164
|
+
- `--tag <string>` — Container tag
|
|
165
|
+
- `--static` — Mark as permanent memory
|
|
166
|
+
- `--metadata <json>` — JSON metadata
|
|
167
|
+
|
|
168
|
+
### `forget` — Delete a memory
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# Forget by memory ID
|
|
172
|
+
supermemory forget mem_abc123 --tag default
|
|
173
|
+
|
|
174
|
+
# Forget by content match
|
|
175
|
+
supermemory forget --content "outdated preference" --tag default
|
|
176
|
+
|
|
177
|
+
# With reason
|
|
178
|
+
supermemory forget mem_abc123 --reason "User corrected this information"
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Options:**
|
|
182
|
+
- `--tag <string>` — Container tag
|
|
183
|
+
- `--reason <string>` — Reason for forgetting
|
|
184
|
+
- `--content <string>` — Forget by content match instead of ID
|
|
185
|
+
|
|
186
|
+
### `update` — Update an existing memory
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
supermemory update mem_123 "Updated preference: prefers Bun over Node"
|
|
190
|
+
supermemory update mem_123 "New content" --metadata '{"updated": true}'
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Options:**
|
|
194
|
+
- `--tag <string>` — Container tag
|
|
195
|
+
- `--metadata <json>` — Updated metadata
|
|
196
|
+
- `--reason <string>` — Reason for update
|
|
197
|
+
|
|
198
|
+
### `profile` — Get user profile
|
|
199
|
+
|
|
200
|
+
Retrieve the auto-generated user profile for a container tag.
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# Get profile for default tag
|
|
204
|
+
supermemory profile
|
|
205
|
+
|
|
206
|
+
# Get profile for specific tag
|
|
207
|
+
supermemory profile user_123
|
|
208
|
+
|
|
209
|
+
# Search within the profile
|
|
210
|
+
supermemory profile user_123 --query "programming preferences"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Returns static facts (long-term) and dynamic context (recent activity).
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Document Management
|
|
218
|
+
|
|
219
|
+
### `docs` — Manage documents
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# List documents
|
|
223
|
+
supermemory docs list --tag default --limit 20
|
|
224
|
+
|
|
225
|
+
# Get a specific document
|
|
226
|
+
supermemory docs get doc_abc123
|
|
227
|
+
|
|
228
|
+
# Check processing status
|
|
229
|
+
supermemory docs status doc_abc123
|
|
230
|
+
|
|
231
|
+
# View document chunks
|
|
232
|
+
supermemory docs chunks doc_abc123
|
|
233
|
+
|
|
234
|
+
# Delete a document
|
|
235
|
+
supermemory docs delete doc_abc123 --yes
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**Subcommands:** `list`, `get`, `delete`, `chunks`, `status`
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Container Tags
|
|
243
|
+
|
|
244
|
+
### `tags` — Manage container tags
|
|
245
|
+
|
|
246
|
+
Container tags scope memories to users, projects, or any logical grouping.
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# List all tags
|
|
250
|
+
supermemory tags list
|
|
251
|
+
|
|
252
|
+
# Get tag info (memory count, doc count, etc.)
|
|
253
|
+
supermemory tags info user_123
|
|
254
|
+
|
|
255
|
+
# Create a new tag
|
|
256
|
+
supermemory tags create my-new-project
|
|
257
|
+
|
|
258
|
+
# Set context on a tag (injected into profile responses)
|
|
259
|
+
supermemory tags context user_123 --set "This user is a premium customer"
|
|
260
|
+
|
|
261
|
+
# Clear context
|
|
262
|
+
supermemory tags context user_123 --clear
|
|
263
|
+
|
|
264
|
+
# Merge tags (moves all memories from source to target)
|
|
265
|
+
supermemory tags merge old-tag --into new-tag --yes
|
|
266
|
+
|
|
267
|
+
# Delete a tag
|
|
268
|
+
supermemory tags delete old-tag --yes
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Subcommands:** `list`, `info`, `create`, `delete`, `context`, `merge`
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## API Keys
|
|
276
|
+
|
|
277
|
+
### `keys` — Manage API keys
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
# List all keys
|
|
281
|
+
supermemory keys list
|
|
282
|
+
|
|
283
|
+
# Create a new key
|
|
284
|
+
supermemory keys create --name my-agent --permission write
|
|
285
|
+
|
|
286
|
+
# Create a scoped key (restricted to one container tag)
|
|
287
|
+
supermemory keys create --name bot-key --tag user_123 --expires 30
|
|
288
|
+
|
|
289
|
+
# Revoke a key
|
|
290
|
+
supermemory keys revoke key_abc123 --yes
|
|
291
|
+
|
|
292
|
+
# Toggle a key on/off
|
|
293
|
+
supermemory keys toggle key_abc123
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**Subcommands:** `list`, `create`, `revoke`, `toggle`
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## Connectors
|
|
301
|
+
|
|
302
|
+
### `connectors` — External data sources
|
|
303
|
+
|
|
304
|
+
Connect Google Drive, Notion, OneDrive, and other services to automatically sync documents.
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
# List connected services
|
|
308
|
+
supermemory connectors list
|
|
309
|
+
|
|
310
|
+
# Connect a service (opens OAuth flow)
|
|
311
|
+
supermemory connectors connect google-drive --tag docs
|
|
312
|
+
supermemory connectors connect notion --tag notes
|
|
313
|
+
|
|
314
|
+
# Trigger a sync
|
|
315
|
+
supermemory connectors sync conn_abc123
|
|
316
|
+
|
|
317
|
+
# View sync history
|
|
318
|
+
supermemory connectors history conn_abc123 --limit 10
|
|
319
|
+
|
|
320
|
+
# List synced resources
|
|
321
|
+
supermemory connectors resources conn_abc123
|
|
322
|
+
|
|
323
|
+
# Disconnect
|
|
324
|
+
supermemory connectors disconnect conn_abc123 --yes
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**Subcommands:** `list`, `connect`, `sync`, `history`, `disconnect`, `resources`
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Plugins
|
|
332
|
+
|
|
333
|
+
### `plugins` — IDE and tool integrations
|
|
334
|
+
|
|
335
|
+
Connect the CLI to Claude Code, Cursor, and other tools.
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
# List available plugins
|
|
339
|
+
supermemory plugins list
|
|
340
|
+
|
|
341
|
+
# Connect a plugin (with auto-configuration)
|
|
342
|
+
supermemory plugins connect claude-code --auto-configure
|
|
343
|
+
supermemory plugins connect cursor --auto-configure
|
|
344
|
+
|
|
345
|
+
# Check plugin status
|
|
346
|
+
supermemory plugins status claude-code
|
|
347
|
+
|
|
348
|
+
# Revoke a plugin connection
|
|
349
|
+
supermemory plugins revoke claude-code --yes
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**Subcommands:** `list`, `connect`, `revoke`, `status`
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Team Management
|
|
357
|
+
|
|
358
|
+
### `team` — Manage team members
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
# List team members
|
|
362
|
+
supermemory team list
|
|
363
|
+
|
|
364
|
+
# Invite a member
|
|
365
|
+
supermemory team invite user@example.com --role admin
|
|
366
|
+
supermemory team invite user@example.com --role member
|
|
367
|
+
|
|
368
|
+
# Change a member's role
|
|
369
|
+
supermemory team role member_123 admin
|
|
370
|
+
|
|
371
|
+
# Remove a member
|
|
372
|
+
supermemory team remove member_123 --yes
|
|
373
|
+
|
|
374
|
+
# View pending invitations
|
|
375
|
+
supermemory team invitations
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
**Subcommands:** `list`, `invite`, `remove`, `role`, `invitations`
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Monitoring
|
|
383
|
+
|
|
384
|
+
### `status` — Account dashboard
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
supermemory status
|
|
388
|
+
supermemory status --period 7d # 24h, 7d, 30d, all
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
Shows memory count, document count, API usage, and storage.
|
|
392
|
+
|
|
393
|
+
### `logs` — Request logs
|
|
394
|
+
|
|
395
|
+
```bash
|
|
396
|
+
# Recent logs
|
|
397
|
+
supermemory logs
|
|
398
|
+
|
|
399
|
+
# Filter by time period
|
|
400
|
+
supermemory logs --period 7d
|
|
401
|
+
|
|
402
|
+
# Filter by status
|
|
403
|
+
supermemory logs --status error
|
|
404
|
+
|
|
405
|
+
# Filter by request type
|
|
406
|
+
supermemory logs --type search
|
|
407
|
+
|
|
408
|
+
# Get a specific log entry
|
|
409
|
+
supermemory logs get req_abc123
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### `billing` — Usage and billing
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
supermemory billing # Overview
|
|
416
|
+
supermemory billing usage # Detailed usage breakdown
|
|
417
|
+
supermemory billing invoices # Past invoices
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
## Utility Commands
|
|
423
|
+
|
|
424
|
+
```bash
|
|
425
|
+
# Open Supermemory console in browser
|
|
426
|
+
supermemory open
|
|
427
|
+
supermemory open graph # Memory graph view
|
|
428
|
+
supermemory open billing
|
|
429
|
+
supermemory open settings
|
|
430
|
+
supermemory open docs
|
|
431
|
+
supermemory open keys
|
|
432
|
+
|
|
433
|
+
# Machine-readable help (useful for LLM agents)
|
|
434
|
+
supermemory help --json
|
|
435
|
+
supermemory help --all
|
|
436
|
+
|
|
437
|
+
# Per-command help
|
|
438
|
+
supermemory search --help
|
|
439
|
+
supermemory tags --help --json
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
444
|
+
## Scoped Keys Mode
|
|
445
|
+
|
|
446
|
+
When using a scoped API key (restricted to a single container tag), only these commands are available:
|
|
447
|
+
|
|
448
|
+
`search`, `add`, `remember`, `forget`, `update`, `profile`, `whoami`
|
|
449
|
+
|
|
450
|
+
The tag is automatically set from the key's scope — no need to pass `--tag`.
|
|
451
|
+
|
|
452
|
+
---
|
|
453
|
+
|
|
454
|
+
## Common Patterns
|
|
455
|
+
|
|
456
|
+
### Pipe content from other tools
|
|
457
|
+
|
|
458
|
+
```bash
|
|
459
|
+
# Ingest git log
|
|
460
|
+
git log --oneline -20 | supermemory add --stdin --tag git-history
|
|
461
|
+
|
|
462
|
+
# Ingest command output
|
|
463
|
+
curl -s https://api.example.com/docs | supermemory add --stdin --tag api-docs
|
|
464
|
+
|
|
465
|
+
# Pipe search results to jq
|
|
466
|
+
supermemory search "auth" --json | jq '.results[].memory'
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
### Scripting with JSON output
|
|
470
|
+
|
|
471
|
+
```bash
|
|
472
|
+
# All commands support --json for machine-readable output
|
|
473
|
+
supermemory search "query" --json
|
|
474
|
+
supermemory tags list --json
|
|
475
|
+
supermemory profile user_123 --json
|
|
476
|
+
supermemory status --json
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
### CI/CD integration
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
# Use env var for auth
|
|
483
|
+
export SUPERMEMORY_API_KEY=sm_abc_xxx
|
|
484
|
+
|
|
485
|
+
# Ingest docs on deploy
|
|
486
|
+
supermemory add ./docs/api-reference.md --tag api-docs --id api-ref-latest
|
|
487
|
+
|
|
488
|
+
# Check status
|
|
489
|
+
supermemory status --json | jq '.memoryCount'
|
|
490
|
+
```
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tdd
|
|
3
|
+
description: Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test-Driven Development
|
|
7
|
+
|
|
8
|
+
## Philosophy
|
|
9
|
+
|
|
10
|
+
**Core principle**: Tests should verify behavior through public interfaces, not implementation details. Code can change entirely; tests shouldn't.
|
|
11
|
+
|
|
12
|
+
**Good tests** are integration-style: they exercise real code paths through public APIs. They describe _what_ the system does, not _how_ it does it. A good test reads like a specification - "user can checkout with valid cart" tells you exactly what capability exists. These tests survive refactors because they don't care about internal structure.
|
|
13
|
+
|
|
14
|
+
**Bad tests** are coupled to implementation. They mock internal collaborators, test private methods, or verify through external means (like querying a database directly instead of using the interface). The warning sign: your test breaks when you refactor, but behavior hasn't changed. If you rename an internal function and tests fail, those tests were testing implementation, not behavior.
|
|
15
|
+
|
|
16
|
+
See [tests.md](tests.md) for examples and [mocking.md](mocking.md) for mocking guidelines.
|
|
17
|
+
|
|
18
|
+
## Anti-Pattern: Horizontal Slices
|
|
19
|
+
|
|
20
|
+
**DO NOT write all tests first, then all implementation.** This is "horizontal slicing" - treating RED as "write all tests" and GREEN as "write all code."
|
|
21
|
+
|
|
22
|
+
This produces **crap tests**:
|
|
23
|
+
|
|
24
|
+
- Tests written in bulk test _imagined_ behavior, not _actual_ behavior
|
|
25
|
+
- You end up testing the _shape_ of things (data structures, function signatures) rather than user-facing behavior
|
|
26
|
+
- Tests become insensitive to real changes - they pass when behavior breaks, fail when behavior is fine
|
|
27
|
+
- You outrun your headlights, committing to test structure before understanding the implementation
|
|
28
|
+
|
|
29
|
+
**Correct approach**: Vertical slices via tracer bullets. One test → one implementation → repeat. Each test responds to what you learned from the previous cycle. Because you just wrote the code, you know exactly what behavior matters and how to verify it.
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
WRONG (horizontal):
|
|
33
|
+
RED: test1, test2, test3, test4, test5
|
|
34
|
+
GREEN: impl1, impl2, impl3, impl4, impl5
|
|
35
|
+
|
|
36
|
+
RIGHT (vertical):
|
|
37
|
+
RED→GREEN: test1→impl1
|
|
38
|
+
RED→GREEN: test2→impl2
|
|
39
|
+
RED→GREEN: test3→impl3
|
|
40
|
+
...
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Workflow
|
|
44
|
+
|
|
45
|
+
### 1. Planning
|
|
46
|
+
|
|
47
|
+
When exploring the codebase, read `CONTEXT.md` (if it exists) so that test names and interface vocabulary match the project's domain language, and respect ADRs in the area you're touching.
|
|
48
|
+
|
|
49
|
+
Before writing any code:
|
|
50
|
+
|
|
51
|
+
- [ ] Confirm with user what interface changes are needed
|
|
52
|
+
- [ ] Confirm with user which behaviors to test (prioritize)
|
|
53
|
+
- [ ] Identify opportunities for deep modules (small interface, deep implementation) — run the `/codebase-design` skill for the vocabulary and the testability checks
|
|
54
|
+
- [ ] List the behaviors to test (not implementation steps)
|
|
55
|
+
- [ ] Get user approval on the plan
|
|
56
|
+
|
|
57
|
+
Ask: "What should the public interface look like? Which behaviors are most important to test?"
|
|
58
|
+
|
|
59
|
+
**You can't test everything.** Confirm with the user exactly which behaviors matter most. Focus testing effort on critical paths and complex logic, not every possible edge case.
|
|
60
|
+
|
|
61
|
+
### 2. Tracer Bullet
|
|
62
|
+
|
|
63
|
+
Write ONE test that confirms ONE thing about the system:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
RED: Write test for first behavior → test fails
|
|
67
|
+
GREEN: Write minimal code to pass → test passes
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
This is your tracer bullet - proves the path works end-to-end.
|
|
71
|
+
|
|
72
|
+
### 3. Incremental Loop
|
|
73
|
+
|
|
74
|
+
For each remaining behavior:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
RED: Write next test → fails
|
|
78
|
+
GREEN: Minimal code to pass → passes
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Rules:
|
|
82
|
+
|
|
83
|
+
- One test at a time
|
|
84
|
+
- Only enough code to pass current test
|
|
85
|
+
- Don't anticipate future tests
|
|
86
|
+
- Keep tests focused on observable behavior
|
|
87
|
+
|
|
88
|
+
### 4. Refactor
|
|
89
|
+
|
|
90
|
+
After all tests pass, look for [refactor candidates](refactoring.md):
|
|
91
|
+
|
|
92
|
+
- [ ] Extract duplication
|
|
93
|
+
- [ ] Deepen modules (move complexity behind simple interfaces)
|
|
94
|
+
- [ ] Apply SOLID principles where natural
|
|
95
|
+
- [ ] Consider what new code reveals about existing code
|
|
96
|
+
- [ ] Run tests after each refactor step
|
|
97
|
+
|
|
98
|
+
**Never refactor while RED.** Get to GREEN first.
|
|
99
|
+
|
|
100
|
+
## Checklist Per Cycle
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
[ ] Test describes behavior, not implementation
|
|
104
|
+
[ ] Test uses public interface only
|
|
105
|
+
[ ] Test would survive internal refactor
|
|
106
|
+
[ ] Code is minimal for this test
|
|
107
|
+
[ ] No speculative features added
|
|
108
|
+
```
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# When to Mock
|
|
2
|
+
|
|
3
|
+
Mock at **system boundaries** only:
|
|
4
|
+
|
|
5
|
+
- External APIs (payment, email, etc.)
|
|
6
|
+
- Databases (sometimes - prefer test DB)
|
|
7
|
+
- Time/randomness
|
|
8
|
+
- File system (sometimes)
|
|
9
|
+
|
|
10
|
+
Don't mock:
|
|
11
|
+
|
|
12
|
+
- Your own classes/modules
|
|
13
|
+
- Internal collaborators
|
|
14
|
+
- Anything you control
|
|
15
|
+
|
|
16
|
+
## Designing for Mockability
|
|
17
|
+
|
|
18
|
+
At system boundaries, design interfaces that are easy to mock:
|
|
19
|
+
|
|
20
|
+
**1. Use dependency injection**
|
|
21
|
+
|
|
22
|
+
Pass external dependencies in rather than creating them internally:
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
// Easy to mock
|
|
26
|
+
function processPayment(order, paymentClient) {
|
|
27
|
+
return paymentClient.charge(order.total);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Hard to mock
|
|
31
|
+
function processPayment(order) {
|
|
32
|
+
const client = new StripeClient(process.env.STRIPE_KEY);
|
|
33
|
+
return client.charge(order.total);
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**2. Prefer SDK-style interfaces over generic fetchers**
|
|
38
|
+
|
|
39
|
+
Create specific functions for each external operation instead of one generic function with conditional logic:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
// GOOD: Each function is independently mockable
|
|
43
|
+
const api = {
|
|
44
|
+
getUser: (id) => fetch(`/users/${id}`),
|
|
45
|
+
getOrders: (userId) => fetch(`/users/${userId}/orders`),
|
|
46
|
+
createOrder: (data) => fetch('/orders', { method: 'POST', body: data }),
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
// BAD: Mocking requires conditional logic inside the mock
|
|
50
|
+
const api = {
|
|
51
|
+
fetch: (endpoint, options) => fetch(endpoint, options),
|
|
52
|
+
};
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The SDK approach means:
|
|
56
|
+
- Each mock returns one specific shape
|
|
57
|
+
- No conditional logic in test setup
|
|
58
|
+
- Easier to see which endpoints a test exercises
|
|
59
|
+
- Type safety per endpoint
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Refactor Candidates
|
|
2
|
+
|
|
3
|
+
After TDD cycle, look for:
|
|
4
|
+
|
|
5
|
+
- **Duplication** → Extract function/class
|
|
6
|
+
- **Long methods** → Break into private helpers (keep tests on public interface)
|
|
7
|
+
- **Shallow modules** → Combine or deepen
|
|
8
|
+
- **Feature envy** → Move logic to where data lives
|
|
9
|
+
- **Primitive obsession** → Introduce value objects
|
|
10
|
+
- **Existing code** the new code reveals as problematic
|