Project Analysis Skill
Tooling Notes
This skill should only use read-only commands and avoid modifying files.
Analysis Process
Copy this checklist and use it to track your progress through the analysis process:
Project Analysis Checklist
- Gather a quick overview of the project by reading the README.md or equivalent documentation.
- Identify the main programming languages and frameworks used in the codebase.
- Map out the project structure, including key directories and files.
- Analyze dependencies by reviewing package management files (e.g., package.json, requirements.txt).
- Identify core modules and components of the application.
- Understand the data flow and architecture patterns used in the project.
- Review any existing tests to understand the testing strategy and coverage.
- Document any areas of the codebase that may require further investigation or clarification.
Analysis Commands
Here are some useful commands to help you analyze the codebase:
List the main files and directories in the project
ls -R
Check for package management files to identify dependencies
ls | grep -E 'package.json|requirements.txt|Pipfile|Gemfile'
Display the contents of a package management file
cat package.json cat requirements.txt
Search for key architecture patterns or components
grep -r 'MVC|Microservices|Singleton|Factory' .
Identify test files and directories
find . -type f -name 'test' -o -name 'spec'
Documentation of Findings
After completing the analysis, document your findings in a structured format. Include sections such as:
-
Project Overview: A brief summary of the project, its purpose, and main features.
-
Technologies Used: A list of programming languages, frameworks, and libraries used in the project.
-
Project Structure: An outline of the key directories and files in the codebase.
-
Dependencies: A summary of the main dependencies and their roles in the project.
-
Core Components: A description of the main modules and components of the application.
-
Architecture Patterns: An overview of the architecture patterns and data flow used in the project.
-
Testing Strategy: A summary of the existing tests and their coverage.