{"_id":"@4meta5/project-detector","_rev":"7-36d17da036bec88e19ecdf0d8c18047f","name":"@4meta5/project-detector","dist-tags":{"latest":"0.5.3"},"versions":{"0.1.0":{"name":"@4meta5/project-detector","version":"0.1.0","keywords":["project-detection","tech-stack","framework-detection","language-detection","tooling"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/project-detector@0.1.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"a1efc8ac9814805715a46312019e5cec58dcc3fc","tarball":"https://registry.npmjs.org/@4meta5/project-detector/-/project-detector-0.1.0.tgz","fileCount":38,"integrity":"sha512-tvPSwGHeDH4aQ3Dt3GqrnK2ff8BBAZD1GW2PjT5XG+vS4PHbAjmwb1h8s5dUApZgxl+/ukSGOUYjDBypxhfkpQ==","signatures":[{"sig":"MEYCIQDFr0OlWB9xx1Vy3ME7FJa88kEecZyr1RYsPP0jE1h9ywIhAKSScd/Wmxf6PZE2P9lgE58ES6sWX+k4tGs5n6Iyt6Vh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142236},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6cbe0f88d5a5d7c15ddfd34591fb179159d0def2","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/project-detector"},"_npmVersion":"11.6.2","description":"Detect project technology stack (languages, frameworks, databases, etc.)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0","smol-toml":"^1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/project-detector_0.1.0_1770012904580_0.8402713246208346","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@4meta5/project-detector","version":"0.2.0","keywords":["project-detection","tech-stack","framework-detection","language-detection","tooling"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/project-detector@0.2.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"52f926bfbecb16d242e4ebda4ca2ab985da62e33","tarball":"https://registry.npmjs.org/@4meta5/project-detector/-/project-detector-0.2.0.tgz","fileCount":38,"integrity":"sha512-X5HMH8FHW7X0uQ1G27XfFVnK/69N0Mw4Jd0B/Kb8h8XOHEiVxMcrz/kPYOQlwZK1dnPsfnpDG7bLxG8sbunVkQ==","signatures":[{"sig":"MEYCIQD1e/vONBwXLwgNrH/ubuKMkAva/yyIPIgsYNhuUNtqPgIhANdl+gPsFelWeTnOK2NrIPmaY6pdNXJrJh9H04Ps3N0M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142236},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2e5b4abe0f62c987427f566801f373f52d275af5","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/project-detector"},"_npmVersion":"11.6.2","description":"Detect project technology stack (languages, frameworks, databases, etc.)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0","smol-toml":"^1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/project-detector_0.2.0_1770170424426_0.5482802715430279","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@4meta5/project-detector","version":"0.3.0","keywords":["project-detection","tech-stack","framework-detection","language-detection","tooling"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/project-detector@0.3.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"82eea17cbef6a9237b6d816674b326510cd82644","tarball":"https://registry.npmjs.org/@4meta5/project-detector/-/project-detector-0.3.0.tgz","fileCount":38,"integrity":"sha512-6BrcoJYGldMZaGxAWuHKOTGH0A9agI3ZwyRATtMKxihoDT6iSwJQelyeVPIIySTGNdVmOVcnYwACqXDSf2whvg==","signatures":[{"sig":"MEUCIQCBM38nEMOWY8GKHiRU1CZh1OSI8WRU2/Qsjpw6EJPclgIgNlJwdKWBEO1gdz7vRSxOLOeigL4jmM+AgKJ+sBcie+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142236},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6111ffcadc2d568e6fd96c9ec68511afc58e839c","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/project-detector"},"_npmVersion":"11.6.2","description":"Detect project technology stack (languages, frameworks, databases, etc.)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0","smol-toml":"^1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/project-detector_0.3.0_1770296766448_0.6199787271992767","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@4meta5/project-detector","version":"0.4.0","keywords":["project-detection","tech-stack","framework-detection","language-detection","tooling"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/project-detector@0.4.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"3a49a0f9188c70ba8560374d5805f0abf2ada39f","tarball":"https://registry.npmjs.org/@4meta5/project-detector/-/project-detector-0.4.0.tgz","fileCount":38,"integrity":"sha512-sgJNNCZU0sQxkDcj2DnXF4j6f/A8uyL80LDjHYyv82kEJ2B7AIdRSI8fjdLaNQXL/r5EdxfRtOU6MMnec+T+UA==","signatures":[{"sig":"MEUCIE7lEtsmhZTjoMyZzVLUd8DuC9EsTiDD2KR0eWtNULV1AiEA53qQNM+qjk6fmcw0ZwSTDNMkSN624ZLrPnFpgk0pfIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142236},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"76a6d2041fdc7810e63a0441d26574e4804ba0bb","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/project-detector"},"_npmVersion":"11.6.2","description":"Detect project technology stack (languages, frameworks, databases, etc.)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0","smol-toml":"^1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/project-detector_0.4.0_1771026903533_0.4165501485179417","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@4meta5/project-detector","version":"0.5.1","keywords":["project-detection","tech-stack","framework-detection","language-detection","tooling"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/project-detector@0.5.1","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"dbc816ac32799b6cd8a5e1cda35a49ceb6ef9be2","tarball":"https://registry.npmjs.org/@4meta5/project-detector/-/project-detector-0.5.1.tgz","fileCount":38,"integrity":"sha512-iEHMDs4nAsdI8TjdHVi3tF5gnfqGgDM4EZHz2KE3lyFW8ZkZ2c4WQg5NaxwpdfJBTmVZ/7f2jd24MMBB5TWzZg==","signatures":[{"sig":"MEUCIQCPG3I0W1dYCNdZOLZ4LlNxyLdPXT2jFwL3AFsplmRfyQIgG2cNrkYV33XS8aaRPBuGs9bEtt7SlrVfW67sMpm26Ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142236},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"52c629415cc261d1d0c4b68d86a0ad8ec06883df","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/project-detector"},"_npmVersion":"11.6.2","description":"Detect project technology stack (languages, frameworks, databases, etc.)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0","smol-toml":"^1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/project-detector_0.5.1_1771100512036_0.3273575635839352","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@4meta5/project-detector","version":"0.5.2","keywords":["project-detection","tech-stack","framework-detection","language-detection","tooling"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/project-detector@0.5.2","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"3f2407c81cf41c61ab710dff5cdb9d3e9e9996bb","tarball":"https://registry.npmjs.org/@4meta5/project-detector/-/project-detector-0.5.2.tgz","fileCount":38,"integrity":"sha512-rYV0cXv6vGTjKvzm+cJ6bFBuRLZJxTWqXPBff4kH6ejoCyt/rONM/8HAHhuYVFZM1KbRH0lw99A94UpNlYZRMA==","signatures":[{"sig":"MEYCIQDO3xgoRpBGhx1owwQ+thsz/95D9PjIdPPXY5fAOVtdjQIhAPPXz8q7ZkXZ0uj7Tm64hyYObdd1JPv5RAdGRP7xMWby","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142236},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cd5dd7db868244a0ba173e506bac18617ebc8908","scripts":{"lint":"eslint src","test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/project-detector"},"_npmVersion":"11.6.2","description":"Detect project technology stack (languages, frameworks, databases, etc.)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"yaml":"^2.3.0","smol-toml":"^1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/project-detector_0.5.2_1771104583261_0.9480650017499139","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@4meta5/project-detector","version":"0.5.3","description":"Detect project technology stack (languages, frameworks, databases, etc.)","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest","lint":"eslint src","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["project-detection","tech-stack","framework-detection","language-detection","tooling"],"author":{"name":"Amar Singh"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/4meta5/skills.git","directory":"packages/project-detector"},"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dependencies":{"smol-toml":"^1.1.4","yaml":"^2.3.0"},"devDependencies":{"@types/node":"^20.0.0","eslint":"^8.0.0","typescript":"^5.0.0","vitest":"^1.0.0"},"gitHead":"1fc8d9fd71f7225845659c0557cd818e59c8200d","_id":"@4meta5/project-detector@0.5.3","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-ZuMdLOXHpo4O3P8eR++KrRZaL8B4e43aavYW5UQS2uCAAKQ/r07wfOoqAsnsdfQQx0CdakOONeQJ8layq+FEPg==","shasum":"a95d826ad76e2e4509dd523f051324589ea4e6f2","tarball":"https://registry.npmjs.org/@4meta5/project-detector/-/project-detector-0.5.3.tgz","fileCount":38,"unpackedSize":142236,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDu9YYXTq5798zs3HsXpZ0QgOYDGrdupPOKjOqut1SErQIgc/INJgxiGuvXLBPHdjPWEIgu8vGLHDMQBd4zTmEjosQ="}]},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"directories":{},"maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/project-detector_0.5.3_1771107317211_0.39915025914997115"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-02T06:15:04.486Z","modified":"2026-02-14T22:15:17.575Z","0.1.0":"2026-02-02T06:15:04.760Z","0.2.0":"2026-02-04T02:00:24.564Z","0.3.0":"2026-02-05T13:06:06.599Z","0.4.0":"2026-02-13T23:55:03.687Z","0.5.1":"2026-02-14T20:21:52.186Z","0.5.2":"2026-02-14T21:29:43.412Z","0.5.3":"2026-02-14T22:15:17.448Z"},"bugs":{"url":"https://github.com/4meta5/skills/issues"},"author":{"name":"Amar Singh"},"license":"MIT","homepage":"https://github.com/4meta5/skills#readme","keywords":["project-detection","tech-stack","framework-detection","language-detection","tooling"],"repository":{"type":"git","url":"git+https://github.com/4meta5/skills.git","directory":"packages/project-detector"},"description":"Detect project technology stack (languages, frameworks, databases, etc.)","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"readme":"# @4meta5/project-detector\n\nDetect project technology stack including languages, frameworks, databases, testing tools, and deployment targets.\n\n## Installation\n\n```bash\nnpm install @4meta5/project-detector\n```\n\n## Usage\n\n### Analyze a project\n\n```typescript\nimport { analyzeProject, getAllTags } from '@4meta5/project-detector';\n\nconst analysis = await analyzeProject('./my-project');\n\nconsole.log('Languages:', analysis.languages.map(l => l.name));\n// ['TypeScript']\n\nconsole.log('Frameworks:', analysis.frameworks.map(f => f.name));\n// ['SvelteKit 2', 'Svelte 5']\n\nconsole.log('Testing:', analysis.testing.map(t => t.name));\n// ['Vitest', 'Playwright']\n\nconsole.log('Databases:', analysis.databases.map(d => d.name));\n// ['Drizzle ORM', 'PostgreSQL']\n\nconsole.log('Deployment:', analysis.deployment.map(d => d.name));\n// ['Cloudflare Workers']\n\nconsole.log('All tags:', getAllTags(analysis));\n// ['typescript', 'svelte', 'sveltekit', 'vitest', 'drizzle', ...]\n```\n\n### With options\n\n```typescript\nconst analysis = await analyzeProject('./my-project', {\n  skipWorkspaces: true,    // Don't scan monorepo workspaces\n  skipEnvFiles: true,      // Don't read .env files\n  skipSkillDetection: true // Don't scan for installed skills\n});\n```\n\n### Get all technologies\n\n```typescript\nimport { getAllTechnologies } from '@4meta5/project-detector';\n\nconst all = getAllTechnologies(analysis);\n// Flat list of all detected technologies\n```\n\n### Use individual detectors\n\n```typescript\nimport {\n  detectLanguages,\n  detectFrameworks,\n  detectTesting,\n  detectDatabases,\n  detectDeployment,\n  createDetectionContext\n} from '@4meta5/project-detector';\n\n// Create context manually\nconst ctx = await createDetectionContext('./my-project');\n\n// Run individual detectors\nconst languages = await detectLanguages(ctx);\nconst frameworks = await detectFrameworks(ctx);\n```\n\n## Detection Coverage\n\n### Languages\n- TypeScript (from package.json or tsconfig.json)\n- JavaScript (from package.json)\n- Rust (from Cargo.toml)\n- Python (from pyproject.toml, requirements.txt, setup.py)\n- Go (from go.mod)\n\n### Frameworks\n- React, React 18+\n- Next.js 13+, Next.js 14+\n- Svelte, Svelte 5\n- SvelteKit, SvelteKit 2\n- Vue 3, Nuxt 3\n- Angular\n- Express, Fastify, Hono\n- Astro, Remix\n\n### Testing\n- Vitest, Jest, Mocha\n- Playwright, Cypress\n- Testing Library (React/Svelte/Vue)\n- Storybook\n- Cargo Test, proptest, quickcheck (Rust)\n- Pytest (Python)\n- Go Test\n\n### Databases\n- PostgreSQL, Neon Postgres\n- MySQL, PlanetScale\n- SQLite, Turso\n- MongoDB\n- Redis, Upstash Redis\n- Supabase\n- ORMs: Drizzle, Prisma, Kysely, TypeORM, Sequelize, Mongoose\n- SQLx (Rust)\n\n### Deployment\n- Cloudflare Workers, D1, R2\n- AWS Lambda, CDK, SAM\n- Vercel\n- Netlify\n- Docker, Kubernetes\n\n## Types\n\n```typescript\ninterface ProjectAnalysis {\n  languages: DetectedTechnology[];\n  frameworks: DetectedTechnology[];\n  deployment: DetectedTechnology[];\n  testing: DetectedTechnology[];\n  databases: DetectedTechnology[];\n  existingSkills: string[];\n  projectPath: string;\n  workspaces?: string[];\n}\n\ninterface DetectedTechnology {\n  name: string;\n  category: TechnologyCategory;\n  confidence: 'high' | 'medium' | 'low';\n  version?: string;\n  evidence: string;\n  tags: string[];\n}\n\ntype TechnologyCategory =\n  | 'language'\n  | 'framework'\n  | 'deployment'\n  | 'testing'\n  | 'database';\n```\n\n## Workspace Support\n\nThe detector automatically scans monorepo workspaces:\n- npm/yarn workspaces (from package.json)\n- pnpm workspaces (from pnpm-workspace.yaml)\n- Lerna (from lerna.json)\n- Common subdirectories (backend, api, server, etc.)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}