analyze-codebase 1.2.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,244 @@
1
+ # Research Agent Documentation
2
+
3
+ ## Overview
4
+
5
+ This document defines the rules and guidelines for the Research Agent, an AI agent designed to manage and maintain documentation for the Uygar Koleji project. The agent follows Cursor best practices and operates in English, unlike feature documentation which is in Turkish.
6
+
7
+ ## Purpose
8
+
9
+ The Research Agent is responsible for:
10
+
11
+ - Maintaining and updating project documentation
12
+ - Researching and documenting features, implementations, and technical details
13
+ - Ensuring documentation follows Cursor best practices
14
+ - Keeping documentation accurate and up-to-date
15
+ - Assisting with code understanding and feature discovery
16
+
17
+ ## Language
18
+
19
+ **All Research Agent documentation and interactions should be in English**, even though:
20
+
21
+ - Feature documentation (`docs/features.md`) is in Turkish
22
+ - Goal documentation (`docs/goals/*.md`) is in Turkish
23
+ - Project info (`docs/project-info.md`) is in Turkish
24
+
25
+ This separation allows:
26
+
27
+ - Technical documentation to remain accessible to international developers
28
+ - Clear distinction between user-facing (Turkish) and developer-facing (English) documentation
29
+ - Better integration with Cursor's AI capabilities
30
+
31
+ ## Cursor Best Practices
32
+
33
+ ### 1. Documentation Structure
34
+
35
+ Follow Cursor's recommended documentation structure:
36
+
37
+ ```
38
+ docs/
39
+ ├── features.md (Turkish - user-facing features)
40
+ ├── project-info.md (Turkish - project overview for agents)
41
+ ├── goals/
42
+ │ ├── docs.md (Turkish - planned features)
43
+ │ └── goal-slug.md (Turkish - detailed goal documentation)
44
+ ├── agents/
45
+ │ └── research-agent.md (English - this file)
46
+ └── [other technical docs] (English)
47
+ ```
48
+
49
+ ### 2. Code Documentation Standards
50
+
51
+ - **Inline Comments**: Use clear, concise comments explaining "why" not "what"
52
+ - **Function Documentation**: Document all public functions with JSDoc/TSDoc
53
+ - **Type Definitions**: Always include TypeScript types for better IDE support
54
+ - **Examples**: Include code examples for complex functions
55
+
56
+ ### 3. Markdown Formatting
57
+
58
+ - Use proper heading hierarchy (H1 → H2 → H3)
59
+ - Include table of contents for long documents
60
+ - Use code blocks with language identifiers
61
+ - Include diagrams using Mermaid or ASCII art
62
+ - Use tables for structured data
63
+
64
+ ### 4. File Organization
65
+
66
+ - One concept per file
67
+ - Use descriptive file names
68
+ - Group related files in directories
69
+ - Keep files focused and concise
70
+
71
+ ## Agent Responsibilities
72
+
73
+ ### 1. Documentation Maintenance
74
+
75
+ - **Update Existing Docs**: Keep feature documentation synchronized with code
76
+ - **Create New Docs**: Document new features as they're implemented
77
+ - **Remove Outdated Docs**: Archive or remove obsolete documentation
78
+ - **Cross-Reference**: Maintain links between related documents
79
+
80
+ ### 2. Code Analysis
81
+
82
+ - **Feature Discovery**: Analyze codebase to identify features
83
+ - **Implementation Details**: Document how features are implemented
84
+ - **Dependencies**: Track dependencies between features
85
+ - **API Documentation**: Document API endpoints and their usage
86
+
87
+ ### 3. Research Tasks
88
+
89
+ - **Technology Research**: Research and document new technologies
90
+ - **Best Practices**: Document industry best practices
91
+ - **Patterns**: Document design patterns used in the codebase
92
+ - **Architecture**: Maintain architecture documentation
93
+
94
+ ### 4. Quality Assurance
95
+
96
+ - **Accuracy**: Ensure documentation accurately reflects code
97
+ - **Completeness**: Ensure all features are documented
98
+ - **Clarity**: Ensure documentation is clear and understandable
99
+ - **Consistency**: Maintain consistent style across all documentation
100
+
101
+ ## Working with Cursor
102
+
103
+ ### 1. Codebase Understanding
104
+
105
+ When asked to understand the codebase:
106
+
107
+ - Use semantic search to find relevant code
108
+ - Read related files to understand context
109
+ - Trace dependencies and relationships
110
+ - Document findings clearly
111
+
112
+ ### 2. Feature Documentation
113
+
114
+ When documenting features:
115
+
116
+ - Check `docs/features.md` for existing documentation
117
+ - Verify features in `src/components/dashboard/sidebar/AppSidebar.tsx`
118
+ - Document all features, not just new ones
119
+ - Keep Turkish documentation separate from English technical docs
120
+
121
+ ### 3. Goal Documentation
122
+
123
+ When documenting goals:
124
+
125
+ - Check `docs/goals/docs.md` for planned features
126
+ - Create detailed goal documents in `docs/goals/goal-slug.md`
127
+ - Keep goal documentation in Turkish
128
+ - Link goals to related features
129
+
130
+ ### 4. Project Information
131
+
132
+ When updating project info:
133
+
134
+ - Update `docs/project-info.md` with project overview
135
+ - Keep it concise and focused on agent needs
136
+ - Include key technical details
137
+ - Maintain links to other documentation
138
+
139
+ ## Documentation Workflow
140
+
141
+ ### 1. Feature Discovery
142
+
143
+ 1. Analyze sidebar component (`AppSidebar.tsx`) to identify all features
144
+ 2. Check existing `features.md` for documented features
145
+ 3. Identify missing or outdated features
146
+ 4. Update `features.md` with missing features (in Turkish)
147
+
148
+ ### 2. Goal Documentation
149
+
150
+ 1. Check `docs/goals/docs.md` for planned features
151
+ 2. Create detailed goal documents as needed
152
+ 3. Keep goal documentation in Turkish
153
+ 4. Link goals to related features
154
+
155
+ ### 3. Technical Documentation
156
+
157
+ 1. Document technical implementation details
158
+ 2. Keep technical docs in English
159
+ 3. Include code examples and diagrams
160
+ 4. Maintain cross-references
161
+
162
+ ### 4. Agent Documentation
163
+
164
+ 1. Keep agent rules and guidelines in English
165
+ 2. Update agent documentation as practices evolve
166
+ 3. Document agent-specific workflows
167
+ 4. Maintain consistency with Cursor best practices
168
+
169
+ ## File Naming Conventions
170
+
171
+ - **Feature Docs**: `features.md` (Turkish)
172
+ - **Goal Docs**: `goals/docs.md`, `goals/goal-slug.md` (Turkish)
173
+ - **Agent Docs**: `agents/research-agent.md` (English)
174
+ - **Project Info**: `project-info.md` (Turkish)
175
+ - **Technical Docs**: `TECHNICAL_TOPIC.md` (English)
176
+
177
+ ## Code Examples
178
+
179
+ When including code examples:
180
+
181
+ - Use proper syntax highlighting
182
+ - Include context and imports
183
+ - Explain complex logic
184
+ - Show both usage and implementation
185
+
186
+ ## Diagrams
187
+
188
+ Use diagrams to illustrate:
189
+
190
+ - Architecture and system design
191
+ - Data flow and relationships
192
+ - Process workflows
193
+ - Component hierarchies
194
+
195
+ Preferred formats:
196
+
197
+ - Mermaid diagrams (for markdown)
198
+ - ASCII art (for simple diagrams)
199
+ - PlantUML (for complex diagrams)
200
+
201
+ ## Version Control
202
+
203
+ - Commit documentation changes with code changes
204
+ - Use descriptive commit messages
205
+ - Keep documentation in sync with code
206
+ - Review documentation in PRs
207
+
208
+ ## Best Practices Summary
209
+
210
+ 1. **Language Separation**: Turkish for user-facing, English for technical
211
+ 2. **Structure**: Follow Cursor's recommended structure
212
+ 3. **Accuracy**: Keep documentation synchronized with code
213
+ 4. **Completeness**: Document all features and goals
214
+ 5. **Clarity**: Write clear, understandable documentation
215
+ 6. **Consistency**: Maintain consistent style and format
216
+ 7. **Cross-Reference**: Link related documents
217
+ 8. **Examples**: Include code examples and diagrams
218
+ 9. **Updates**: Keep documentation up-to-date
219
+ 10. **Quality**: Review and improve documentation regularly
220
+
221
+ ## Agent Instructions
222
+
223
+ When working as the Research Agent:
224
+
225
+ 1. **Always check existing documentation** before creating new docs
226
+ 2. **Verify features** in the codebase, especially `AppSidebar.tsx`
227
+ 3. **Maintain language separation**: Turkish for features/goals, English for technical
228
+ 4. **Follow Cursor best practices** for documentation structure
229
+ 5. **Keep documentation accurate** and synchronized with code
230
+ 6. **Use semantic search** to understand the codebase
231
+ 7. **Document comprehensively** but concisely
232
+ 8. **Cross-reference** related documents
233
+ 9. **Update regularly** as the project evolves
234
+ 10. **Maintain quality** through review and improvement
235
+
236
+ ## Conclusion
237
+
238
+ The Research Agent plays a crucial role in maintaining high-quality documentation for the Uygar Koleji project. By following Cursor best practices and maintaining clear language separation, the agent ensures that documentation remains accurate, comprehensive, and useful for both developers and users.
239
+
240
+ ---
241
+
242
+ **Document Version**: 1.0
243
+ **Last Updated**: 2026-01-17
244
+ **Language**: English (as per agent documentation standards)
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "analyze-codebase",
3
- "description": "Codebase Analyzer",
3
+ "description": "A powerful CLI tool for analyzing codebase structure, naming conventions, code quality metrics, and detecting unused i18n translation keys",
4
+ "homepage": "https://github.com/mtahagocer/analyze-codebase#readme",
5
+ "bugs": {
6
+ "url": "https://github.com/mtahagocer/analyze-codebase/issues"
7
+ },
8
+ "author": "Taha Gocer <gocermtg@gmail.com>",
4
9
  "repository": {
5
10
  "type": "git",
6
11
  "url": "https://github.com/mtahagocer/analyze-codebase"
7
12
  },
8
- "version": "1.2.1",
13
+ "version": "1.3.1",
9
14
  "main": "dist/index.js",
10
15
  "license": "MIT",
11
16
  "bin": {
@@ -17,33 +22,54 @@
17
22
  "code-analysis",
18
23
  "static-analysis",
19
24
  "file-analysis",
20
- "directory-analysis",
21
25
  "naming-conventions",
22
- "code-structure",
23
- "file-extensions",
24
- "exclude-directories",
25
- "js",
26
- "ts",
27
- "json-output",
28
- "recursive",
29
- "source-code",
26
+ "code-quality",
27
+ "i18n",
28
+ "unused-translations",
29
+ "translation-keys",
30
+ "internationalization",
31
+ "watch-mode",
32
+ "html-report",
33
+ "csv-export",
34
+ "parallel-processing",
35
+ "cli-tool",
30
36
  "developer-tools",
31
- "code-quality"
37
+ "source-code",
38
+ "typescript",
39
+ "react",
40
+ "vue",
41
+ "code-metrics"
32
42
  ],
33
43
  "scripts": {
34
44
  "cli": "ts-node ./src/index.ts",
45
+ "dev": "ts-node-dev --respawn --transpile-only ./src/index.ts",
35
46
  "start": "node ./dist/index.js",
36
47
  "compile": "npx rimraf dist && npx tsc",
37
- "publish": "npm run compile && npm publish"
38
- },
39
- "devDependencies": {
40
- "@types/node": "^20.1.5",
41
- "ts-node": "^10.9.1",
42
- "typescript": "^5.0.4"
48
+ "test": "vitest run",
49
+ "test:watch": "vitest",
50
+ "test:coverage": "vitest run --coverage",
51
+ "prepublishOnly": "npm run compile"
43
52
  },
44
53
  "dependencies": {
54
+ "boxen": "^5.1.2",
45
55
  "chalk": "4.1.0",
56
+ "chokidar": "^4.0.3",
57
+ "cli-progress": "^3.12.0",
46
58
  "cli-table3": "^0.6.3",
47
- "commander": "^10.0.1"
59
+ "commander": "^10.0.1",
60
+ "fast-glob": "^3.3.2",
61
+ "inquirer": "^12.9.6",
62
+ "ora": "^5.4.1",
63
+ "simple-git": "^3.25.0"
64
+ },
65
+ "devDependencies": {
66
+ "@types/chokidar": "^2.1.7",
67
+ "@types/cli-progress": "^3.11.0",
68
+ "@types/inquirer": "^9.0.7",
69
+ "@types/node": "^20.1.5",
70
+ "ts-node": "^10.9.1",
71
+ "ts-node-dev": "^2.0.0",
72
+ "typescript": "^5.0.4",
73
+ "vitest": "^2.1.8"
48
74
  }
49
- }
75
+ }
package/readme.md CHANGED
@@ -1,164 +1,241 @@
1
+ <p align="center">
2
+ <h1 align="center">analyze-codebase</h1>
3
+ <p align="center">
4
+ <strong>Know your codebase. Fix what's broken. Ship with confidence.</strong>
5
+ </p>
6
+ <p align="center">
7
+ <a href="https://www.npmjs.com/package/analyze-codebase"><img src="https://img.shields.io/npm/v/analyze-codebase.svg?style=flat-square&color=blue" alt="npm version"></a>
8
+ <a href="https://www.npmjs.com/package/analyze-codebase"><img src="https://img.shields.io/npm/dm/analyze-codebase.svg?style=flat-square&color=green" alt="npm downloads"></a>
9
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square" alt="License: MIT"></a>
10
+ <a href="https://github.com/mtahagocer/analyze-codebase"><img src="https://img.shields.io/github/stars/mtahagocer/analyze-codebase?style=flat-square" alt="GitHub stars"></a>
11
+ </p>
12
+ </p>
1
13
 
2
- # Codebase Analyzer
14
+ ---
3
15
 
4
- Codebase Analyzer is a command-line tool that analyzes a specified directory and provides summary information about the code files it contains. It can help you gain insights into your codebase's structure, naming conventions, and content types.
16
+ A zero-config CLI that scans your entire project in seconds and gives you a clear picture of what's inside: **file structure**, **naming conventions**, **code-vs-comment ratios**, and most uniquely, **unused i18n translation keys** that bloat your bundles.
5
17
 
6
- ![Example Image](./example-output.png)
18
+ ```bash
19
+ npx analyze-codebase ./src
20
+ ```
7
21
 
22
+ That's it. No config needed.
8
23
 
9
- ## Features
24
+ ## Why analyze-codebase?
10
25
 
11
- - Analyzes the specified directory recursively
12
- - Provides summary information about file name cases and content types
13
- - Supports filtering by file extensions and excluding specific directories/files
14
- - Customizable through command-line options
26
+ | Problem | Solution |
27
+ |---------|----------|
28
+ | "How consistent are our naming conventions?" | Detects 13+ naming cases (camelCase, PascalCase, kebab-case, snake_case...) |
29
+ | "How much of our code is actually comments?" | Breaks down physical lines, source code, comments, TODOs, empty lines |
30
+ | "We have hundreds of translation keys. Which ones are unused?" | Scans your entire codebase for unused i18n keys and safely removes them |
31
+ | "I need a report for my team" | Export as **HTML**, **CSV**, or **JSON** with one flag |
32
+ | "I want this running in my workflow" | Watch mode, CI/CD friendly, config file support |
15
33
 
16
- ## Installation
17
-
18
- You can install Codebase Analyzer globally using NPM:
34
+ ## Quick Start
19
35
 
20
36
  ```bash
21
- npm install -g analyze-codebase
22
- ```
37
+ # Install globally
38
+ npm install -g analyze-codebase
23
39
 
24
- or use with npx
25
-
26
- ```bash
27
- npx analyze-codebase ./MyProject --exclude node_modules dist --extensions .tsx .ts
40
+ # Or run instantly with npx
41
+ npx analyze-codebase .
28
42
  ```
29
43
 
30
- ## Usage
31
-
32
- To analyze a directory, use the analyze command followed by the directory path. Here's an example:
44
+ ### Setup a config file (optional)
33
45
 
34
46
  ```bash
35
- analyze-codebase ./MyProject --exclude node_modules dist --extensions .tsx .ts
47
+ analyze-codebase init
36
48
  ```
37
49
 
38
- ## Options
39
-
40
- - -f, --framework <framework>: Specify the framework used in the codebase.
41
- - -e, --extensions <extensions...>: Specify the file extensions to include in the analysis. You can provide multiple extensions separated by spaces. Example: -e .js .ts.
50
+ This creates `.analyze-codebase.json` in your project root with your preferred settings. After that, just run `analyze-codebase` - it auto-discovers your config.
42
51
 
43
- - -e, --exclude <exclude...>: Specify directories or files to exclude from the analysis. You can provide multiple paths separated by spaces. Example: -e node_modules dist.
52
+ ## Features
44
53
 
45
- - --checkFileNames [checkFileNames]: Check file names. Default: true.
54
+ ### 1. Codebase Structure Analysis
46
55
 
47
- - --checkFileContent [checkFileContent]: Check file content. Default: true.
56
+ Recursively scans your project and provides a breakdown of:
48
57
 
49
- - -w or --writeJsonOutput [writeJsonOutput]: Write json putput for tracking. Default false
58
+ - **File naming conventions** - Are your files consistently named? camelCase? PascalCase? kebab-case? You'll see the exact distribution.
59
+ - **Code content metrics** - Physical lines, source code lines, comments, block comments, single-line comments, TODOs, empty lines.
60
+ - **Smart defaults** - Automatically excludes `node_modules`, `dist`, `build`, `coverage`, `.git`, `.next`, `public`, `test`, `tests`, `mocks`.
50
61
 
51
- ## Black list
62
+ ```bash
63
+ # Analyze TypeScript files in your src directory
64
+ analyze-codebase ./src --extensions ts tsx
52
65
 
53
- analyze-codebase by default have a black list of folder names which don't want to analyze which this directories mostly should be out of analyze (i.e. dist or static files)
66
+ # Analyze with a specific framework tag
67
+ analyze-codebase ./src -f react --extensions ts tsx js jsx
68
+ ```
54
69
 
55
- - node_modules
56
- - dist
57
- - build
58
- - coverage
59
- - public
60
- - test
61
- - tests
62
- - mocks
70
+ > **Tip:** Extensions work with or without the dot prefix - both `ts` and `.ts` are accepted.
63
71
 
64
- ## Examples
72
+ ### 2. Unused i18n Translation Key Detection
65
73
 
66
- Analyze a directory with default options:
74
+ This is the feature that sets `analyze-codebase` apart. If you work with internationalization, you know the pain: translation files grow over time, keys get orphaned, and nobody knows which ones are still in use.
67
75
 
68
76
  ```bash
69
- analyze-codebase ./src
77
+ analyze-codebase ./src --i18n-file locales/en.json
70
78
  ```
71
79
 
72
- Analyze a directory with a specified framework and file extensions:
80
+ **What it does:**
73
81
 
74
- ```bash
75
- analyze-codebase ./src -f react --extensions .js .jsx .ts .tsx
76
- ```
82
+ 1. Parses your translation JSON (supports deeply nested structures)
83
+ 2. Flattens all keys to dot-notation paths (e.g., `common.buttons.submit`)
84
+ 3. Scans every source file in your project for usage
85
+ 4. Shows you exactly which keys are unused
86
+ 5. Asks for confirmation, then safely removes them
77
87
 
78
- Exclude specific directories from the analysis:
88
+ **Supported patterns** - it understands how real apps use translations:
79
89
 
80
- ```bash
81
- analyze-codebase ./src --exclude node_modules dist
90
+ ```js
91
+ // All of these are detected:
92
+ t('key') // react-i18next, i18next
93
+ t("key") // double quotes
94
+ t(`key`) // template literals
95
+ i18n.t('key') // direct i18n object access
96
+ $t('key') // Vue i18n
97
+ translate('key') // custom translate functions
98
+
99
+ // Even dynamic keys:
100
+ t(`namespace.${variable}`) // template literal interpolation
101
+ t('namespace.' + variable) // string concatenation
82
102
  ```
83
103
 
84
- Analyze only file names
104
+ When dynamic keys are detected, all child keys under that namespace are automatically marked as used - preventing false positives.
85
105
 
86
- ```bash
87
- analyze-codebase ./src --exclude node_modules dist --checkFileContent=false
88
- ```
106
+ ### 3. Export Reports
89
107
 
90
- Analyze only file content
108
+ Generate shareable reports in three formats:
91
109
 
92
110
  ```bash
93
- analyze-codebase ./src --exclude node_modules dist --checkFileNames=false
94
- ```
111
+ # Beautiful styled HTML report
112
+ analyze-codebase ./src --export html --output report.html
95
113
 
96
- Write json output of this analyze
114
+ # Spreadsheet-friendly CSV
115
+ analyze-codebase ./src --export csv --output data.csv
97
116
 
98
- ```bash
99
- analyze-codebase -w
117
+ # Structured JSON for programmatic use
118
+ analyze-codebase ./src --export json --output results.json
100
119
  ```
101
- or
120
+
121
+ The HTML report includes styled tables, gradient headers, and is ready to share with your team or stakeholders.
122
+
123
+ ### 4. Watch Mode
124
+
125
+ Automatically re-runs analysis whenever files change. Perfect for development:
102
126
 
103
127
  ```bash
104
- analyze-codebase --writeJsonOutput
128
+ analyze-codebase ./src --watch
105
129
  ```
106
130
 
107
- ## Contribution
131
+ - 500ms debounce to prevent excessive runs
132
+ - Graceful Ctrl+C shutdown
133
+ - Works with all analysis options
108
134
 
109
- We welcome contributions to enhance the functionality and features of Codebase Analyzer. To contribute to the project, please follow these steps:
135
+ ### 5. Parallel Processing
110
136
 
111
- Fork the repository by clicking on the "Fork" button at the top right corner of this page.
137
+ Files are processed in parallel with auto-optimized concurrency:
112
138
 
113
- Clone the forked repository to your local machine:
139
+ | Project Size | Default Concurrency |
140
+ |-------------|-------------------|
141
+ | < 100 files | 20 concurrent ops |
142
+ | 100-500 files | 25 concurrent ops |
143
+ | 500+ files | 30 concurrent ops |
114
144
 
115
145
  ```bash
116
- git clone https://github.com/your-username/analyze-codebase.git
146
+ # Override if needed
147
+ analyze-codebase ./src --max-concurrency 50
117
148
  ```
118
149
 
119
- Create a new branch for your feature or bug fix:
150
+ ## All CLI Options
120
151
 
121
- ```bash
122
- git checkout -b feature/your-feature-name
123
152
  ```
153
+ Usage: analyze-codebase [directory] [options]
124
154
 
125
- or
155
+ Options:
156
+ -f, --framework <name> Tag the framework (react, vue, angular...)
157
+ -e, --extensions <ext...> File extensions to include (ts tsx js jsx)
158
+ -exc, --exclude <dirs...> Additional directories to exclude
159
+ --checkFileNames [bool] Analyze file naming conventions (default: true)
160
+ --checkFileContent [bool] Analyze code content metrics (default: true)
161
+ -w, --writeJsonOutput [bool] Write JSON output to track changes over time
162
+ --i18n-file <path> Path to i18n JSON file for unused key detection
163
+ --watch Re-analyze automatically on file changes
164
+ --no-progress Disable progress bar (useful for CI/CD)
165
+ --max-concurrency <number> Max parallel file operations (default: auto)
166
+ --export <format> Export as json, csv, or html
167
+ --output <path> Output file path for export
126
168
 
169
+ Commands:
170
+ init Create .analyze-codebase.json interactively
171
+ ```
127
172
 
128
- ```bash
129
- git checkout -b bugfix/your-bug-fix
173
+ ## Config File
174
+
175
+ Create `.analyze-codebase.json` in your project root (or run `analyze-codebase init`):
176
+
177
+ ```json
178
+ {
179
+ "extensions": [".ts", ".tsx", ".js", ".jsx"],
180
+ "exclude": ["node_modules", "dist", "build"],
181
+ "checkFileNames": true,
182
+ "checkFileContent": true,
183
+ "framework": "react",
184
+ "showProgress": true,
185
+ "parallel": true
186
+ }
130
187
  ```
131
188
 
132
- Make your modifications and additions to the codebase.
189
+ The config is auto-discovered by searching up the directory tree. CLI flags always take precedence over config values.
133
190
 
134
- Test your changes thoroughly to ensure they do not introduce any issues.
191
+ ## Real-World Examples
135
192
 
136
- Commit your changes with a descriptive commit message:
193
+ ### Code Review Preparation
137
194
 
138
195
  ```bash
139
- git commit -m "Add your commit message here"
196
+ # Get a full picture before a code review
197
+ analyze-codebase ./src --extensions ts tsx --export html --output review.html
140
198
  ```
141
199
 
142
- Push your changes to your forked repository:
200
+ ### CI/CD Pipeline
143
201
 
144
202
  ```bash
145
- git push origin feature/your-feature-name
203
+ # Silent mode for CI - just export the data
204
+ analyze-codebase ./src --no-progress --export json --output analysis.json
146
205
  ```
147
- or
206
+
207
+ ### Translation Cleanup Sprint
148
208
 
149
209
  ```bash
150
- git push origin bugfix/your-bug-fix
210
+ # Find and remove all unused translation keys
211
+ analyze-codebase ./src --i18n-file public/locales/en.json --extensions ts tsx
151
212
  ```
152
213
 
153
- Open a pull request (PR) from your forked repository to the original repository. Provide a clear and concise description of your changes in the PR.
214
+ ### Monorepo Analysis
154
215
 
155
- Wait for the maintainers to review your PR. They may provide feedback or request additional changes.
216
+ ```bash
217
+ # Analyze specific packages
218
+ analyze-codebase ./packages/web --extensions ts tsx -f react
219
+ analyze-codebase ./packages/api --extensions ts -f express
220
+ ```
156
221
 
157
- Once your PR is approved, it will be merged into the main branch, and your contributions will become a part of the Codebase Analyzer project.
222
+ ## Contributing
158
223
 
159
- Please ensure that you adhere to our code of conduct and follow the guidelines provided in the CONTRIBUTING.md file for a smooth and collaborative contribution process.
224
+ Contributions are welcome! Here's how:
160
225
 
161
- Thank you for your interest in improving Codebase Analyzer! Your contributions are highly appreciated.
226
+ 1. Fork the repository
227
+ 2. Create your branch: `git checkout -b feature/amazing-feature`
228
+ 3. Make your changes and test them: `npm test`
229
+ 4. Commit: `git commit -m "feat: add amazing feature"`
230
+ 5. Push: `git push origin feature/amazing-feature`
231
+ 6. Open a Pull Request
162
232
 
163
233
  ## License
164
- This project is licensed under the MIT License.
234
+
235
+ MIT - see [LICENSE](./LICENSE) for details.
236
+
237
+ ---
238
+
239
+ <p align="center">
240
+ <sub>Built by <a href="https://github.com/mtahagocer">Taha Gocer</a></sub>
241
+ </p>