From memento
Detects project tech stack (frameworks, databases, tests, libraries) from dependency files (Python, JS, Go, Ruby, Java, PHP) and structure; outputs structured JSON.
npx claudepluginhub mderk/memento --plugin mementoThis skill uses the workspace's default tool permissions.
Automatically detect project technologies by analyzing dependency files and project structure. Returns structured JSON with framework versions, databases, test frameworks, and libraries.
Analyzes project tech stack by reading files like package.json, Gemfile, pyproject.toml, tsconfig.json, Dockerfiles, and GitHub workflows to extract and store facts on languages, frameworks, tools, databases, and conventions in memory.
Analyzes codebases to identify project structure, technology stack, dependencies, development tools, CI/CD configs, and recommends MCP integrations like database and cloud tools.
Analyzes project tech stack via sync-ctl CLI: detects languages, frameworks, runtimes, package managers, dependencies, Docker/K8s, monorepo structure. Use before scans or to understand codebases.
Share bugs, ideas, or general feedback.
Automatically detect project technologies by analyzing dependency files and project structure. Returns structured JSON with framework versions, databases, test frameworks, and libraries.
Claude automatically invokes this skill when:
/create-environment needs to detect tech stack for first time/update-environment auto needs to re-detect for comparisonFrom target project, run:
# Output to stdout
python ${CLAUDE_PLUGIN_ROOT}/skills/detect-tech-stack/scripts/detect.py
# Save directly to file (preferred for update-environment)
python ${CLAUDE_PLUGIN_ROOT}/skills/detect-tech-stack/scripts/detect.py --output /tmp/new-project-analysis.json
User: /create-environment
Claude: I'll detect your project's tech stack first.
[Automatically invokes detect-tech-stack skill]
Tech Stack Detected:
- Backend: Django 5.0.1 (Python)
- Frontend: React 18.2.0 + Next.js 14.0.0
- Database: PostgreSQL 15.3
- Tests: pytest, jest, playwright
User can run the slash command directly:
# This will be registered if skill provides a command
/detect-tech-stack
Or ask Claude to analyze:
User: What technologies does my project use?
Claude: [Invokes detect-tech-stack skill automatically]
The skill executes detect.py which:
Scans dependency files:
requirements.txt, pyproject.toml, Pipfilepackage.jsongo.modGemfilepom.xml, build.gradlecomposer.jsonDetects frameworks and versions:
Analyzes project structure:
Outputs structured JSON:
{
"project_name": "example-app",
"detected_at": "2025-12-18T10:30:00Z",
"backend": {
"framework": "Django",
"version": "5.0.1",
"language": "Python",
"has_backend": true
},
"frontend": {
"framework": "React",
"version": "18.2.0",
"meta_framework": "Next.js",
"meta_version": "14.0.0",
"has_frontend": true
},
"database": {
"primary": "PostgreSQL",
"version": "15.3",
"cache": "Redis"
},
"testing": {
"frameworks": ["pytest", "jest", "playwright"],
"has_tests": true,
"has_e2e_tests": true
},
"libraries": {
"state_management": "Redux",
"orm": "Prisma",
"ui_library": "Material-UI",
"api_client": "axios"
},
"structure": {
"is_monorepo": false,
"has_docker": true,
"has_ci_cd": true,
"ci_platform": "GitHub Actions",
"deployment_platform": "Vercel"
}
}
{
"status": "success",
"data": {
"project_name": "...",
"backend": {...},
"frontend": {...},
...
}
}
{
"status": "error",
"message": "No dependency files found. Is this a code project?"
}
0: Detection successful1: No dependency files found2: Invalid project structure3: Error reading files## Phase 1: Create Generation Plan
1. **Detect tech stack**: Invoke detect-tech-stack skill
- Skill returns JSON with all detected technologies
- Save to `.memory_bank/project-analysis.json`
2. **Analyze templates**: Use detected tech stack to filter relevant prompts
## Step 0.1: Analyze Current Project State
1. **Re-detect tech stack**: Invoke detect-tech-stack skill
- Returns current state as JSON
2. **Load original state**: Read `.memory_bank/project-analysis.json`
3. **Compare states**: Identify changes (framework upgrades, new libraries, etc.)
Input: Project with package.json (react, next) and requirements.txt (django, psycopg2)
Output:
✓ Backend: Django 5.0.1 (Python)
✓ Frontend: React 18.2.0 + Next.js 14.0.0
✓ Database: PostgreSQL (from psycopg2)
✓ Tests: pytest, jest
✓ Docker: Yes (docker-compose.yml found)
Input: Project with go.mod (gin, gorm, testify)
Output:
✓ Backend: Gin (Go)
✓ Database: PostgreSQL (from gorm)
✓ Tests: Go testing + testify
✓ Docker: Yes
✓ CI/CD: GitHub Actions
Input: pnpm-workspace.yaml, multiple package.json files
Output:
✓ Monorepo: Yes (pnpm workspaces)
✓ Frontend: React (apps/web), Vue (apps/admin)
✓ Backend: Express.js (apps/api)
✓ Shared packages detected: 3
${CLAUDE_PLUGIN_ROOT}/skills/detect-tech-stack/scripts/detect.py
Run detection manually:
cd /path/to/project
# Print to stdout
python ${CLAUDE_PLUGIN_ROOT}/skills/detect-tech-stack/scripts/detect.py
# Save to file
python ${CLAUDE_PLUGIN_ROOT}/skills/detect-tech-stack/scripts/detect.py --output /tmp/result.json