@muskanmeet/invoicing-design-system 0.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/.cache/replit/env/latest +78 -0
- package/.cache/replit/env/latest.json +1 -0
- package/.cache/replit/modules/nodejs-20.res +1 -0
- package/.cache/replit/modules/python-3.11.res +1 -0
- package/.cache/replit/modules/replit-rtld-loader.res +1 -0
- package/.cache/replit/modules/replit.res +1 -0
- package/.cache/replit/modules.stamp +0 -0
- package/.cache/replit/nix/dotreplitenv.json +1 -0
- package/.cache/replit/toolchain.json +1 -0
- package/.cache/typescript/5.9/package-lock.json +50 -0
- package/.cache/typescript/5.9/package.json +1 -0
- package/.config/nextjs-nodejs/config.json +7 -0
- package/.eslintrc.json +3 -0
- package/.local/.commit_message +31 -0
- package/.local/secondary_skills/LICENSE.txt +21 -0
- package/.local/secondary_skills/ad-creative/.fingerprint +1 -0
- package/.local/secondary_skills/ad-creative/SKILL.md +872 -0
- package/.local/secondary_skills/ai-recruiter/.fingerprint +1 -0
- package/.local/secondary_skills/ai-recruiter/SKILL.md +1087 -0
- package/.local/secondary_skills/ai-sdr/.fingerprint +1 -0
- package/.local/secondary_skills/ai-sdr/SKILL.md +204 -0
- package/.local/secondary_skills/ai-secretary/.fingerprint +1 -0
- package/.local/secondary_skills/ai-secretary/SKILL.md +1132 -0
- package/.local/secondary_skills/branding-generator/.fingerprint +1 -0
- package/.local/secondary_skills/branding-generator/SKILL.md +286 -0
- package/.local/secondary_skills/competitive-analysis/.fingerprint +1 -0
- package/.local/secondary_skills/competitive-analysis/SKILL.md +429 -0
- package/.local/secondary_skills/content-machine/.fingerprint +1 -0
- package/.local/secondary_skills/content-machine/SKILL.md +321 -0
- package/.local/secondary_skills/deep-research/.fingerprint +1 -0
- package/.local/secondary_skills/deep-research/SKILL.md +517 -0
- package/.local/secondary_skills/design-thinker/.fingerprint +1 -0
- package/.local/secondary_skills/design-thinker/SKILL.md +327 -0
- package/.local/secondary_skills/excel-generator/.fingerprint +1 -0
- package/.local/secondary_skills/excel-generator/SKILL.md +954 -0
- package/.local/secondary_skills/excel-generator/financial-models.md +289 -0
- package/.local/secondary_skills/file-converter/.fingerprint +1 -0
- package/.local/secondary_skills/file-converter/SKILL.md +823 -0
- package/.local/secondary_skills/flashcard-generator/.fingerprint +1 -0
- package/.local/secondary_skills/flashcard-generator/SKILL.md +233 -0
- package/.local/secondary_skills/geo/.fingerprint +1 -0
- package/.local/secondary_skills/geo/SKILL.md +378 -0
- package/.local/secondary_skills/geo/references/content-patterns.md +158 -0
- package/.local/secondary_skills/geo/references/platform-notes.md +128 -0
- package/.local/secondary_skills/geo/references/scorecard.md +113 -0
- package/.local/secondary_skills/geo/references/technical-checklist.md +257 -0
- package/.local/secondary_skills/github-solution-finder/.fingerprint +1 -0
- package/.local/secondary_skills/github-solution-finder/SKILL.md +174 -0
- package/.local/secondary_skills/infographic-builder/.fingerprint +1 -0
- package/.local/secondary_skills/infographic-builder/SKILL.md +317 -0
- package/.local/secondary_skills/infographic-builder/antv-syntax.md +470 -0
- package/.local/secondary_skills/infographic-builder/react-fallback.md +210 -0
- package/.local/secondary_skills/insurance-optimizer/.fingerprint +1 -0
- package/.local/secondary_skills/insurance-optimizer/SKILL.md +209 -0
- package/.local/secondary_skills/interview-prep/.fingerprint +1 -0
- package/.local/secondary_skills/interview-prep/SKILL.md +349 -0
- package/.local/secondary_skills/invoice-generator/.fingerprint +1 -0
- package/.local/secondary_skills/invoice-generator/SKILL.md +527 -0
- package/.local/secondary_skills/legal-contract/.fingerprint +1 -0
- package/.local/secondary_skills/legal-contract/SKILL.md +977 -0
- package/.local/secondary_skills/meal-planner/.fingerprint +1 -0
- package/.local/secondary_skills/meal-planner/SKILL.md +517 -0
- package/.local/secondary_skills/personal-shopper/.fingerprint +1 -0
- package/.local/secondary_skills/personal-shopper/SKILL.md +361 -0
- package/.local/secondary_skills/photo-editor/.fingerprint +1 -0
- package/.local/secondary_skills/photo-editor/SKILL.md +605 -0
- package/.local/secondary_skills/podcast-generator/.fingerprint +1 -0
- package/.local/secondary_skills/podcast-generator/SKILL.md +560 -0
- package/.local/secondary_skills/podcast-marketing/.fingerprint +1 -0
- package/.local/secondary_skills/podcast-marketing/SKILL.md +550 -0
- package/.local/secondary_skills/podcast-marketing/audio-processing.md +530 -0
- package/.local/secondary_skills/podcast-marketing/content-atoms.md +253 -0
- package/.local/secondary_skills/podcast-marketing/content-calendar.md +318 -0
- package/.local/secondary_skills/podcast-marketing/content-templates.md +325 -0
- package/.local/secondary_skills/podcast-marketing/quote-cards.md +238 -0
- package/.local/secondary_skills/podcast-marketing/rss-and-batch.md +359 -0
- package/.local/secondary_skills/podcast-marketing/video-clips.md +660 -0
- package/.local/secondary_skills/podcast-marketing/youtube-processing.md +328 -0
- package/.local/secondary_skills/product-manager/.fingerprint +1 -0
- package/.local/secondary_skills/product-manager/SKILL.md +272 -0
- package/.local/secondary_skills/programmatic-seo/.fingerprint +1 -0
- package/.local/secondary_skills/programmatic-seo/SKILL.md +1207 -0
- package/.local/secondary_skills/real-estate-analyzer/.fingerprint +1 -0
- package/.local/secondary_skills/real-estate-analyzer/SKILL.md +786 -0
- package/.local/secondary_skills/recipe-creator/.fingerprint +1 -0
- package/.local/secondary_skills/recipe-creator/SKILL.md +259 -0
- package/.local/secondary_skills/recreate-screenshot/.fingerprint +1 -0
- package/.local/secondary_skills/recreate-screenshot/SKILL.md +215 -0
- package/.local/secondary_skills/replit-migration-guardrails/.fingerprint +1 -0
- package/.local/secondary_skills/replit-migration-guardrails/SKILL.md +55 -0
- package/.local/secondary_skills/replit-migration-guardrails/references/base44.md +47 -0
- package/.local/secondary_skills/replit-migration-guardrails/references/vercel.md +78 -0
- package/.local/secondary_skills/resume-maker/.fingerprint +1 -0
- package/.local/secondary_skills/resume-maker/SKILL.md +790 -0
- package/.local/secondary_skills/seo-auditor/.fingerprint +1 -0
- package/.local/secondary_skills/seo-auditor/SKILL.md +448 -0
- package/.local/secondary_skills/skill-creator/.fingerprint +1 -0
- package/.local/secondary_skills/skill-creator/SKILL.md +214 -0
- package/.local/secondary_skills/skill-finder/.fingerprint +1 -0
- package/.local/secondary_skills/skill-finder/SKILL.md +299 -0
- package/.local/secondary_skills/stock-analyzer/.fingerprint +1 -0
- package/.local/secondary_skills/stock-analyzer/SKILL.md +798 -0
- package/.local/secondary_skills/storyboard/.fingerprint +1 -0
- package/.local/secondary_skills/storyboard/SKILL.md +558 -0
- package/.local/secondary_skills/supplier-research/.fingerprint +1 -0
- package/.local/secondary_skills/supplier-research/SKILL.md +213 -0
- package/.local/secondary_skills/tax-reviewer/.fingerprint +1 -0
- package/.local/secondary_skills/tax-reviewer/SKILL.md +131 -0
- package/.local/secondary_skills/travel-assistant/.fingerprint +1 -0
- package/.local/secondary_skills/travel-assistant/SKILL.md +667 -0
- package/.local/secondary_skills/video-editing/.fingerprint +1 -0
- package/.local/secondary_skills/video-editing/SKILL.md +705 -0
- package/.local/secondary_skills/video-editing/dead-space-and-chunking.md +1081 -0
- package/.local/secondary_skills/video-editing/operations.md +1719 -0
- package/.local/secondary_skills/video-editing/virality-scoring.md +1212 -0
- package/.local/secondary_skills/video-editing/voiceover.md +788 -0
- package/.local/secondary_skills/website-cloning/.fingerprint +1 -0
- package/.local/secondary_skills/website-cloning/SKILL.md +544 -0
- package/.local/secondary_skills/website-cloning/extraction.md +1207 -0
- package/.local/secondary_skills/website-cloning/pitfalls.md +297 -0
- package/.local/skills/LICENSE.txt +21 -0
- package/.local/skills/agent-inbox/.fingerprint +1 -0
- package/.local/skills/agent-inbox/SKILL.md +128 -0
- package/.local/skills/artifacts/.fingerprint +1 -0
- package/.local/skills/artifacts/SKILL.md +21 -0
- package/.local/skills/artifacts/artifacts/automation/artifact.yaml +40 -0
- package/.local/skills/artifacts/artifacts/automation/files/package.json.template +47 -0
- package/.local/skills/artifacts/artifacts/automation/files/scripts/build.sh +6 -0
- package/.local/skills/artifacts/artifacts/automation/files/scripts/inngest.sh +18 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/global.d.ts +1 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/agents/agent.ts +89 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/index.ts +212 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/inngest/client.ts +17 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/inngest/index.ts +214 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/storage/index.ts +8 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/tools/exampleTool.ts +71 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/workflows/workflow.ts +203 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/triggers/cronTriggers.ts +61 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/triggers/exampleConnectorTrigger.ts +153 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/triggers/slackTriggers.ts +638 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/triggers/telegramTriggers.ts +94 -0
- package/.local/skills/artifacts/artifacts/automation/files/tests/testCronAutomation.ts +86 -0
- package/.local/skills/artifacts/artifacts/automation/files/tests/testWebhookAutomation.ts +118 -0
- package/.local/skills/artifacts/artifacts/automation/files/tsconfig.json +26 -0
- package/.local/skills/artifacts/artifacts/data-visualization/artifact.yaml +48 -0
- package/.local/skills/artifacts/artifacts/expo/OWNERS +2 -0
- package/.local/skills/artifacts/artifacts/expo/artifact.yaml +47 -0
- package/.local/skills/artifacts/artifacts/expo/files/app/(tabs)/_layout.tsx +86 -0
- package/.local/skills/artifacts/artifacts/expo/files/app/(tabs)/index.tsx +28 -0
- package/.local/skills/artifacts/artifacts/expo/files/app/+not-found.tsx +45 -0
- package/.local/skills/artifacts/artifacts/expo/files/app/_layout.tsx +60 -0
- package/.local/skills/artifacts/artifacts/expo/files/app.json.template +38 -0
- package/.local/skills/artifacts/artifacts/expo/files/assets/images/icon.png +0 -0
- package/.local/skills/artifacts/artifacts/expo/files/babel.config.js +6 -0
- package/.local/skills/artifacts/artifacts/expo/files/components/ErrorBoundary.tsx +54 -0
- package/.local/skills/artifacts/artifacts/expo/files/components/ErrorFallback.tsx +278 -0
- package/.local/skills/artifacts/artifacts/expo/files/components/KeyboardAwareScrollViewCompat.tsx +29 -0
- package/.local/skills/artifacts/artifacts/expo/files/constants/colors.ts +59 -0
- package/.local/skills/artifacts/artifacts/expo/files/hooks/useColors.ts +24 -0
- package/.local/skills/artifacts/artifacts/expo/files/metro.config.js +3 -0
- package/.local/skills/artifacts/artifacts/expo/files/package.json.template +58 -0
- package/.local/skills/artifacts/artifacts/expo/files/scripts/build.js +573 -0
- package/.local/skills/artifacts/artifacts/expo/files/server/serve.js +135 -0
- package/.local/skills/artifacts/artifacts/expo/files/server/templates/landing-page.html +460 -0
- package/.local/skills/artifacts/artifacts/expo/files/tsconfig.json +23 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/artifact.yaml +15 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/components.json +21 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/index.html +31 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/mockupPreviewPlugin.ts +199 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/package.json.template +75 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/public/favicon.svg +3 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/.generated/mockup-components.ts +3 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/App.tsx +146 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/accordion.tsx +55 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/alert-dialog.tsx +139 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/alert.tsx +59 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/aspect-ratio.tsx +5 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/avatar.tsx +50 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/badge.tsx +43 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/breadcrumb.tsx +115 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/button-group.tsx +83 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/button.tsx +65 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/calendar.tsx +213 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/card.tsx +76 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/carousel.tsx +260 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/chart.tsx +367 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/checkbox.tsx +28 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/collapsible.tsx +11 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/command.tsx +153 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/context-menu.tsx +198 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/dialog.tsx +120 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/drawer.tsx +116 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/dropdown-menu.tsx +201 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/empty.tsx +104 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/field.tsx +244 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/form.tsx +176 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/hover-card.tsx +27 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input-group.tsx +168 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input-otp.tsx +69 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input.tsx +22 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/item.tsx +193 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/kbd.tsx +28 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/label.tsx +26 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/menubar.tsx +254 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/navigation-menu.tsx +128 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/pagination.tsx +117 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/popover.tsx +31 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/progress.tsx +28 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/radio-group.tsx +42 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/resizable.tsx +45 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/scroll-area.tsx +46 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/select.tsx +159 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/separator.tsx +29 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sheet.tsx +140 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sidebar.tsx +727 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/skeleton.tsx +15 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/slider.tsx +26 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sonner.tsx +31 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/spinner.tsx +16 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/switch.tsx +27 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/table.tsx +120 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/tabs.tsx +53 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/textarea.tsx +22 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toast.tsx +127 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toaster.tsx +33 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toggle-group.tsx +61 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toggle.tsx +43 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/tooltip.tsx +32 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/hooks/use-mobile.tsx +19 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/hooks/use-toast.ts +189 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/index.css +158 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/lib/utils.ts +6 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/main.tsx +5 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/tsconfig.json +20 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/vite.config.ts +72 -0
- package/.local/skills/artifacts/artifacts/react-vite/artifact.yaml +41 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/components.json +20 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/index.html.template +24 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/package.json.template +77 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/public/favicon.svg +3 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/public/robots.txt +2 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/App.tsx +42 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/accordion.tsx +55 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/alert-dialog.tsx +139 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/alert.tsx +59 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/aspect-ratio.tsx +5 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/avatar.tsx +50 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/badge.tsx +43 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/breadcrumb.tsx +115 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/button-group.tsx +83 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/button.tsx +65 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/calendar.tsx +213 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/card.tsx +76 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/carousel.tsx +260 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/chart.tsx +367 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/checkbox.tsx +28 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/collapsible.tsx +11 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/command.tsx +153 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/context-menu.tsx +198 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/dialog.tsx +120 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/drawer.tsx +116 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/dropdown-menu.tsx +201 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/empty.tsx +104 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/field.tsx +244 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/form.tsx +176 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/hover-card.tsx +27 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input-group.tsx +168 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input-otp.tsx +69 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input.tsx +22 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/item.tsx +193 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/kbd.tsx +28 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/label.tsx +26 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/menubar.tsx +254 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/navigation-menu.tsx +128 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/pagination.tsx +117 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/popover.tsx +31 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/progress.tsx +28 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/radio-group.tsx +42 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/resizable.tsx +45 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/scroll-area.tsx +46 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/select.tsx +159 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/separator.tsx +29 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sheet.tsx +140 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sidebar.tsx +727 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/skeleton.tsx +15 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/slider.tsx +26 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sonner.tsx +31 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/spinner.tsx +16 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/switch.tsx +27 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/table.tsx +120 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/tabs.tsx +53 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/textarea.tsx +22 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toast.tsx +127 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toaster.tsx +33 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toggle-group.tsx +61 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toggle.tsx +43 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/tooltip.tsx +32 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/hooks/use-mobile.tsx +19 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/hooks/use-toast.ts +191 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/index.css +393 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/lib/utils.ts +6 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/main.tsx +5 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/pages/not-found.tsx +21 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/tsconfig.json +22 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/vite.config.ts +75 -0
- package/.local/skills/artifacts/artifacts/slides/artifact.yaml +33 -0
- package/.local/skills/artifacts/artifacts/slides/files/index.html.template +46 -0
- package/.local/skills/artifacts/artifacts/slides/files/package.json.template +30 -0
- package/.local/skills/artifacts/artifacts/slides/files/public/favicon.svg +3 -0
- package/.local/skills/artifacts/artifacts/slides/files/scripts/validate-slides.ts +193 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/App.tsx +251 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/data/slides-manifest.json +1 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/data/slidesManifestSchema.ts +33 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/index.css +48 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/main.tsx +14 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/slideLoader.ts +51 -0
- package/.local/skills/artifacts/artifacts/slides/files/tsconfig.json +17 -0
- package/.local/skills/artifacts/artifacts/slides/files/vite.config.ts +74 -0
- package/.local/skills/artifacts/artifacts/video-js/artifact.yaml +38 -0
- package/.local/skills/artifacts/artifacts/video-js/files/index.html.template +27 -0
- package/.local/skills/artifacts/artifacts/video-js/files/package.json.template +36 -0
- package/.local/skills/artifacts/artifacts/video-js/files/public/favicon.svg +3 -0
- package/.local/skills/artifacts/artifacts/video-js/files/scripts/validate-recording.sh +38 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/App.tsx +5 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/ReplitLoadingScene.tsx +105 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/VideoTemplate.tsx +30 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/index.ts +1 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/hooks/use-mobile.tsx +19 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/index.css +50 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/lib/utils.ts +6 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/animations.ts +239 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/hooks.ts +104 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/index.ts +19 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/main.tsx +5 -0
- package/.local/skills/artifacts/artifacts/video-js/files/tsconfig.json +16 -0
- package/.local/skills/artifacts/artifacts/video-js/files/vite.config.ts +79 -0
- package/.local/skills/artifacts/bootstrap-legacy.js +115 -0
- package/.local/skills/artifacts/bootstrap.js +118 -0
- package/.local/skills/artifacts/references/multi-artifact-creation.md +94 -0
- package/.local/skills/canvas/.fingerprint +1 -0
- package/.local/skills/canvas/SKILL.md +534 -0
- package/.local/skills/canvas/__init__.py +1 -0
- package/.local/skills/code_review/.fingerprint +1 -0
- package/.local/skills/code_review/SKILL.md +82 -0
- package/.local/skills/database/.fingerprint +1 -0
- package/.local/skills/database/SKILL.md +351 -0
- package/.local/skills/database/references/database-migrations-on-publish.md +57 -0
- package/.local/skills/delegation/.fingerprint +1 -0
- package/.local/skills/delegation/SKILL.md +200 -0
- package/.local/skills/deployment/.fingerprint +1 -0
- package/.local/skills/deployment/SKILL.md +261 -0
- package/.local/skills/deployment/references/deployment-failure-debugging.md +243 -0
- package/.local/skills/deployment/references/deployment-logs.md +147 -0
- package/.local/skills/design/.fingerprint +1 -0
- package/.local/skills/design/SKILL.md +235 -0
- package/.local/skills/design-exploration/.fingerprint +1 -0
- package/.local/skills/design-exploration/SKILL.md +95 -0
- package/.local/skills/diagnostics/.fingerprint +1 -0
- package/.local/skills/diagnostics/SKILL.md +122 -0
- package/.local/skills/environment-secrets/.fingerprint +1 -0
- package/.local/skills/environment-secrets/SKILL.md +201 -0
- package/.local/skills/expo/.fingerprint +1 -0
- package/.local/skills/expo/OWNERS +2 -0
- package/.local/skills/expo/SKILL.md +298 -0
- package/.local/skills/expo/references/design_and_aesthetics.md +141 -0
- package/.local/skills/expo/references/device_features_and_permissions.md +48 -0
- package/.local/skills/expo/references/first_build.md +114 -0
- package/.local/skills/expo/references/react_context.md +54 -0
- package/.local/skills/external_apis/.fingerprint +1 -0
- package/.local/skills/external_apis/SKILL.md +25 -0
- package/.local/skills/external_apis/references/brave.md +116 -0
- package/.local/skills/external_apis/references/elevenlabs.md +44 -0
- package/.local/skills/external_apis/references/exa.md +34 -0
- package/.local/skills/external_apis/references/firecrawl.md +37 -0
- package/.local/skills/external_apis/references/nano_banana.md +33 -0
- package/.local/skills/follow-up-tasks/.fingerprint +1 -0
- package/.local/skills/follow-up-tasks/SKILL.md +80 -0
- package/.local/skills/image-search/.fingerprint +1 -0
- package/.local/skills/image-search/SKILL.md +150 -0
- package/.local/skills/integrations/.fingerprint +1 -0
- package/.local/skills/integrations/SKILL.md +205 -0
- package/.local/skills/media-generation/.fingerprint +1 -0
- package/.local/skills/media-generation/SKILL.md +170 -0
- package/.local/skills/media-generation/audio_generation.md +138 -0
- package/.local/skills/media-generation/video_generation.md +82 -0
- package/.local/skills/mockup-extract/.fingerprint +1 -0
- package/.local/skills/mockup-extract/SKILL.md +123 -0
- package/.local/skills/mockup-graduate/.fingerprint +1 -0
- package/.local/skills/mockup-graduate/SKILL.md +97 -0
- package/.local/skills/mockup-sandbox/.fingerprint +1 -0
- package/.local/skills/mockup-sandbox/SKILL.md +750 -0
- package/.local/skills/package-management/.fingerprint +1 -0
- package/.local/skills/package-management/SKILL.md +264 -0
- package/.local/skills/post_merge_setup/.fingerprint +1 -0
- package/.local/skills/post_merge_setup/SKILL.md +102 -0
- package/.local/skills/project_tasks/.fingerprint +1 -0
- package/.local/skills/project_tasks/SKILL.md +361 -0
- package/.local/skills/query-integration-data/.fingerprint +1 -0
- package/.local/skills/query-integration-data/SKILL.md +385 -0
- package/.local/skills/react-vite/.fingerprint +1 -0
- package/.local/skills/react-vite/SKILL.md +110 -0
- package/.local/skills/react-vite/references/frontend_general_rules.md +66 -0
- package/.local/skills/react-vite/references/seo.md +158 -0
- package/.local/skills/remove-image-background/.fingerprint +1 -0
- package/.local/skills/remove-image-background/SKILL.md +55 -0
- package/.local/skills/repl_setup/.fingerprint +1 -0
- package/.local/skills/repl_setup/SKILL.md +90 -0
- package/.local/skills/repl_setup/references/angular.md +103 -0
- package/.local/skills/repl_setup/references/react_vite.md +121 -0
- package/.local/skills/repl_setup/references/vue.md +102 -0
- package/.local/skills/replit-docs/.fingerprint +1 -0
- package/.local/skills/replit-docs/SKILL.md +81 -0
- package/.local/skills/revenuecat/.fingerprint +1 -0
- package/.local/skills/revenuecat/SKILL.md +133 -0
- package/.local/skills/revenuecat/references/initial-setup.md +566 -0
- package/.local/skills/revenuecat/references/replit-revenuecat-sdk-docs.md +279 -0
- package/.local/skills/revenuecat/references/subsequent-management.md +63 -0
- package/.local/skills/security_scan/.fingerprint +1 -0
- package/.local/skills/security_scan/SKILL.md +51 -0
- package/.local/skills/skill-authoring/.fingerprint +1 -0
- package/.local/skills/skill-authoring/SKILL.md +99 -0
- package/.local/skills/slides/.fingerprint +1 -0
- package/.local/skills/slides/SKILL.md +523 -0
- package/.local/skills/slides/references/brand_research.md +86 -0
- package/.local/skills/slides/references/export_failures.md +36 -0
- package/.local/skills/slides/references/exporting.md +49 -0
- package/.local/skills/slides/references/importing.md +40 -0
- package/.local/skills/slides/references/visual_qa.md +121 -0
- package/.local/skills/slides/templates/90s-board-deck.md +285 -0
- package/.local/skills/slides/templates/academic-lecture.md +437 -0
- package/.local/skills/slides/templates/adventure-outdoor.md +845 -0
- package/.local/skills/slides/templates/analytics-dashboard.md +407 -0
- package/.local/skills/slides/templates/annual-report-cover.md +592 -0
- package/.local/skills/slides/templates/apple-minimal.md +570 -0
- package/.local/skills/slides/templates/architecture-studio.md +339 -0
- package/.local/skills/slides/templates/arctic-expedition.md +582 -0
- package/.local/skills/slides/templates/arctic-minimal.md +364 -0
- package/.local/skills/slides/templates/art-deco.md +308 -0
- package/.local/skills/slides/templates/artisan-ceramics.md +659 -0
- package/.local/skills/slides/templates/artisan-food.md +709 -0
- package/.local/skills/slides/templates/artisanal-chalkboard.md +623 -0
- package/.local/skills/slides/templates/astronomy-log.md +562 -0
- package/.local/skills/slides/templates/aurora-expedition.md +754 -0
- package/.local/skills/slides/templates/automotive-electric.md +339 -0
- package/.local/skills/slides/templates/bauhaus-avant-garde.md +443 -0
- package/.local/skills/slides/templates/bioluminescent-sea.md +814 -0
- package/.local/skills/slides/templates/biophilic-urban.md +565 -0
- package/.local/skills/slides/templates/blackboard-chalk.md +517 -0
- package/.local/skills/slides/templates/blueprint.md +478 -0
- package/.local/skills/slides/templates/botanical-index.md +822 -0
- package/.local/skills/slides/templates/botanical-wellness.md +611 -0
- package/.local/skills/slides/templates/brand-book-page.md +466 -0
- package/.local/skills/slides/templates/brutalist-concrete.md +362 -0
- package/.local/skills/slides/templates/brutalist-studio.md +325 -0
- package/.local/skills/slides/templates/brutalist-web-punk.md +591 -0
- package/.local/skills/slides/templates/celestial-observatory.md +453 -0
- package/.local/skills/slides/templates/ceramics-artisan.md +740 -0
- package/.local/skills/slides/templates/cinema-verite.md +415 -0
- package/.local/skills/slides/templates/claymorphism.md +737 -0
- package/.local/skills/slides/templates/collage-zine.md +357 -0
- package/.local/skills/slides/templates/copper-sage.md +325 -0
- package/.local/skills/slides/templates/coral-reef.md +508 -0
- package/.local/skills/slides/templates/corporate-grid.md +331 -0
- package/.local/skills/slides/templates/corporate-memphis-flat.md +938 -0
- package/.local/skills/slides/templates/cosmos-explorer.md +998 -0
- package/.local/skills/slides/templates/cpg-coffee.md +850 -0
- package/.local/skills/slides/templates/craft-coffee-roast.md +693 -0
- package/.local/skills/slides/templates/creative-agency.md +244 -0
- package/.local/skills/slides/templates/creative-director.md +875 -0
- package/.local/skills/slides/templates/culinary-brand.md +698 -0
- package/.local/skills/slides/templates/de-stijl-construct.md +320 -0
- package/.local/skills/slides/templates/desert-dunes-photo.md +483 -0
- package/.local/skills/slides/templates/desert-mirror.md +577 -0
- package/.local/skills/slides/templates/desert-modernism.md +439 -0
- package/.local/skills/slides/templates/developer-api-docs.md +654 -0
- package/.local/skills/slides/templates/editorial-magazine.md +694 -0
- package/.local/skills/slides/templates/engineering-blueprint.md +730 -0
- package/.local/skills/slides/templates/executive-mono.md +363 -0
- package/.local/skills/slides/templates/expedition-peak.md +298 -0
- package/.local/skills/slides/templates/fashion-campaign.md +681 -0
- package/.local/skills/slides/templates/fashion-editorial.md +497 -0
- package/.local/skills/slides/templates/figma-geometric.md +420 -0
- package/.local/skills/slides/templates/film-noir.md +857 -0
- package/.local/skills/slides/templates/fitness-athletics.md +663 -0
- package/.local/skills/slides/templates/flat-vector.md +912 -0
- package/.local/skills/slides/templates/fluid-luxe.md +665 -0
- package/.local/skills/slides/templates/furniture-brand.md +505 -0
- package/.local/skills/slides/templates/gallery-modern.md +436 -0
- package/.local/skills/slides/templates/gaming-esports.md +410 -0
- package/.local/skills/slides/templates/geodesic-future.md +368 -0
- package/.local/skills/slides/templates/glass-artisan.md +666 -0
- package/.local/skills/slides/templates/glassmorphism.md +320 -0
- package/.local/skills/slides/templates/greenhouse-botanical.md +662 -0
- package/.local/skills/slides/templates/healthcare-clarity.md +468 -0
- package/.local/skills/slides/templates/holographic-drop.md +663 -0
- package/.local/skills/slides/templates/hospitality-resort.md +608 -0
- package/.local/skills/slides/templates/hypercar-launch.md +557 -0
- package/.local/skills/slides/templates/infographic-title.md +306 -0
- package/.local/skills/slides/templates/ink-wash.md +244 -0
- package/.local/skills/slides/templates/investor-memo.md +509 -0
- package/.local/skills/slides/templates/isometric-data.md +703 -0
- package/.local/skills/slides/templates/ivory-boardroom.md +439 -0
- package/.local/skills/slides/templates/japanese-minimal.md +308 -0
- package/.local/skills/slides/templates/jazz-blue-note.md +478 -0
- package/.local/skills/slides/templates/kinetic-type.md +206 -0
- package/.local/skills/slides/templates/lagoon-luxury.md +320 -0
- package/.local/skills/slides/templates/lavender-pastoral.md +577 -0
- package/.local/skills/slides/templates/linear-precise.md +460 -0
- package/.local/skills/slides/templates/lineart-sketch.md +930 -0
- package/.local/skills/slides/templates/lost-temple.md +689 -0
- package/.local/skills/slides/templates/luxury-fashion.md +269 -0
- package/.local/skills/slides/templates/luxury-watch.md +678 -0
- package/.local/skills/slides/templates/marble-elegance.md +673 -0
- package/.local/skills/slides/templates/mediterranean-travel.md +811 -0
- package/.local/skills/slides/templates/memphis-design.md +426 -0
- package/.local/skills/slides/templates/midnight-jazz.md +260 -0
- package/.local/skills/slides/templates/minimalist-poster.md +538 -0
- package/.local/skills/slides/templates/molten-craft.md +743 -0
- package/.local/skills/slides/templates/moroccan-tile.md +738 -0
- package/.local/skills/slides/templates/motorsport.md +782 -0
- package/.local/skills/slides/templates/mountain-drift.md +311 -0
- package/.local/skills/slides/templates/music-label.md +641 -0
- package/.local/skills/slides/templates/neo-tokyo.md +637 -0
- package/.local/skills/slides/templates/neobrutalism.md +334 -0
- package/.local/skills/slides/templates/newspaper-broadsheet.md +687 -0
- package/.local/skills/slides/templates/noir-fragrance.md +672 -0
- package/.local/skills/slides/templates/non-profit-impact.md +320 -0
- package/.local/skills/slides/templates/ocean-breeze.md +398 -0
- package/.local/skills/slides/templates/origami-couture.md +636 -0
- package/.local/skills/slides/templates/origami-paper.md +308 -0
- package/.local/skills/slides/templates/pastel-playground.md +1114 -0
- package/.local/skills/slides/templates/perfume-noir.md +646 -0
- package/.local/skills/slides/templates/prairie-storm.md +625 -0
- package/.local/skills/slides/templates/private-equity-dark.md +506 -0
- package/.local/skills/slides/templates/renaissance-florals.md +225 -0
- package/.local/skills/slides/templates/retro-print.md +880 -0
- package/.local/skills/slides/templates/retro-vinyl-sleeve.md +229 -0
- package/.local/skills/slides/templates/riso-zine.md +1094 -0
- package/.local/skills/slides/templates/risograph.md +1151 -0
- package/.local/skills/slides/templates/saas-product-launch.md +972 -0
- package/.local/skills/slides/templates/scandinavian.md +372 -0
- package/.local/skills/slides/templates/skater-culture.md +583 -0
- package/.local/skills/slides/templates/slate-modern.md +469 -0
- package/.local/skills/slides/templates/sneaker-drop.md +1006 -0
- package/.local/skills/slides/templates/social-campaign.md +321 -0
- package/.local/skills/slides/templates/stained-glass.md +574 -0
- package/.local/skills/slides/templates/strategy-one-pager.md +508 -0
- package/.local/skills/slides/templates/street-drop.md +677 -0
- package/.local/skills/slides/templates/street-mural.md +588 -0
- package/.local/skills/slides/templates/studio-noir.md +466 -0
- package/.local/skills/slides/templates/sustainability-esg.md +686 -0
- package/.local/skills/slides/templates/swiss-archive.md +648 -0
- package/.local/skills/slides/templates/swiss-typographic.md +364 -0
- package/.local/skills/slides/templates/tea-ceremony.md +456 -0
- package/.local/skills/slides/templates/tech-earbuds.md +870 -0
- package/.local/skills/slides/templates/terracotta-studio.md +235 -0
- package/.local/skills/slides/templates/thesis-defense.md +390 -0
- package/.local/skills/slides/templates/travel-aerial.md +648 -0
- package/.local/skills/slides/templates/treasury-policy.md +475 -0
- package/.local/skills/slides/templates/tropical-lush.md +332 -0
- package/.local/skills/slides/templates/underwater-dream.md +627 -0
- package/.local/skills/slides/templates/urban-golden.md +342 -0
- package/.local/skills/slides/templates/vintage-apothecary.md +552 -0
- package/.local/skills/slides/templates/vintage-ticket-stub.md +637 -0
- package/.local/skills/slides/templates/vinyl-crate.md +550 -0
- package/.local/skills/slides/templates/vision-editorial.md +612 -0
- package/.local/skills/slides/templates/volcanic-edge.md +347 -0
- package/.local/skills/slides/templates/watercolor-city.md +827 -0
- package/.local/skills/slides/templates/wine-spirits.md +203 -0
- package/.local/skills/slides/templates/wireframe-prototype.md +718 -0
- package/.local/skills/slides/templates/workspace-design.md +782 -0
- package/.local/skills/slides/templates/workspace-modern.md +406 -0
- package/.local/skills/slides/templates/zen-meditation.md +284 -0
- package/.local/skills/slides/templates/zen-void.md +244 -0
- package/.local/skills/stripe/.fingerprint +1 -0
- package/.local/skills/stripe/SKILL.md +455 -0
- package/.local/skills/stripe/references/code-templates.md +588 -0
- package/.local/skills/threat_modeling/.fingerprint +1 -0
- package/.local/skills/threat_modeling/SKILL.md +240 -0
- package/.local/skills/validation/.fingerprint +1 -0
- package/.local/skills/validation/SKILL.md +237 -0
- package/.local/skills/video-js/.fingerprint +1 -0
- package/.local/skills/video-js/SKILL.md +793 -0
- package/.local/skills/video-js/references/audio.md +237 -0
- package/.local/skills/video-js/references/finalize_playback.md +16 -0
- package/.local/skills/video-js/references/first_build.md +87 -0
- package/.local/skills/video-js/references/scene_selectors.md +428 -0
- package/.local/skills/web-search/.fingerprint +1 -0
- package/.local/skills/web-search/SKILL.md +110 -0
- package/.local/skills/whop/.fingerprint +1 -0
- package/.local/skills/whop/SKILL.md +104 -0
- package/.local/skills/whop/references/code-templates.md +66 -0
- package/.local/skills/whop/references/whop-api.mjs +22 -0
- package/.local/skills/whop/references/whop-mcp.mjs +40 -0
- package/.local/skills/whop/references/whopClient.ts +54 -0
- package/.local/skills/workflows/.fingerprint +1 -0
- package/.local/skills/workflows/SKILL.md +245 -0
- package/.local/state/replit/agent/.agent_state_037313043e76b5c652f276153ea014a68570e145.bin +0 -0
- package/.local/state/replit/agent/.agent_state_0f5361c2a53ab324b2a941a797f6494891be084c.bin +0 -0
- package/.local/state/replit/agent/.agent_state_4272443827dc90eac8c5b1963a34ee86da70bb99.bin +0 -0
- package/.local/state/replit/agent/.agent_state_4f14655950cbd611b228b4f0e1f664b66a56af24.bin +0 -0
- package/.local/state/replit/agent/.agent_state_ce28955a30856aa3d095b3568c322c8ec098993f.bin +0 -0
- package/.local/state/replit/agent/.agent_state_ec5347d04ebfbf6cf850fe04e15590d423e96d1d.bin +0 -0
- package/.local/state/replit/agent/.agent_state_f68f8c104d815ccc387290f0fba2c87c818d29f1.bin +0 -0
- package/.local/state/replit/agent/.agent_state_f87c1803a179510408c57c7a380c26f5c2197a30.bin +0 -0
- package/.local/state/replit/agent/.agent_state_main.bin +0 -0
- package/.local/state/replit/agent/.latest.json +1 -0
- package/.local/state/replit/agent/repl_state.bin +0 -0
- package/.local/state/scribe/scribe.db +0 -0
- package/.local/state/scribe/scribe.db-shm +0 -0
- package/.local/state/scribe/scribe.db-wal +0 -0
- package/.local/state/workflow-logs/2tfQP52ibxJTy4lpZ7_JX/start_application.shell.exec.0 +27 -0
- package/.local/state/workflow-logs/6QjtmQThaHrR_QHf4v8HA/validation.external.managed.0 +31 -0
- package/.local/state/workflow-logs/6QjtmQThaHrR_QHf4v8HA/validation.json +1 -0
- package/.local/state/workflow-logs/85n-z_SHy4JSGaUeJIcxy/start_application.shell.exec.0 +18 -0
- package/.local/state/workflow-logs/GIL2Ql5124lrEqGrfRO4k/start_application.shell.exec.0 +222 -0
- package/.local/state/workflow-logs/LiH2MjG_9FwFummNHhDtO/validation.external.managed.0 +45 -0
- package/.local/state/workflow-logs/LiH2MjG_9FwFummNHhDtO/validation.json +1 -0
- package/.local/state/workflow-logs/OKp1t-fEO5U_zQi1SKOQ-/start_application.shell.exec.0 +10 -0
- package/.local/state/workflow-logs/Tpp7d6Hu6CO1NKGo_eAi7/validation.external.managed.0 +43 -0
- package/.local/state/workflow-logs/Tpp7d6Hu6CO1NKGo_eAi7/validation.json +1 -0
- package/.local/state/workflow-logs/UDYycRqPV-N4B7whZP-yX/start_application.shell.exec.0 +252 -0
- package/.local/state/workflow-logs/V8Anmvz-HuvAztflZ8yCo/start_application.shell.exec.0 +87 -0
- package/.local/state/workflow-logs/a5fMnjr9tCwoaFY93pYuN/start_application.shell.exec.0 +2519 -0
- package/.local/state/workflow-logs/ggFzYcdHfIlW0owP2pb0U/start_application.shell.exec.0 +28 -0
- package/.local/state/workflow-logs/hIHNKfUtPX3jZs8qXw_Vt/validation.external.managed.0 +41 -0
- package/.local/state/workflow-logs/hIHNKfUtPX3jZs8qXw_Vt/validation.json +1 -0
- package/.local/state/workflow-logs/nbLvtuGJXB0wPmnruB3BE/start_application.shell.exec.0 +199 -0
- package/.local/state/workflow-logs/uDhN6S0ypUEh0MphXaFGY/start_application.shell.exec.0 +73 -0
- package/.local/state/workflow-logs/xZqU5CdTivcY6KEDEcVmD/start_application.shell.exec.0 +17 -0
- package/.local/tasks/breadcrumb-component.md +89 -0
- package/.local/tasks/calendar-component.md +93 -0
- package/.local/tasks/invoicing-design-system-app.md +39 -0
- package/.local/tasks/task-1.md +42 -0
- package/.local/tasks/task-7.md +92 -0
- package/.local/tasks/task-8.md +96 -0
- package/.replit +34 -0
- package/.upm/store.json +1 -0
- package/README.md +121 -0
- package/app/dashboard/page.tsx +10 -0
- package/app/design-system/page.tsx +802 -0
- package/app/invoices/page.tsx +10 -0
- package/app/layout.tsx +28 -0
- package/app/login/page.tsx +5 -0
- package/app/page.tsx +93 -0
- package/app/signup/page.tsx +5 -0
- package/attached_assets/Colors_1779781016394.png +0 -0
- package/attached_assets/Navy_1779781016404.png +0 -0
- package/attached_assets/Orange_1779781016405.png +0 -0
- package/attached_assets/Screenshot_2026-05-26_at_1.14.29_PM_1779781472515.png +0 -0
- package/attached_assets/Screenshot_2026-05-26_at_11.28.20_AM_1779775171071.png +0 -0
- package/attached_assets/Screenshot_2026-05-26_at_2.04.42_PM_1779784485318.png +0 -0
- package/attached_assets/Typography_1779781016406.png +0 -0
- package/design-system/components/avatar.tsx +46 -0
- package/design-system/components/badge.tsx +34 -0
- package/design-system/components/breadcrumb.tsx +149 -0
- package/design-system/components/button.tsx +57 -0
- package/design-system/components/calendar.tsx +77 -0
- package/design-system/components/card.tsx +62 -0
- package/design-system/components/checkbox.tsx +27 -0
- package/design-system/components/date-picker.tsx +153 -0
- package/design-system/components/dialog.tsx +106 -0
- package/design-system/components/dropdown-menu.tsx +88 -0
- package/design-system/components/form-field.tsx +78 -0
- package/design-system/components/input.tsx +25 -0
- package/design-system/components/label.tsx +25 -0
- package/design-system/components/popover.tsx +30 -0
- package/design-system/components/radio-group.tsx +35 -0
- package/design-system/components/select.tsx +84 -0
- package/design-system/components/separator.tsx +24 -0
- package/design-system/components/switch.tsx +28 -0
- package/design-system/components/table.tsx +80 -0
- package/design-system/components/tabs.tsx +54 -0
- package/design-system/components/textarea.tsx +25 -0
- package/design-system/components/toast.tsx +118 -0
- package/design-system/components/toaster.tsx +38 -0
- package/design-system/components/tooltip.tsx +27 -0
- package/design-system/hooks/index.ts +2 -0
- package/design-system/hooks/use-media-query.ts +27 -0
- package/design-system/hooks/use-toast.ts +91 -0
- package/design-system/index.ts +36 -0
- package/design-system/lib/cn.ts +6 -0
- package/design-system/styles.css +142 -0
- package/design-system/tokens/tokens.css +149 -0
- package/design-system/tokens/tokens.ts +190 -0
- package/next.config.mjs +6 -0
- package/package.json +46 -0
- package/postcss.config.mjs +6 -0
- package/screens/_shared/app-shell.tsx +145 -0
- package/screens/auth/auth-screen.tsx +156 -0
- package/screens/dashboard/dashboard-screen.tsx +207 -0
- package/screens/index.ts +17 -0
- package/screens/invoices/invoices-screen.tsx +317 -0
- package/tailwind.config.ts +110 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Permissions — use real device features
|
|
2
|
+
|
|
3
|
+
General Flow:
|
|
4
|
+
|
|
5
|
+
- Use permission hooks: Camera.useCameraPermissions(), Location.useForegroundPermissions(), etc.
|
|
6
|
+
- If a feature requires permission, show a button to request it when not granted
|
|
7
|
+
- Never use fake/mock data - always use real device capabilities
|
|
8
|
+
- If user denies permission and canAskAgain is false, show Settings button (guard with Platform.OS !== "web" and wrap in try-catch)
|
|
9
|
+
|
|
10
|
+
Single Permission Pattern:
|
|
11
|
+
|
|
12
|
+
- Call permission hook: const [permission, requestPermission] = Camera.useCameraPermissions()
|
|
13
|
+
- If !permission, show loading
|
|
14
|
+
- If !permission.granted && permission.status === "denied" && !permission.canAskAgain, show "Open Settings" button
|
|
15
|
+
- Otherwise show button to request permission
|
|
16
|
+
- WRONG: Never check and return without giving user a way to request
|
|
17
|
+
|
|
18
|
+
PermissionResponse: { status, granted, canAskAgain, expires }
|
|
19
|
+
|
|
20
|
+
Per-Permission Guidelines:
|
|
21
|
+
|
|
22
|
+
- Camera (expo-camera, expo-image-picker): Button to take photo or select from gallery
|
|
23
|
+
- Location (expo-location): Use useForegroundPermissions hook. Accuracy levels: Lowest (3km), Low (1km), Balanced (100m), High (10m), Highest (best). Background location needs BOTH foreground AND background permissions
|
|
24
|
+
- Notifications (expo-notifications): Button or toggle (starts OFF) to enable
|
|
25
|
+
- Contacts (expo-contacts): Button to access. Provide alternative input if denied
|
|
26
|
+
- Media Library (expo-media-library): Button to access photos, videos, or audio
|
|
27
|
+
- Local Authentication (expo-local-authentication): Check hasHardwareAsync first. Provide PIN/password fallback
|
|
28
|
+
- Maps (react-native-maps): Use expo-location to request permission first, then showsUserLocation prop
|
|
29
|
+
|
|
30
|
+
Expo Go: Most permissions work. Background location and some advanced permissions need a development build.
|
|
31
|
+
|
|
32
|
+
## File Uploads
|
|
33
|
+
|
|
34
|
+
CRITICAL - Correct imports for file uploads:
|
|
35
|
+
|
|
36
|
+
- `import { File } from 'expo-file-system'` - File class for creating uploadable files
|
|
37
|
+
- `import { fetch } from 'expo/fetch'` - fetch function for uploading
|
|
38
|
+
- NEVER import fetch from expo-file-system (it doesn't exist there)
|
|
39
|
+
|
|
40
|
+
Usage: `const file = new File(uri); formData.append('file', file);`
|
|
41
|
+
PDFs: Open in WebView (react-native-webview) - preferred for iOS and Expo Go
|
|
42
|
+
|
|
43
|
+
## Library Compatibility
|
|
44
|
+
|
|
45
|
+
- ONLY use libraries from the Expo Go compatible list
|
|
46
|
+
- Do not install additional native libraries unless they're JS only
|
|
47
|
+
- Pre-installed: expo-router, @expo/vector-icons, @tanstack/react-query, react-native-reanimated
|
|
48
|
+
- Error boundary: Custom ErrorBoundary component (components/ErrorBoundary.tsx)
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
<first_build>
|
|
2
|
+
When building a new Expo app for the first time, follow this sequence for speed and quality.
|
|
3
|
+
|
|
4
|
+
**Scaffold** — these files are already opened in your context (do NOT re-read them). The scaffold also includes these components you won't see opened: `ErrorBoundary`, `ErrorFallback`, `KeyboardAwareScrollViewCompat`. Providers wired in `_layout.tsx`: SafeAreaProvider, ErrorBoundary, QueryClientProvider, GestureHandlerRootView, KeyboardProvider. Fonts: Inter (400/500/600/700) pre-loaded with SplashScreen gating. Packages pre-installed: expo-router, @expo/vector-icons, @tanstack/react-query, react-native-reanimated, react-native-keyboard-controller, react-native-gesture-handler, react-native-safe-area-context, expo-haptics.
|
|
5
|
+
|
|
6
|
+
## Build Sequence
|
|
7
|
+
|
|
8
|
+
1. **Generate images FIRST** — kick off ALL image generation via `generateImageAsync` (from the `media-generation` skill) in a single batch before writing any code. This includes:
|
|
9
|
+
- App icon & splash. Save to `assets/images/icon.png`.
|
|
10
|
+
- If the app is image-heavy (streaming, social, media, recipes, travel, etc.), also generate 2-3 content placeholder images for the initial UI (e.g., hero banners, category thumbnails, placeholder cards). Save to `assets/images/`. Do NOT over-generate — 2-3 images max for first build content.
|
|
11
|
+
Images generate in the background while you continue building.
|
|
12
|
+
|
|
13
|
+
2. **Plan the full app structure** — decide on all screens, components, context providers, navigation, and colors BEFORE writing any code. You need this plan to write everything in one batch.
|
|
14
|
+
|
|
15
|
+
3. **Write ALL files in a single parallel batch** — this is critical for speed. Every new file is independent. In ONE tool call, write:
|
|
16
|
+
- `constants/colors.ts` (updated theme)
|
|
17
|
+
- All component files (cards, inputs, headers, etc.)
|
|
18
|
+
- All context/provider files
|
|
19
|
+
- All screen files (`app/index.tsx`, `app/detail.tsx`, etc.)
|
|
20
|
+
Do NOT write files one at a time. Batch every new file into a single parallel write call.
|
|
21
|
+
|
|
22
|
+
4. **Update existing scaffold files in a second parallel batch** — in ONE tool call, edit:
|
|
23
|
+
- `app/_layout.tsx` (add new providers, adjust Stack screens)
|
|
24
|
+
- `app/(tabs)/_layout.tsx` (add/remove tabs, or delete if not using tabs)
|
|
25
|
+
- `app.json` (update name if needed)
|
|
26
|
+
|
|
27
|
+
5. **Install additional packages** if any are needed beyond what's pre-installed.
|
|
28
|
+
|
|
29
|
+
6. **Restart workflow** once at the end — not before. After restarting, check logs (`refresh_all_logs`) to confirm the app is running without errors. Fix any errors before presenting.
|
|
30
|
+
|
|
31
|
+
## First Build Rules
|
|
32
|
+
|
|
33
|
+
- **Expo apps default to frontend-only.** Unless the user explicitly asks for a backend, database, or server-side features, do NOT provision a database, write an OpenAPI spec, run codegen, or create backend routes. Use AsyncStorage for all local persistence. This is the single most common mistake — avoid it.
|
|
34
|
+
- Do NOT restart the workflow until all files are written.
|
|
35
|
+
- Do NOT re-read scaffold files — their content is documented above.
|
|
36
|
+
- Do NOT take screenshots while building — take exactly ONE at the very end after restarting the workflow to confirm the app is live (see Screenshot Rules below).
|
|
37
|
+
- Every feature must be complete — no placeholder buttons or unfinished states.
|
|
38
|
+
- Only use Expo Go compatible packages.
|
|
39
|
+
- **Maximize parallel tool calls.** Writing 10 files sequentially is 10x slower than writing them in one batch. If files don't depend on each other, write them together.
|
|
40
|
+
|
|
41
|
+
## Scope Guidance
|
|
42
|
+
|
|
43
|
+
**Features to AVOID in the first build:**
|
|
44
|
+
|
|
45
|
+
- Backend databases or servers (use AsyncStorage)
|
|
46
|
+
- Complex integration with multiple third-party services
|
|
47
|
+
- Push notifications
|
|
48
|
+
|
|
49
|
+
**Features you CAN include:**
|
|
50
|
+
|
|
51
|
+
- GenAI/External integrations (OpenAI, Anthropic, etc.)
|
|
52
|
+
- Single integration use (RevenueCat, Firebase, etc.)
|
|
53
|
+
- CRUD operations with AsyncStorage
|
|
54
|
+
- Forms, navigation, routing
|
|
55
|
+
- Native device capabilities (camera, location) when relevant
|
|
56
|
+
|
|
57
|
+
## Design Quality
|
|
58
|
+
|
|
59
|
+
Design quality is the top priority. Build a production-ready app with polished UI — no placeholder buttons or unfinished states. Draw inspiration from market-leading apps (Airbnb, Instagram, Notion, Apple Notes, ChatGPT Mobile).
|
|
60
|
+
|
|
61
|
+
**Component standards** — every component must be complete with proper states:
|
|
62
|
+
|
|
63
|
+
- Loading: Skeleton shimmer or activity indicator
|
|
64
|
+
- Empty: Icon + text (no generated images, no emojis)
|
|
65
|
+
- Error: Message + retry button
|
|
66
|
+
- Buttons: Press feedback (opacity/scale), disabled state
|
|
67
|
+
- Lists: Empty state, pull-to-refresh where appropriate
|
|
68
|
+
- Forms: Validation feedback
|
|
69
|
+
- Key actions: Haptic feedback via expo-haptics
|
|
70
|
+
|
|
71
|
+
**Navigation structure:**
|
|
72
|
+
The template comes with a tab bar and header, but most apps don't need them. Evaluate your app's needs:
|
|
73
|
+
|
|
74
|
+
- Single-screen apps (chat, camera, simple tools): NO tabs, NO header. Delete `app/(tabs)/`, create `app/index.tsx`.
|
|
75
|
+
- Multi-section apps (social, e-commerce): Tabs may be useful. Hide the header with `headerShown: false` in Tabs screenOptions.
|
|
76
|
+
- Market-leading apps like Instagram, ChatGPT, WhatsApp have minimal chrome — no visible title bars.
|
|
77
|
+
- Liquid glass tab bars (NativeTabs) are a major wow factor for iOS 26+ users.
|
|
78
|
+
|
|
79
|
+
**Design principles:**
|
|
80
|
+
|
|
81
|
+
- Draw inspiration from iOS, Instagram, Airbnb, Coinbase
|
|
82
|
+
- Mobile-native design patterns, not web-like designs
|
|
83
|
+
- Avoid generic aesthetics (purple gradients on white, predictable layouts)
|
|
84
|
+
- Every screen should feel cohesive
|
|
85
|
+
- Icons over text for buttons — use @expo/vector-icons, NEVER emojis
|
|
86
|
+
- Choose a font that matches the app's personality (see Typography below)
|
|
87
|
+
|
|
88
|
+
**Typography personality:**
|
|
89
|
+
|
|
90
|
+
- Chat/AI apps: Inter, DM Sans, or Source Sans Pro for clean readability
|
|
91
|
+
- Finance/Crypto: Inter, DM Sans, or Roboto for trust and clarity
|
|
92
|
+
- Creative/Social: Poppins, Nunito, or Montserrat for friendliness
|
|
93
|
+
- Fitness/Health: Rubik, Work Sans, or Outfit for energy
|
|
94
|
+
- Notes/Productivity: Merriweather (serif) + Inter (sans) for hierarchy
|
|
95
|
+
|
|
96
|
+
**Color choices** are very important. Be inspired by production-level applications:
|
|
97
|
+
|
|
98
|
+
- Note Taking Apps: Notion, Apple Notes
|
|
99
|
+
- AI Chatbots: ChatGPT Mobile App, Claude Mobile App
|
|
100
|
+
- Social: Instagram, Twitter
|
|
101
|
+
- Finance: Coinbase, Robinhood
|
|
102
|
+
|
|
103
|
+
## Screenshot Rules
|
|
104
|
+
|
|
105
|
+
**First build:** Take exactly ONE screenshot at the very end, after restarting the workflow, to confirm the app is live and not crashing. That is it. Do NOT screenshot repeatedly to iterate on UI or debug layout issues during the first build.
|
|
106
|
+
|
|
107
|
+
**After first build (iterations):** Screenshots are allowed for verifying specific bug fixes or user-requested changes, but do NOT loop — if a screenshot shows a problem, fix the code and move on. Do NOT take another screenshot to verify the fix unless the user asks. Trust your code changes.
|
|
108
|
+
|
|
109
|
+
**Web preview caveats:**
|
|
110
|
+
|
|
111
|
+
- Safe area insets render differently on web vs native — content may appear clipped at top/bottom
|
|
112
|
+
- The web preview runs in an iframe which affects safe area calculations
|
|
113
|
+
- Do NOT debug layout issues visible only in web screenshots — these are web rendering artifacts, not real bugs. The native preview (Expo Go) is the source of truth.
|
|
114
|
+
</first_build>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# React Context Docs
|
|
2
|
+
|
|
3
|
+
React context usage for shared state:
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { createContext, useContext, useState, useMemo, ReactNode } from 'react';
|
|
7
|
+
import { useQuery } from '@tanstack/react-query';
|
|
8
|
+
|
|
9
|
+
interface TodoContextValue {
|
|
10
|
+
todos: Todo[];
|
|
11
|
+
addTodo: (todo: Todo) => void;
|
|
12
|
+
isLoading: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const TodoContext = createContext<TodoContextValue | null>(null);
|
|
16
|
+
|
|
17
|
+
export function TodoProvider({ children }: { children: ReactNode }) {
|
|
18
|
+
const [todos, setTodos] = useState<Todo[]>([]);
|
|
19
|
+
const todosQuery = useQuery({ queryKey: ['todos'] });
|
|
20
|
+
|
|
21
|
+
const addTodo = (todo: Todo) => {
|
|
22
|
+
setTodos(prev => [...prev, todo]);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const value = useMemo(() => ({
|
|
26
|
+
todos,
|
|
27
|
+
addTodo,
|
|
28
|
+
isLoading: todosQuery.isLoading,
|
|
29
|
+
}), [todos, todosQuery.isLoading]);
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<TodoContext.Provider value={value}>
|
|
33
|
+
{children}
|
|
34
|
+
</TodoContext.Provider>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function useTodos() {
|
|
39
|
+
const context = useContext(TodoContext);
|
|
40
|
+
if (!context) {
|
|
41
|
+
throw new Error('useTodos must be used within a TodoProvider');
|
|
42
|
+
}
|
|
43
|
+
return context;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Custom hooks can use the context hook
|
|
47
|
+
export function useFilteredTodos(search: string) {
|
|
48
|
+
const { todos } = useTodos();
|
|
49
|
+
return useMemo(() => todos.filter(t => t.title.includes(search)), [todos, search]);
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- Don't wrap RootLayoutNav in context - wrap at root layout level
|
|
54
|
+
- React Query provider should be top level, other providers nested inside
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c20ea4eda39d780d5287a39bea7a9a70
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: external_apis
|
|
3
|
+
description: "Access external APIs through Replit-managed billing"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# External APIs
|
|
7
|
+
|
|
8
|
+
This skill provides access to external APIs through Replit-managed
|
|
9
|
+
passthrough billing. Requests are proxied through OpenInt with
|
|
10
|
+
managed credentials.
|
|
11
|
+
|
|
12
|
+
## Recommended workflow
|
|
13
|
+
|
|
14
|
+
1. Open the connector reference for request and response details.
|
|
15
|
+
2. Call `externalApi__<connector_name>` from `code_execution`.
|
|
16
|
+
3. Use `query` for URL parameters and parse `result.body`.
|
|
17
|
+
4. For media URLs, save files under `attached_assets/` and present them.
|
|
18
|
+
|
|
19
|
+
## Available APIs
|
|
20
|
+
|
|
21
|
+
- [Brave](references/brave.md) - Search real web image results through Brave passthrough billing.
|
|
22
|
+
- [ElevenLabs](references/elevenlabs.md)
|
|
23
|
+
- [Exa](references/exa.md)
|
|
24
|
+
- [Firecrawl](references/firecrawl.md)
|
|
25
|
+
- [Nano Banana](references/nano_banana.md)
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Brave
|
|
2
|
+
|
|
3
|
+
Proxy requests to Brave via Replit-managed billing.
|
|
4
|
+
|
|
5
|
+
## Callback
|
|
6
|
+
|
|
7
|
+
Use `externalApi__brave` in `code_execution`.
|
|
8
|
+
|
|
9
|
+
## Allowed operations
|
|
10
|
+
|
|
11
|
+
- `GET` `/res/v1/images/search/*?` - Brave Image Search
|
|
12
|
+
|
|
13
|
+
Authorization is handled automatically by Replit. Do not pass an `Authorization` header.
|
|
14
|
+
|
|
15
|
+
## Skill
|
|
16
|
+
|
|
17
|
+
## Brave image search
|
|
18
|
+
|
|
19
|
+
Search real web image results through Brave passthrough billing.
|
|
20
|
+
|
|
21
|
+
### When to use
|
|
22
|
+
|
|
23
|
+
- The user asks for real-world images from the web
|
|
24
|
+
- You need image URLs to support analysis, reports, or artifacts
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Callback quickstart
|
|
29
|
+
|
|
30
|
+
Use `externalApi__brave` with this allowed operation:
|
|
31
|
+
|
|
32
|
+
- `GET /res/v1/images/search`
|
|
33
|
+
|
|
34
|
+
Put URL params in `query`.
|
|
35
|
+
|
|
36
|
+
```javascript
|
|
37
|
+
const result = await externalApi__brave({
|
|
38
|
+
path: '/res/v1/images/search',
|
|
39
|
+
method: 'GET',
|
|
40
|
+
query: {q: 'vintage travel posters', count: '6'},
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
const items = result.body?.results ?? []
|
|
44
|
+
for (const item of items) {
|
|
45
|
+
console.log(item.title, item.properties?.url)
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Common response paths:
|
|
50
|
+
|
|
51
|
+
- Image URL: `body.results[i].properties.url`
|
|
52
|
+
- Title: `body.results[i].title`
|
|
53
|
+
|
|
54
|
+
Authorization is managed by passthrough billing. Do not set an
|
|
55
|
+
`Authorization` header manually.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Render Brave images in chat
|
|
60
|
+
|
|
61
|
+
For chat panel rendering, use the `media-generation` skill flow:
|
|
62
|
+
|
|
63
|
+
1. Select up to 4 relevant results
|
|
64
|
+
2. Download each URL to `attached_assets/brave_images/`
|
|
65
|
+
3. Call `presentAsset({awaitUserInput: false})` for each saved file
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
const fs = await import('node:fs/promises')
|
|
69
|
+
const path = await import('node:path')
|
|
70
|
+
|
|
71
|
+
const result = await externalApi__brave({
|
|
72
|
+
path: '/res/v1/images/search',
|
|
73
|
+
method: 'GET',
|
|
74
|
+
query: {q: 'mid-century chair', count: '4'},
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
const items = (result.body?.results ?? []).slice(0, 4)
|
|
78
|
+
await fs.mkdir('attached_assets/brave_images', {recursive: true})
|
|
79
|
+
|
|
80
|
+
for (const [index, item] of items.entries()) {
|
|
81
|
+
const imageUrl = item.properties?.url
|
|
82
|
+
if (!imageUrl) continue
|
|
83
|
+
|
|
84
|
+
const response = await fetch(imageUrl)
|
|
85
|
+
if (!response.ok) continue
|
|
86
|
+
|
|
87
|
+
const filePath = path.join(
|
|
88
|
+
'attached_assets/brave_images',
|
|
89
|
+
'result_' + String(index + 1) + '.jpg',
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
await fs.writeFile(
|
|
93
|
+
filePath,
|
|
94
|
+
Buffer.from(await response.arrayBuffer()),
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
await presentAsset({
|
|
98
|
+
filePath,
|
|
99
|
+
title: item.title ?? 'Brave image',
|
|
100
|
+
awaitUserInput: false,
|
|
101
|
+
})
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Example
|
|
106
|
+
|
|
107
|
+
```javascript
|
|
108
|
+
const result = await externalApi__brave({
|
|
109
|
+
path: '/res/v1/images/search/*?',
|
|
110
|
+
method: 'GET',
|
|
111
|
+
query: {},
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
console.log(result.status)
|
|
115
|
+
console.log(result.body)
|
|
116
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# ElevenLabs
|
|
2
|
+
|
|
3
|
+
Proxy requests to ElevenLabs via Replit-managed billing.
|
|
4
|
+
|
|
5
|
+
## Callback
|
|
6
|
+
|
|
7
|
+
Use `externalApi__elevenlabs` in `code_execution`.
|
|
8
|
+
|
|
9
|
+
## Allowed operations
|
|
10
|
+
|
|
11
|
+
- `POST` `/v1/text-to-speech/:voice_id{/stream}?{/with-timestamps}?` - Text to Speech (non-streaming, streaming, with-timestamps, and stream/with-timestamps variants)
|
|
12
|
+
- `POST` `/v1/text-to-dialogue{/stream}?{/with-timestamps}?` - Text to Dialogue (multi-voice; non-streaming, streaming, with-timestamps, and stream/with-timestamps variants)
|
|
13
|
+
- `POST` `/v1/speech-to-text` - Speech to Text (Scribe v1/v2)
|
|
14
|
+
- `POST` `/v1/speech-to-speech/:voice_id{/stream}?` - Voice Changer (speech-to-speech; non-streaming and streaming variants)
|
|
15
|
+
- `POST` `/v1/sound-generation` - Sound Effects (text → sound generation)
|
|
16
|
+
- `POST` `/v1/audio-isolation{/stream}?` - Voice Isolator (audio-isolation; non-streaming and streaming variants)
|
|
17
|
+
- `POST` `/v1/forced-alignment` - Forced Alignment (audio + text → word/char timings)
|
|
18
|
+
- `POST` `/v1/text-to-voice/:variant(design|create-previews)` - Voice Design (text → three voice previews; charged once on response.text characters). Covers `/design` and legacy `/create-previews`.
|
|
19
|
+
- `POST` `/v1/text-to-voice/:voice_id/remix` - Voice Remix (remix existing voice → three previews; charged once on response.text characters). Shares billing mechanics with text_to_voice_design.
|
|
20
|
+
- `POST` `/v1/dubbing` - Dubbing v1 — creates a dub job; bills on response expected_duration_sec × tier-per-sec (watermark vs clean)
|
|
21
|
+
- `POST` `/v1/music{/:variant(detailed|stream)}?` - Music composition (non-streaming binary, multipart-detailed with JSON metadata, and event-stream variants)
|
|
22
|
+
- `POST` `/v1/music/video-to-music` - Video to Music (multipart videos → generated music matching combined video length)
|
|
23
|
+
- `POST` `/v1/music/stem-separation` - Music Stem Separation (split input audio into N stems; bills on multipart input file size ÷ nominal 128 kbps — see preamble for bitrate-assumption rationale)
|
|
24
|
+
- `GET` | `POST` | `PUT` | `PATCH` | `DELETE` `/:path+` - Catch-all — no charge for paths not explicitly listed (CRUD, metadata, workspace/convai management).
|
|
25
|
+
|
|
26
|
+
Authorization is handled automatically by Replit. Do not pass an `Authorization` header.
|
|
27
|
+
|
|
28
|
+
## Quickstart
|
|
29
|
+
|
|
30
|
+
1. Call the callback with a supported `path` and `method`.
|
|
31
|
+
2. Put URL params in `query` and inspect `result.body`.
|
|
32
|
+
|
|
33
|
+
## Example
|
|
34
|
+
|
|
35
|
+
```javascript
|
|
36
|
+
const result = await externalApi__elevenlabs({
|
|
37
|
+
path: '/v1/text-to-speech/:voice_id{/stream}?{/with-timestamps}?',
|
|
38
|
+
method: 'POST',
|
|
39
|
+
query: {},
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
console.log(result.status)
|
|
43
|
+
console.log(result.body)
|
|
44
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Exa
|
|
2
|
+
|
|
3
|
+
Proxy requests to Exa via Replit-managed billing.
|
|
4
|
+
|
|
5
|
+
## Callback
|
|
6
|
+
|
|
7
|
+
Use `externalApi__exa` in `code_execution`.
|
|
8
|
+
|
|
9
|
+
## Allowed operations
|
|
10
|
+
|
|
11
|
+
- `POST` `/search` - Web search (auto, neural, fast, deep, deep-reasoning).
|
|
12
|
+
- `POST` `/contents` - Page contents retrieval (text, highlights, summary, subpages, livecrawl).
|
|
13
|
+
- `POST` `/findSimilar` - Find similar links by URL similarity (optional contents pulldown).
|
|
14
|
+
- `POST` `/answer` - Web-grounded answer (with optional SSE streaming).
|
|
15
|
+
|
|
16
|
+
Authorization is handled automatically by Replit. Do not pass an `Authorization` header.
|
|
17
|
+
|
|
18
|
+
## Quickstart
|
|
19
|
+
|
|
20
|
+
1. Call the callback with a supported `path` and `method`.
|
|
21
|
+
2. Put URL params in `query` and inspect `result.body`.
|
|
22
|
+
|
|
23
|
+
## Example
|
|
24
|
+
|
|
25
|
+
```javascript
|
|
26
|
+
const result = await externalApi__exa({
|
|
27
|
+
path: '/search',
|
|
28
|
+
method: 'POST',
|
|
29
|
+
query: {},
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
console.log(result.status)
|
|
33
|
+
console.log(result.body)
|
|
34
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Firecrawl
|
|
2
|
+
|
|
3
|
+
Proxy requests to Firecrawl via Replit-managed billing.
|
|
4
|
+
|
|
5
|
+
## Callback
|
|
6
|
+
|
|
7
|
+
Use `externalApi__firecrawl` in `code_execution`.
|
|
8
|
+
|
|
9
|
+
## Allowed operations
|
|
10
|
+
|
|
11
|
+
- `POST` `/scrape` - Scrape any URL and get its content in markdown, HTML, or other formats.
|
|
12
|
+
- `POST` `/batch/scrape` - Scrape multiple URLs and get their content in markdown, HTML, or other formats.
|
|
13
|
+
- `POST` `/map` - Discover all URLs on a website without scraping their content.
|
|
14
|
+
- `POST` `/crawl` - Scrape an entire website by following links from a starting URL. The same per-page scrape option costs apply to each page crawled.
|
|
15
|
+
- `POST` `/agent` - Autonomous web research agent. 5 daily runs free; usage-based pricing beyond that.
|
|
16
|
+
- `POST` `/search` - Search the web and optionally scrape the results. Rounded up per 10 results (e.g., 11 results = 4 credits). Additional per-page scrape costs apply to each result that is scraped. Enterprise ZDR search costs 10 credits / 10 results.
|
|
17
|
+
- `POST` | `GET` | `DELETE` `/*` - All other paths are no-charge.
|
|
18
|
+
|
|
19
|
+
Authorization is handled automatically by Replit. Do not pass an `Authorization` header.
|
|
20
|
+
|
|
21
|
+
## Quickstart
|
|
22
|
+
|
|
23
|
+
1. Call the callback with a supported `path` and `method`.
|
|
24
|
+
2. Put URL params in `query` and inspect `result.body`.
|
|
25
|
+
|
|
26
|
+
## Example
|
|
27
|
+
|
|
28
|
+
```javascript
|
|
29
|
+
const result = await externalApi__firecrawl({
|
|
30
|
+
path: '/scrape',
|
|
31
|
+
method: 'POST',
|
|
32
|
+
query: {},
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
console.log(result.status)
|
|
36
|
+
console.log(result.body)
|
|
37
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Nano Banana
|
|
2
|
+
|
|
3
|
+
Proxy requests to Nano Banana via Replit-managed billing.
|
|
4
|
+
|
|
5
|
+
## Callback
|
|
6
|
+
|
|
7
|
+
Use `externalApi__nano_banana` in `code_execution`.
|
|
8
|
+
|
|
9
|
+
## Allowed operations
|
|
10
|
+
|
|
11
|
+
- `POST` `/gemini-3.1-flash-image-preview:generateContent` - Generate image (Nano Banana 2 / Flash)
|
|
12
|
+
- `POST` `/gemini-3-pro-image-preview:generateContent` - Generate image (Nano Banana Pro)
|
|
13
|
+
- `POST` `/gemini-2.5-flash-image:generateContent` - Generate or edit image (Nano Banana v1)
|
|
14
|
+
|
|
15
|
+
Authorization is handled automatically by Replit. Do not pass an `Authorization` header.
|
|
16
|
+
|
|
17
|
+
## Quickstart
|
|
18
|
+
|
|
19
|
+
1. Call the callback with a supported `path` and `method`.
|
|
20
|
+
2. Put URL params in `query` and inspect `result.body`.
|
|
21
|
+
|
|
22
|
+
## Example
|
|
23
|
+
|
|
24
|
+
```javascript
|
|
25
|
+
const result = await externalApi__nano_banana({
|
|
26
|
+
path: '/gemini-3.1-flash-image-preview:generateContent',
|
|
27
|
+
method: 'POST',
|
|
28
|
+
query: {},
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
console.log(result.status)
|
|
32
|
+
console.log(result.body)
|
|
33
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3a30de262964bb0b1105738cb22f36ac
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: follow-up-tasks
|
|
3
|
+
description: Propose follow-up tasks before marking your current task as complete.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Follow-Up Tasks
|
|
7
|
+
|
|
8
|
+
As you work on your current task, watch for additional work that should be done as follow-up tasks — separate units of work related to your current task but outside its scope.
|
|
9
|
+
|
|
10
|
+
Categorize each follow-up task using one of these categories:
|
|
11
|
+
|
|
12
|
+
- **`incomplete_scope`**: Parts of the original request that you intentionally deferred to keep the current task focused
|
|
13
|
+
- **`next_steps`**: Functionality or features users would want next, whether directly extending what you just built or addressing unmet needs in the project
|
|
14
|
+
- **`tech_debt`**: Code quality issues, hardcoded values, shortcuts, or refactoring opportunities you noticed while working
|
|
15
|
+
- **`test_gaps`**: Tests that should be written but aren't part of the current task's deliverable
|
|
16
|
+
|
|
17
|
+
Write titles for non-technical users — lead with impact, not implementation - especially for tech debt and test gaps.
|
|
18
|
+
|
|
19
|
+
Before submitting, review each title by asking: "Would a non-technical user understand what this means and why they'd want it?" If not, rewrite it. Examples:
|
|
20
|
+
|
|
21
|
+
- "Store recipes in a database with full CRUD support" -> "Let users add, edit, and delete their own recipes"
|
|
22
|
+
- "Add server-side validation for recipe API endpoints" -> "Prevent broken recipes from being saved"
|
|
23
|
+
|
|
24
|
+
Before marking your task as complete, propose up to 3 follow-up tasks by calling `proposeFollowUpTasks` — NOT `bulkCreateProjectTasks` or `createProjectTask`. The `proposeFollowUpTasks` callback automatically links follow-ups to your current task as the parent — required for correct task hierarchy. Submit them all in a single call with clear titles, descriptions, and a `category` (required). Keep only the highest-impact follow-ups. Each description should include relevant file paths and enough context for another agent to pick up the work independently.
|
|
25
|
+
|
|
26
|
+
Only propose follow-ups that represent genuine, actionable work.
|
|
27
|
+
|
|
28
|
+
- Do not propose follow-ups that overlap with tasks already visible in the project task list
|
|
29
|
+
- Do not propose follow-ups for trivial items or things already in your current task's scope
|
|
30
|
+
- Do not propose follow-ups for agent housekeeping (e.g. updating replit.md, adding comments, improving documentation — handle those inline)
|
|
31
|
+
|
|
32
|
+
If your current task already has downstream tasks depending on it (listed in your task assignment), skip calling `proposeFollowUpTasks` entirely — those tasks already cover the planned next steps.
|
|
33
|
+
|
|
34
|
+
`proposeFollowUpTasks` is **one-shot per assigned project task** — not per turn, not per subfeature, not per `mark_task_complete` cycle. The system rejects duplicate calls. If you're marking complete again after more work on the same assigned task, review your previously proposed follow-ups; if any are now stale, call `markFollowUpTaskObsolete` to retract them.
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
```javascript
|
|
39
|
+
// Log the result so you have taskRefs for later use with markFollowUpTaskObsolete
|
|
40
|
+
const followUps = await proposeFollowUpTasks({
|
|
41
|
+
tasks: [
|
|
42
|
+
{
|
|
43
|
+
title: "Let users save favorite recipes to a personal collection",
|
|
44
|
+
category: "next_steps",
|
|
45
|
+
description: `# Let users save favorite recipes to a personal collection
|
|
46
|
+
|
|
47
|
+
## What & Why
|
|
48
|
+
Users currently can't keep track of recipes they like. A favorites collection is the natural next feature on top of the existing browsing flow — it gives the app stickiness and a reason to return.
|
|
49
|
+
|
|
50
|
+
## Done looks like
|
|
51
|
+
- Authenticated users can favorite / unfavorite a recipe from the list and detail pages
|
|
52
|
+
- A "My favorites" page shows the user's collection
|
|
53
|
+
- Favorites persist across sessions
|
|
54
|
+
|
|
55
|
+
## Relevant files
|
|
56
|
+
- \`src/pages/recipes/[id].tsx\`
|
|
57
|
+
- \`src/components/RecipeCard.tsx\``
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
title: "Save recipes permanently so they aren't lost on refresh",
|
|
61
|
+
category: "tech_debt",
|
|
62
|
+
description: `# Save recipes permanently so they aren't lost on refresh
|
|
63
|
+
|
|
64
|
+
## What & Why
|
|
65
|
+
Recipe data is hardcoded in a static file. Users who add or edit recipes will lose their changes on page refresh. Moving data to the database ensures persistence.
|
|
66
|
+
|
|
67
|
+
## Done looks like
|
|
68
|
+
- Recipes are stored in the database and served via API
|
|
69
|
+
- Users can add, edit, and delete recipes without losing data
|
|
70
|
+
|
|
71
|
+
## Relevant files
|
|
72
|
+
- \`src/data/recipes.ts\``
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
console.log(followUps.map(t => ({ taskRef: t.taskRef, title: t.title })));
|
|
77
|
+
|
|
78
|
+
// Remove an obsolete follow-up
|
|
79
|
+
await markFollowUpTaskObsolete({ taskRef: "#12" });
|
|
80
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
db9ce85b0a95e288311aa7629b87cd7b
|