projscan 0.1.0 → 0.1.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 +68 -107
- package/dist/cli/index.js +0 -0
- package/package.json +16 -3
package/README.md
CHANGED
|
@@ -1,54 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Instant codebase insights — doctor, x-ray, and architecture map for any repository.
|
|
4
|
-
|
|
5
|
-
Run once, learn something immediately. Run daily, improve your codebase.
|
|
6
|
-
|
|
7
|
-
## Install
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install -g projscan
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Or run directly:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npx projscan
|
|
17
|
-
```
|
|
1
|
+
<](https://www.npmjs.com/package/projscan)
|
|
6
|
+
[](https://github.com/abhiyoheswaran1/devlens/blob/main/LICENSE)
|
|
7
|
+
[](https://nodejs.org)
|
|
22
8
|
|
|
23
|
-
|
|
24
|
-
projscan
|
|
25
|
-
```
|
|
9
|
+
**Instant codebase insights — doctor, x-ray, and architecture map for any repository.**
|
|
26
10
|
|
|
27
|
-
|
|
11
|
+
[Install](#install) · [Quick Start](#quick-start) · [Commands](#commands) · [Full Guide](docs/GUIDE.md)
|
|
28
12
|
|
|
29
|
-
|
|
13
|
+
</div>
|
|
30
14
|
|
|
31
|
-
|
|
15
|
+
---
|
|
32
16
|
|
|
33
|
-
|
|
17
|
+
## Why?
|
|
34
18
|
|
|
35
|
-
|
|
19
|
+
Every time you clone a new repo, join a new team, or revisit an old project, you face the same questions:
|
|
36
20
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
21
|
+
- What language and framework is this?
|
|
22
|
+
- Is there linting? Testing? Formatting?
|
|
23
|
+
- What's the project structure?
|
|
24
|
+
- Are the dependencies healthy?
|
|
40
25
|
|
|
41
|
-
|
|
26
|
+
Answering these manually takes 10-30 minutes of poking through config files and directories.
|
|
42
27
|
|
|
43
|
-
|
|
28
|
+
**projscan answers all of this in one command, in under 2 seconds.**
|
|
44
29
|
|
|
45
30
|
```bash
|
|
46
|
-
projscan doctor
|
|
47
|
-
```
|
|
31
|
+
$ projscan doctor
|
|
48
32
|
|
|
49
|
-
Example output:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
33
|
Project Health Report
|
|
53
34
|
──────────────────────────────────────────
|
|
54
35
|
|
|
@@ -62,81 +43,69 @@ Issues Detected
|
|
|
62
43
|
ℹ Missing .editorconfig
|
|
63
44
|
ℹ README is nearly empty
|
|
64
45
|
|
|
65
|
-
Recommendations
|
|
66
|
-
──────────────────────────────────────────
|
|
67
|
-
1. Fix: No ESLint configuration
|
|
68
|
-
2. Fix: No Prettier configuration
|
|
69
|
-
3. Fix: No test framework detected
|
|
70
|
-
4. Fix: Missing .editorconfig
|
|
71
|
-
|
|
72
46
|
Run projscan fix to auto-fix 4 issues.
|
|
73
47
|
```
|
|
74
48
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
Automatically installs and configures missing developer tools.
|
|
49
|
+
And it doesn't just report problems — it **fixes them**:
|
|
78
50
|
|
|
79
51
|
```bash
|
|
80
|
-
projscan fix
|
|
52
|
+
$ projscan fix -y
|
|
53
|
+
✔ Installed ESLint with TypeScript support
|
|
54
|
+
✔ Installed Prettier with sensible defaults
|
|
55
|
+
✔ Installed Vitest with sample test
|
|
56
|
+
✔ Created .editorconfig
|
|
81
57
|
```
|
|
82
58
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
- Installs ESLint with TypeScript support
|
|
86
|
-
- Installs Prettier with sensible defaults
|
|
87
|
-
- Installs Vitest with a sample test
|
|
88
|
-
- Creates `.editorconfig`
|
|
89
|
-
|
|
90
|
-
Use `-y` to skip the prompt:
|
|
59
|
+
## Install
|
|
91
60
|
|
|
92
61
|
```bash
|
|
93
|
-
|
|
62
|
+
npm install -g projscan
|
|
94
63
|
```
|
|
95
64
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Explains a file — its purpose, imports, exports, and potential issues.
|
|
65
|
+
Or run directly without installing:
|
|
99
66
|
|
|
100
67
|
```bash
|
|
101
|
-
projscan
|
|
68
|
+
npx projscan
|
|
102
69
|
```
|
|
103
70
|
|
|
104
|
-
|
|
71
|
+
## Quick Start
|
|
105
72
|
|
|
106
|
-
|
|
73
|
+
Run inside any repository:
|
|
107
74
|
|
|
108
75
|
```bash
|
|
109
|
-
projscan
|
|
76
|
+
projscan # Full project analysis
|
|
77
|
+
projscan doctor # Health check
|
|
78
|
+
projscan fix # Auto-fix detected issues
|
|
79
|
+
projscan diagram # Architecture visualization
|
|
80
|
+
projscan structure # Directory tree
|
|
110
81
|
```
|
|
111
82
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
Shows the project directory tree with file counts.
|
|
83
|
+
For a comprehensive walkthrough, see the **[Full Guide](docs/GUIDE.md)**.
|
|
115
84
|
|
|
116
|
-
|
|
117
|
-
projscan structure
|
|
118
|
-
```
|
|
85
|
+
## Commands
|
|
119
86
|
|
|
120
|
-
|
|
87
|
+
| Command | Description |
|
|
88
|
+
|---------|-------------|
|
|
89
|
+
| `projscan analyze` | Full analysis — languages, frameworks, dependencies, issues |
|
|
90
|
+
| `projscan doctor` | Health check — missing tooling, architecture smells, risks |
|
|
91
|
+
| `projscan fix` | Auto-fix issues (ESLint, Prettier, Vitest, .editorconfig) |
|
|
92
|
+
| `projscan explain <file>` | Explain a file's purpose, imports, exports, and issues |
|
|
93
|
+
| `projscan diagram` | ASCII architecture diagram of your project |
|
|
94
|
+
| `projscan structure` | Directory tree with file counts |
|
|
95
|
+
| `projscan dependencies` | Dependency analysis — counts, risks, recommendations |
|
|
121
96
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
projscan dependencies
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Output Formats
|
|
97
|
+
### Output Formats
|
|
129
98
|
|
|
130
99
|
All commands support `--format` for different output targets:
|
|
131
100
|
|
|
132
101
|
```bash
|
|
133
|
-
projscan analyze --format json
|
|
134
|
-
projscan doctor --format markdown
|
|
102
|
+
projscan analyze --format json # Machine-readable JSON
|
|
103
|
+
projscan doctor --format markdown # Markdown for docs/PRs
|
|
135
104
|
```
|
|
136
105
|
|
|
137
106
|
Formats: `console` (default), `json`, `markdown`
|
|
138
107
|
|
|
139
|
-
|
|
108
|
+
### Options
|
|
140
109
|
|
|
141
110
|
| Flag | Description |
|
|
142
111
|
|------|-------------|
|
|
@@ -146,15 +115,6 @@ Formats: `console` (default), `json`, `markdown`
|
|
|
146
115
|
| `-V, --version` | Show version |
|
|
147
116
|
| `-h, --help` | Show help |
|
|
148
117
|
|
|
149
|
-
## Performance
|
|
150
|
-
|
|
151
|
-
ProjScan is designed for speed:
|
|
152
|
-
|
|
153
|
-
- 5,000 files analyzed in under 1.5 seconds
|
|
154
|
-
- 20,000 files analyzed in under 3 seconds
|
|
155
|
-
- Zero network requests — everything runs locally
|
|
156
|
-
- Minimal dependencies (4 runtime packages)
|
|
157
|
-
|
|
158
118
|
## What It Detects
|
|
159
119
|
|
|
160
120
|
**Languages**: TypeScript, JavaScript, Python, Go, Rust, Java, Ruby, C/C++, PHP, Swift, Kotlin, and 20+ more
|
|
@@ -162,32 +122,33 @@ ProjScan is designed for speed:
|
|
|
162
122
|
**Frameworks**: React, Next.js, Vue, Nuxt, Svelte, Angular, Express, Fastify, NestJS, Vite, Tailwind CSS, Prisma, and more
|
|
163
123
|
|
|
164
124
|
**Issues**:
|
|
165
|
-
- Missing ESLint configuration
|
|
166
|
-
- Missing Prettier configuration
|
|
125
|
+
- Missing linting (ESLint) and formatting (Prettier) configuration
|
|
167
126
|
- Missing test framework
|
|
168
127
|
- Missing `.editorconfig`
|
|
169
128
|
- Large utility directories (architecture smell)
|
|
170
|
-
- Excessive dependencies
|
|
171
|
-
- Deprecated packages
|
|
172
|
-
- Wildcard version ranges
|
|
129
|
+
- Excessive, deprecated, or wildcard-versioned dependencies
|
|
173
130
|
- Missing lockfile
|
|
174
131
|
|
|
175
|
-
##
|
|
132
|
+
## Performance
|
|
176
133
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
npm run build
|
|
182
|
-
npm link
|
|
183
|
-
```
|
|
134
|
+
- **5,000 files** analyzed in under 1.5 seconds
|
|
135
|
+
- **20,000 files** analyzed in under 3 seconds
|
|
136
|
+
- **Zero network requests** — everything runs locally
|
|
137
|
+
- **4 runtime dependencies** — minimal footprint
|
|
184
138
|
|
|
185
|
-
|
|
139
|
+
## Use Cases
|
|
186
140
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
141
|
+
- **Onboarding**: Understand any codebase in seconds, not hours
|
|
142
|
+
- **Code reviews**: Run `projscan doctor --format markdown` and paste into PRs
|
|
143
|
+
- **CI/CD**: Add health checks to your pipeline ([see guide](docs/GUIDE.md#cicd-integration))
|
|
144
|
+
- **Consulting**: Quickly assess client projects before diving in
|
|
145
|
+
- **Maintenance**: Regular health checks across multiple repositories
|
|
146
|
+
|
|
147
|
+
## Contributing
|
|
148
|
+
|
|
149
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
190
150
|
|
|
191
151
|
## License
|
|
192
152
|
|
|
193
153
|
MIT
|
|
154
|
+
]]>
|
package/dist/cli/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projscan",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Instant codebase insights — doctor, x-ray, and architecture map for any repository",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -27,10 +27,23 @@
|
|
|
27
27
|
"project-health",
|
|
28
28
|
"architecture",
|
|
29
29
|
"linting",
|
|
30
|
-
"devtools"
|
|
30
|
+
"devtools",
|
|
31
|
+
"code-quality",
|
|
32
|
+
"analyzer",
|
|
33
|
+
"project-scanner",
|
|
34
|
+
"dev-tools",
|
|
35
|
+
"dx"
|
|
31
36
|
],
|
|
32
|
-
"author": "",
|
|
37
|
+
"author": "Abhi Yoheswaran",
|
|
33
38
|
"license": "MIT",
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "https://github.com/abhiyoheswaran1/devlens.git"
|
|
42
|
+
},
|
|
43
|
+
"homepage": "https://github.com/abhiyoheswaran1/devlens#readme",
|
|
44
|
+
"bugs": {
|
|
45
|
+
"url": "https://github.com/abhiyoheswaran1/devlens/issues"
|
|
46
|
+
},
|
|
34
47
|
"engines": {
|
|
35
48
|
"node": ">=18"
|
|
36
49
|
},
|