@jasonhedman/toolkit-dev
AMCP server package toolkit.dev
Install
agr install @jasonhedman/toolkit-dev --target claudeThis artifact does not publish files for Claude.
Document
{ "name": "toolkit.dev", "version": "0.1.0", "private": true, "type": "module", "scripts": { "build-pure": "next build", "build": "dotenv -e .env.local -- prisma migrate deploy && next build", "check": "next lint && tsc --noEmit", "db:generate": "dotenv -e .env.local -- prisma migrate dev", "db:migrate": "dotenv -e .env.local -- prisma migrate deploy", "db:push": "dotenv -e .env.local -- prisma db push", "db:studio": "dotenv -e .env.local -- prisma studio", "db:reset": "dotenv -e .env.local -- prisma migrate reset", "dev": "pnpm dlx tsx setup/index.ts && next dev --turbo", "format:check": "prettier --check "/*.{ts,tsx,js,jsx,mdx}" --cache", "format:write": "prettier --write "/*.{ts,tsx,js,jsx,mdx}" --cache", "postinstall": "prisma generate", "lint": "next lint", "lint:fix": "next lint --fix", "preview": "next build && next start", "start": "next start", "typecheck": "tsc --noEmit", "ci": "pnpm run format:check && pnpm run check && pnpm run build-pure", "shiki:generate": "pnpm dlx tsx src/components/ui/code/codegen.ts && pnpm format:write" }, "dependencies": { "@ai-sdk/anthropic": "^1.2.12", "@ai-sdk/fal": "^0.1.12", "@ai-sdk/fireworks": "^0.2.16", "@ai-sdk/google": "^1.2.19", "@ai-sdk/groq": "^1.2.9", "@ai-sdk/luma": "^0.1.8", "@ai-sdk/openai": "^1.3.22", "@ai-sdk/perplexity": "^1.1.9", "@ai-sdk/react": "^1.2.12", "@ai-sdk/xai": "^1.2.16", "@auth/prisma-adapter": "^2.7.2", "@discordjs/rest": "^2.5.1", "@e2b/code-interpreter": "^1.5.1", "@hookform/resolvers": "^5.2.0", "@icons-pack/react-simple-icons": "^13.7.0", "@llm-ui/code": "^0.13.3", "@llm-ui/markdown": "^0.13.3", "@llm-ui/react": "^0.13.3", "@modelcontextprotocol/sdk": "^1.12.0", "@notionhq/client": "^3.1.3", "@openrouter/ai-sdk-provider": "^0.7.2", "@prisma/client": "^6.13.0", "@radix-ui/react-accordion": "^1.2.11", "@radix-ui/react-alert-dialog": "^1.1.14", "@radix-ui/react-avatar": "^1.1.10", "@radix-ui/react-checkbox": "^1.3.2", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-popover": "^1.1.14", "@radix-ui/react-portal": "^1.1.9", "@radix-ui/react-scroll-area": "^1.2.9", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slider": "^1.3.5", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.2.5", "@radix-ui/react-tabs": "^1.1.12", "@radix-ui/react-tooltip": "^1.2.7", "@radix-ui/react-use-controllable-state": "^1.2.2", "@spotify/web-api-ts-sdk": "^1.2.0", "@t3-oss/env-nextjs": "^0.12.0", "@tanstack/react-query": "^5.69.0", "@tanstack/react-table": "^8.21.3", "@trpc/client": "^11.0.0", "@trpc/react-query": "^11.0.0", "@trpc/server": "^11.0.0", "@vercel/analytics": "^1.5.0", "@vercel/blob": "^1.1.1", "@vercel/mcp-adapter": "^0.11.1", "@vercel/speed-insights": "^1.2.0", "@xyflow/react": "^12.8.2", "ai": "^4.3.16", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "cookies-next": "^6.0.0", "date-fns": "^4.1.0", "etsy-ts": "^4.2.0", "discord-api-types": "^0.38.17", "exa-js": "^1.8.8", "fast-deep-equal": "^3.1.3", "googleapis": "^150.0.1", "hast-util-to-jsx-runtime": "^2.3.6", "html-react-parser": "^5.2.6", "lottie-react": "^2.4.1", "lucide-react": "^0.513.0", "lumaai": "^1.16.0", "mem0ai": "^2.1.30", "motion": "^12.16.0", "next": "^15.2.3", "next-auth": "5.0.0-beta.25", "next-themes": "^0.4.6", "octokit": "^5.0.3", "react": "^19.0.0", "react-dom": "^19.0.0", "react-hook-form": "^7.61.1", "react-markdown": "^10.1.0", "recharts": "^2.15.3", "redis": "^5.5.6", "rehype-katex": "^7.0.1", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0", "resumable-stream": "^2.2.0", "server-only": "^0.0.1", "shiki": "^3.9.2", "sonner": "^2.0.5", "strava": "^2.3.0", "superjson": "^2.2.1", "tailwind-merge": "^3.3.0", "twitter-api-v2": "^1.24.0", "usehooks-ts": "^3.1.1", "uuid": "^11.1.0", "vaul": "^1.1.2", "zod": "^3.25.56" }, "devDependencies": { "@eslint/eslintrc": "^3.3.1", "@tailwindcss/postcss": "^4.0.15", "@types/node": "^20.14.10", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", "dotenv-cli": "^7.4.1", "eslint": "^9.23.0", "eslint-config-next": "^15.2.3", "postcss": "^8.5.3", "prettier": "^3.5.3", "prettier-plugin-tailwindcss": "^0.6.11", "prisma": "^6.5.0", "shiki-codegen": "^3.9.2", "tailwindcss": "^4.0.15", "tsx": "^4.7.1", "tw-animate-css": "^1.3.4", "typescript": "^5.8.2", "typescript-eslint": "^8.27.0" }, "ct3aMetadata": { "initVersion": "7.39.3" }, "devEngines": { "runtime": { "name": "node", "onFail": "error" }, "packageManager": { "name": "pnpm", "onFail": "error" } } }
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- warnType matchbest-effort: server code not analyzed
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-b2c71e10ded32026-08-06