scanorepo 1.0.0 → 1.0.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.
- package/README.md +55 -171
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ScanoRepo
|
|
2
2
|
|
|
3
|
-
> **AI-powered CLI tool for
|
|
3
|
+
> **AI-powered CLI tool for project scanning and documentation generation.**
|
|
4
4
|
|
|
5
|
-
ScanoRepo is a cross-platform command-line
|
|
6
|
-
|
|
7
|
-

|
|
8
|
-

|
|
9
|
-

|
|
5
|
+
ScanoRepo is a cross-platform command-line utility built with Node.js and TypeScript. It is designed to audit JavaScript and TypeScript repositories for configuration issues and generate comprehensive project documentation using AI-driven insights.
|
|
10
6
|
|
|
11
7
|
---
|
|
12
8
|
|
|
13
|
-
##
|
|
9
|
+
## Features
|
|
14
10
|
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
11
|
+
- **Project Scanning** - Analyzes repositories for missing npm scripts, environment variables, dependencies, and TypeScript configuration discrepancies.
|
|
12
|
+
- **AI-Powered Insights** - Utilizes Groq's high-performance inference engine to provide technical explanations and recommended solutions for detected issues.
|
|
13
|
+
- **Automated Documentation** - Generates a structured `SCANNED.md` file summarizing project architecture, key components, and deployment procedures.
|
|
14
|
+
- **Dependency Management** - Provides an interactive interface to install, update, and audit project packages.
|
|
15
|
+
- **Cross-Platform Compatibility** - Fully supported on Windows, macOS, and Linux environments.
|
|
20
16
|
|
|
21
17
|
---
|
|
22
18
|
|
|
23
|
-
##
|
|
19
|
+
## Installation
|
|
24
20
|
|
|
25
|
-
### Global Installation
|
|
21
|
+
### Global Installation
|
|
26
22
|
|
|
27
23
|
```bash
|
|
28
24
|
npm install -g scanorepo
|
|
@@ -40,224 +36,112 @@ npm link
|
|
|
40
36
|
|
|
41
37
|
---
|
|
42
38
|
|
|
43
|
-
##
|
|
44
|
-
|
|
45
|
-
ScanoRepo works **instantly**!
|
|
39
|
+
## Zero Configuration
|
|
46
40
|
|
|
47
|
-
|
|
41
|
+
ScanoRepo is designed for immediate utility. Users are not required to provide personal API keys or manage complex environment variables. AI-driven analysis is facilitated through a secure proxy service maintained by the developer.
|
|
48
42
|
|
|
49
|
-
###
|
|
43
|
+
### Operational Overview
|
|
50
44
|
|
|
51
|
-
1.
|
|
52
|
-
2. ScanoRepo
|
|
53
|
-
3. The backend processes the request using
|
|
54
|
-
4.
|
|
45
|
+
1. An audit command is initiated by the user.
|
|
46
|
+
2. ScanoRepo transmits project metadata to a secure backend infrastructure.
|
|
47
|
+
3. The backend processes the request using high-performance large language models.
|
|
48
|
+
4. Actionable technical insights are returned directly to the terminal interface.
|
|
55
49
|
|
|
56
50
|
---
|
|
57
51
|
|
|
58
|
-
##
|
|
52
|
+
## Usage
|
|
59
53
|
|
|
60
|
-
Navigate to
|
|
54
|
+
Navigate to the target Node.js project directory and execute:
|
|
61
55
|
|
|
62
56
|
```bash
|
|
63
|
-
cd /path/to/your/project
|
|
64
57
|
scanorepo <command>
|
|
65
58
|
```
|
|
66
59
|
|
|
67
60
|
### Available Commands
|
|
68
61
|
|
|
69
|
-
| Command | Description
|
|
70
|
-
| --------------------- |
|
|
71
|
-
| `scanorepo scan` |
|
|
72
|
-
| `scanorepo doc` | Generate `SCANNED.md` documentation using AI |
|
|
73
|
-
| `scanorepo deps` | Interactive dependency management
|
|
74
|
-
| `scanorepo check` |
|
|
75
|
-
| `scanorepo --help` | Display
|
|
76
|
-
| `scanorepo --version` | Display version
|
|
62
|
+
| Command | Description |
|
|
63
|
+
| --------------------- | --------------------------------------------------------------------- |
|
|
64
|
+
| `scanorepo scan` | Audit project for configuration issues with AI-assisted explanations. |
|
|
65
|
+
| `scanorepo doc` | Generate `SCANNED.md` documentation using AI analysis. |
|
|
66
|
+
| `scanorepo deps` | Interactive dependency management and auditing. |
|
|
67
|
+
| `scanorepo check` | Comprehensive health check (Sequential execution of scan and doc). |
|
|
68
|
+
| `scanorepo --help` | Display command reference. |
|
|
69
|
+
| `scanorepo --version` | Display current version information. |
|
|
77
70
|
|
|
78
71
|
---
|
|
79
72
|
|
|
80
|
-
##
|
|
73
|
+
## Command Details
|
|
81
74
|
|
|
82
75
|
### `scanorepo scan`
|
|
83
76
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
- **Missing npm scripts** - Checks for `start`, `dev`, `build`, `test`
|
|
87
|
-
- **Environment issues** - Detects missing `.env` files
|
|
88
|
-
- **TypeScript errors** - Flags `.ts` files without `tsconfig.json`
|
|
89
|
-
- **Dependency issues** - Checks if `node_modules` exists
|
|
77
|
+
Performs a diagnostic audit of the project:
|
|
90
78
|
|
|
91
|
-
**
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
/ ___| ___ __ _ _ __ ___ | _ \ ___ _ __ ___
|
|
96
|
-
\___ \ / __/ _` | '_ \ / _ \| |_) / _ \ '_ \ / _ \
|
|
97
|
-
___) | (_| (_| | | | | (_) | _ < __/ |_) | (_) |
|
|
98
|
-
|____/ \___\__,_|_| |_|\___/|_| \_\___| .__/ \___/
|
|
99
|
-
|_|
|
|
100
|
-
✔ Scan complete!
|
|
101
|
-
|
|
102
|
-
--- Scan Results ---
|
|
103
|
-
|
|
104
|
-
[!] Missing Scripts:
|
|
105
|
-
- test
|
|
106
|
-
|
|
107
|
-
AI Insight:
|
|
108
|
-
**`npm test`** is essential because it automates verification,
|
|
109
|
-
integrates with CI/CD pipelines, and standardizes testing workflow...
|
|
110
|
-
```
|
|
79
|
+
- **Script Analysis** - Verifies presence of standard scripts such as `start`, `dev`, `build`, and `test`.
|
|
80
|
+
- **Environment Verification** - Detects absence of `.env` files and suggests templates.
|
|
81
|
+
- **TypeScript Configuration** - Identifies `.ts` source files lacking an associated `tsconfig.json`.
|
|
82
|
+
- **Dependency Integrity** - Validates the state of the `node_modules` directory.
|
|
111
83
|
|
|
112
84
|
### `scanorepo doc`
|
|
113
85
|
|
|
114
|
-
Analyzes
|
|
86
|
+
Analyzes the repository structure to produce a professional `SCANNED.md` file, providing:
|
|
115
87
|
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
88
|
+
- Technical project overview.
|
|
89
|
+
- Functional breakdown of key directories and files.
|
|
90
|
+
- Standardized onboarding and installation instructions.
|
|
119
91
|
|
|
120
92
|
### `scanorepo deps`
|
|
121
93
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
? What would you like to do with dependencies?
|
|
126
|
-
❯ Install missing dependencies
|
|
127
|
-
Update dependencies
|
|
128
|
-
Check outdated packages
|
|
129
|
-
Cancel
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
- Automatically detects npm vs yarn
|
|
133
|
-
- Handles all package manager commands
|
|
134
|
-
|
|
135
|
-
### `scanorepo check`
|
|
94
|
+
Initiates an interactive management interface:
|
|
136
95
|
|
|
137
|
-
|
|
96
|
+
- Automatically detects preferred package managers (npm or yarn).
|
|
97
|
+
- Facilitates secure package installation, updates, and outdated package auditing.
|
|
138
98
|
|
|
139
99
|
---
|
|
140
100
|
|
|
141
|
-
##
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
scanorepo/
|
|
145
|
-
├── src/
|
|
146
|
-
│ ├── index.ts # CLI entry point
|
|
147
|
-
│ ├── commands/
|
|
148
|
-
│ │ ├── scan.ts # Scan command
|
|
149
|
-
│ │ ├── doc.ts # Documentation command
|
|
150
|
-
│ │ ├── deps.ts # Dependencies command
|
|
151
|
-
│ │ └── check.ts # Full check command
|
|
152
|
-
│ ├── services/
|
|
153
|
-
│ │ ├── ai.ts # Groq AI integration
|
|
154
|
-
│ │ ├── scanner.ts # Project scanning logic
|
|
155
|
-
│ │ ├── summarizer.ts # Project structure summarizer
|
|
156
|
-
│ │ └── updater.ts # Version update checker
|
|
157
|
-
│ └── utils/
|
|
158
|
-
│ └── logger.ts # Colored console output
|
|
159
|
-
├── dist/ # Compiled JavaScript
|
|
160
|
-
├── package.json
|
|
161
|
-
├── tsconfig.json
|
|
162
|
-
└── README.md
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## ⚠️ What NOT To Do
|
|
168
|
-
|
|
169
|
-
### ❌ Don't commit your API key
|
|
170
|
-
|
|
171
|
-
Never commit your `.env` file or hardcode API keys in source code.
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
# Add to .gitignore
|
|
175
|
-
.env
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### ❌ Don't run on non-Node.js projects
|
|
179
|
-
|
|
180
|
-
ScanoRepo is designed for JavaScript/TypeScript projects with `package.json`.
|
|
181
|
-
|
|
182
|
-
### ❌ Don't expect deterministic AI outputs
|
|
101
|
+
## Operational Constraints
|
|
183
102
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
After making changes, always rebuild:
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
npm run build
|
|
192
|
-
```
|
|
103
|
+
- **Node.js Environment** - ScanoRepo is optimized for projects containing a valid `package.json`.
|
|
104
|
+
- **Inference Variability** - AI-generated explanations are intended for assistance and may vary between executions.
|
|
105
|
+
- **Build Requirements** - When modifying the source, ensure a fresh build is generated via `npm run build`.
|
|
193
106
|
|
|
194
107
|
---
|
|
195
108
|
|
|
196
|
-
##
|
|
109
|
+
## Development
|
|
197
110
|
|
|
198
|
-
###
|
|
111
|
+
### Assembly
|
|
199
112
|
|
|
200
113
|
```bash
|
|
201
114
|
npm run build
|
|
202
115
|
```
|
|
203
116
|
|
|
204
|
-
###
|
|
117
|
+
### Debugging
|
|
205
118
|
|
|
206
119
|
```bash
|
|
207
120
|
npm run dev
|
|
208
121
|
```
|
|
209
122
|
|
|
210
|
-
###
|
|
123
|
+
### Local Testing
|
|
211
124
|
|
|
212
125
|
```bash
|
|
213
126
|
npm link
|
|
214
127
|
scanorepo scan
|
|
215
128
|
```
|
|
216
129
|
|
|
217
|
-
### Unlink when done
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
npm unlink -g scanorepo
|
|
221
|
-
```
|
|
222
|
-
|
|
223
130
|
---
|
|
224
131
|
|
|
225
|
-
##
|
|
226
|
-
|
|
227
|
-
Contributions are welcome! Please follow these steps:
|
|
132
|
+
## License
|
|
228
133
|
|
|
229
|
-
|
|
230
|
-
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
231
|
-
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
232
|
-
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
233
|
-
5. Open a Pull Request
|
|
134
|
+
This project is licensed under the MIT License. Refer to the [LICENSE](LICENSE) file for additional details.
|
|
234
135
|
|
|
235
136
|
---
|
|
236
137
|
|
|
237
|
-
##
|
|
238
|
-
|
|
239
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## 👤 Author
|
|
138
|
+
## Author
|
|
244
139
|
|
|
245
140
|
**Benjamin Onyia**
|
|
246
141
|
|
|
247
|
-
-
|
|
248
|
-
-
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## 🙏 Acknowledgments
|
|
253
|
-
|
|
254
|
-
- [Groq](https://groq.com/) for ultra-fast AI inference
|
|
255
|
-
- [Commander.js](https://github.com/tj/commander.js) for CLI framework
|
|
256
|
-
- [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) for interactive prompts
|
|
257
|
-
- [Chalk](https://github.com/chalk/chalk) & [Ora](https://github.com/sindresorhus/ora) for beautiful terminal output
|
|
142
|
+
- Portfolio: [benjamin-onyia.vercel.app](https://benjamin-onyia.vercel.app/)
|
|
143
|
+
- GitHub: [classicManCode](https://github.com/classicManCode)
|
|
258
144
|
|
|
259
145
|
---
|
|
260
146
|
|
|
261
|
-
|
|
262
|
-
Made with ❤️ by <a href="https://benjamin-onyia.vercel.app/">Benjamin Onyia</a>
|
|
263
|
-
</p>
|
|
147
|
+
Developed by Benjamin Onyia.
|