con un clic
detect-language
// Autonomous language and framework detection for any programming language. Use when user asks to "detect language", "what language is this project", or when initializing ralph-dev for a new project.
// Autonomous language and framework detection for any programming language. Use when user asks to "detect language", "what language is this project", or when initializing ralph-dev for a new project.
Break down PRD into atomic, testable tasks using CLI for modular storage
Autonomous implementation loop with TDD, fresh agents per task, and self-healing
Interactive requirement clarification through structured questions and PRD generation
Autonomous end-to-end development from requirement to delivery. Use when user wants complete automation, "build X for me", or full feature implementation without manual steps.
Systematic error recovery using root cause investigation before fixes
Two-stage code review, quality gates, and automated delivery (commit + PR)
| name | detect-language |
| description | Autonomous language and framework detection for any programming language. Use when user asks to "detect language", "what language is this project", or when initializing ralph-dev for a new project. |
| allowed-tools | ["Read","Glob","Bash"] |
| user-invocable | true |
Autonomously detect the programming language, framework, build tools, and verification commands for ANY project.
/detect-languageIMPORTANT: This skill requires the Ralph-dev CLI. It will build automatically on first use.
# Bootstrap CLI - runs automatically, builds if needed
source ${CLAUDE_PLUGIN_ROOT}/shared/bootstrap-cli.sh
# Verify CLI is ready
ralph-dev --version
# List root files
ls -la
# Find config files (depth 2)
find . -maxdepth 2 -type f \( \
-name 'package.json' -o -name '*.toml' -o -name '*.gradle' \
-o -name 'pom.xml' -o -name 'Gemfile' -o -name 'go.mod' \
-o -name '*.csproj' -o -name 'Makefile' -o -name 'Package.swift' \
\) 2>/dev/null
# Count source files by extension
for ext in ts js py go rs java rb php cs cpp swift; do
count=$(find . -name "*.$ext" -type f 2>/dev/null | wc -l)
[ "$count" -gt 0 ] && echo "$ext: $count files"
done
Read the primary config file for the detected language and extract:
Based on evidence, identify:
| Component | How to Detect |
|---|---|
| Language | Primary config file + file extensions |
| Framework | Check dependencies for react, django, express, etc. |
| Build Tool | Config files: vite.config, webpack.config, Cargo.toml |
| Package Manager | Lock files: pnpm-lock.yaml, yarn.lock, go.sum |
| Test Framework | devDependencies: jest, vitest, pytest |
Language → Commands Mapping:
| Language | Type Check | Lint | Test | Build |
|---|---|---|---|---|
| TypeScript | npx tsc --noEmit | npm run lint | npm test | npm run build |
| Python | mypy . | flake8 | pytest | - |
| Go | - | go vet ./... | go test ./... | go build ./... |
| Rust | - | cargo clippy | cargo test | cargo build |
| Java (Maven) | - | - | mvn test | mvn package |
| Java (Gradle) | - | - | ./gradlew test | ./gradlew build |
| Ruby | - | rubocop | rspec | - |
| C# | - | - | dotnet test | dotnet build |
Adapt commands based on actual project config (scripts in package.json, etc.)
# Build JSON result
RESULT='{ "language": "...", "verifyCommands": [...] }'
# Save using CLI
ralph-dev detect-ai-save "$RESULT"
✅ Language Detection Complete
Language: {language}
Framework: {framework}
Build Tool: {buildTool}
Package Manager: {packageManager}
Test Framework: {testFramework}
Confidence: {N}%
Verification Commands:
1. {typecheck command}
2. {lint command}
3. {test command}
4. {build command}
{
"language": "typescript",
"confidence": 0.95,
"evidence": ["package.json exists", "tsconfig.json exists", "47 .ts files"],
"framework": "react",
"buildTool": "vite",
"packageManager": "pnpm",
"testFramework": "vitest",
"verifyCommands": [
"npx tsc --noEmit",
"pnpm run lint",
"pnpm test",
"pnpm run build"
]
}
Monorepo: Multiple config files in subdirectories
Multi-Language: Significant files from multiple languages
Custom Build: No recognized build system
| Error | Action |
|---|---|
| No config files found | Lower confidence, detect from file extensions |
| Conflicting indicators | Note ambiguity, ask user to clarify |
| Unknown build system | Suggest manual configuration |