| name | project-context |
| description | Auto-detect project type, language, framework and generate .roo/project-context.md for context-aware agent behavior. |
| risk | safe |
| source | self |
| tags | ["project","context","detection"] |
Project Context Detection
When to Use
- When opening a new project (
.roo/project-context.md not found)
- When user requests "detect project context" or "update project context"
- After adding/removing major dependencies
Instructions
Step 1: Scan Manifest Files
package.json → Node.js/JS/TS | pyproject.toml / requirements.txt → Python
go.mod → Go | Cargo.toml → Rust | pom.xml / build.gradle → Java/Kotlin
composer.json → PHP
Step 2: Detect Details from Manifest
- Language & version, Framework, Package manager, Test framework, Linter/formatter, Build tool
Step 3: Scan Directory Structure
- Identify key directories (src/, lib/, tests/, docs/)
- Detect architecture pattern (monorepo, microservices, monolith)
Step 4: Generate .roo/project-context.md
# Project Context (auto-generated by project-context skill)
> Last updated: {date}
## Stack
- **Language**: {language} {version}
- **Framework**: {framework} {version}
- **Package Manager**: {pm}
- **Test Framework**: {test}
- **Linter/Formatter**: {linter} / {formatter}
## Architecture
- **Pattern**: {monolith|monorepo|microservices}
- **Key Directories**: {list}
## Conventions (user-editable)
- Coding style: {detected or "see .eslintrc / pyproject.toml"}
- Commit format: {detected or "conventional commits"}
- Branch strategy: {detected or "git flow / trunk-based"}
Step 5: Report
Tell user: "Project context saved to .roo/project-context.md. Review and edit the Conventions section."
Important
- Do NOT overwrite existing
.roo/project-context.md if user has edited it — ask first
- Read this file at the start of each complex task for project context
- Keep generated file concise (≤30 lines) — only critical metadata
- The "Conventions" section is user-editable — agent must not modify it