jorgex-stack 1.0.1 → 1.0.3
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/PRD.md +310 -297
- package/README.md +68 -56
- package/dist/cli.js +37 -3
- package/package.json +1 -1
- package/stack/agents/code-simplifier.md +21 -10
- package/stack/agents/implementer.md +1 -0
- package/stack/agents/orchestrator.md +194 -192
- package/stack/agents/security-auditor.md +7 -0
- package/stack/agents/silent-failure-hunter.md +7 -0
- package/stack/agents/test-analyzer.md +7 -0
- package/stack/agents/tester.md +71 -71
- package/stack/agents/type-design-analyzer.md +1 -1
- package/stack/commands/lean-audit.md +59 -0
- package/stack/commands/xreview.md +82 -80
- package/stack/hooks/hooks.json +18 -18
- package/stack/scripts/post-pr-review.cjs +159 -156
- package/stack/skills/diagnose/SKILL.md +117 -117
- package/stack/skills/diagnose/scripts/hitl-loop.template.sh +41 -41
- package/stack/skills/find-skills/SKILL.md +133 -133
- package/stack/skills/lean-code/SKILL.md +69 -0
- package/stack/skills/mcp-builder/LICENSE.txt +201 -201
- package/stack/skills/mcp-builder/SKILL.md +236 -236
- package/stack/skills/mcp-builder/reference/evaluation.md +601 -601
- package/stack/skills/mcp-builder/reference/mcp_best_practices.md +249 -249
- package/stack/skills/mcp-builder/reference/node_mcp_server.md +969 -969
- package/stack/skills/mcp-builder/reference/python_mcp_server.md +718 -718
- package/stack/skills/mcp-builder/scripts/connections.py +151 -151
- package/stack/skills/mcp-builder/scripts/evaluation.py +373 -373
- package/stack/skills/mcp-builder/scripts/example_evaluation.xml +22 -22
- package/stack/skills/mcp-builder/scripts/requirements.txt +2 -2
- package/stack/skills/obsidian-cli/SKILL.md +106 -106
- package/stack/skills/obsidian-markdown/SKILL.md +196 -196
- package/stack/skills/obsidian-markdown/references/CALLOUTS.md +58 -58
- package/stack/skills/obsidian-markdown/references/EMBEDS.md +63 -63
- package/stack/skills/obsidian-markdown/references/PROPERTIES.md +61 -61
- package/stack/skills/react-doctor/SKILL.md +19 -19
- package/stack/skills/skill-creator/LICENSE.txt +201 -201
- package/stack/skills/skill-creator/agents/analyzer.md +274 -274
- package/stack/skills/skill-creator/agents/comparator.md +202 -202
- package/stack/skills/skill-creator/agents/grader.md +223 -223
- package/stack/skills/skill-creator/assets/eval_review.html +146 -146
- package/stack/skills/skill-creator/eval-viewer/generate_review.py +471 -471
- package/stack/skills/skill-creator/eval-viewer/viewer.html +1325 -1325
- package/stack/skills/skill-creator/references/schemas.md +430 -430
- package/stack/skills/skill-creator/scripts/aggregate_benchmark.py +401 -401
- package/stack/skills/skill-creator/scripts/generate_report.py +326 -326
- package/stack/skills/skill-creator/scripts/improve_description.py +248 -248
- package/stack/skills/skill-creator/scripts/package_skill.py +136 -136
- package/stack/skills/skill-creator/scripts/quick_validate.py +102 -102
- package/stack/skills/skill-creator/scripts/run_eval.py +310 -310
- package/stack/skills/skill-creator/scripts/run_loop.py +332 -332
- package/stack/skills/skill-creator/scripts/utils.py +47 -47
- package/stack/skills/supabase/SKILL.md +135 -135
- package/stack/skills/supabase/assets/feedback-issue-template.md +17 -17
- package/stack/skills/supabase/references/skill-feedback.md +17 -17
- package/stack/skills/supabase-postgres-best-practices/SKILL.md +64 -64
- package/stack/skills/supabase-postgres-best-practices/references/_contributing.md +170 -170
- package/stack/skills/supabase-postgres-best-practices/references/_sections.md +39 -39
- package/stack/skills/supabase-postgres-best-practices/references/_template.md +34 -34
- package/stack/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -55
- package/stack/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -49
- package/stack/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -46
- package/stack/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -44
- package/stack/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -41
- package/stack/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -46
- package/stack/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -54
- package/stack/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -53
- package/stack/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -50
- package/stack/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -50
- package/stack/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -56
- package/stack/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -68
- package/stack/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -50
- package/stack/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -54
- package/stack/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -45
- package/stack/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -55
- package/stack/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -55
- package/stack/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -44
- package/stack/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -40
- package/stack/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -48
- package/stack/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -43
- package/stack/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -45
- package/stack/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -80
- package/stack/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -46
- package/stack/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -59
- package/stack/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -55
- package/stack/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -55
- package/stack/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -61
- package/stack/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -54
- package/stack/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -50
- package/stack/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -63
- package/stack/skills/tdd/SKILL.md +109 -109
- package/stack/skills/tdd/deep-modules.md +33 -33
- package/stack/skills/tdd/interface-design.md +31 -31
- package/stack/skills/tdd/mocking.md +59 -59
- package/stack/skills/tdd/refactoring.md +10 -10
- package/stack/skills/tdd/tests.md +61 -61
- package/stack/skills/to-issues/SKILL.md +83 -83
- package/stack/skills/to-prd/SKILL.md +72 -72
- package/upstreams.json +96 -96
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
# Callouts Reference
|
|
2
|
-
|
|
3
|
-
## Basic Callout
|
|
4
|
-
|
|
5
|
-
```markdown
|
|
6
|
-
> [!note]
|
|
7
|
-
> This is a note callout.
|
|
8
|
-
|
|
9
|
-
> [!info] Custom Title
|
|
10
|
-
> This callout has a custom title.
|
|
11
|
-
|
|
12
|
-
> [!tip] Title Only
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Foldable Callouts
|
|
16
|
-
|
|
17
|
-
```markdown
|
|
18
|
-
> [!faq]- Collapsed by default
|
|
19
|
-
> This content is hidden until expanded.
|
|
20
|
-
|
|
21
|
-
> [!faq]+ Expanded by default
|
|
22
|
-
> This content is visible but can be collapsed.
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Nested Callouts
|
|
26
|
-
|
|
27
|
-
```markdown
|
|
28
|
-
> [!question] Outer callout
|
|
29
|
-
> > [!note] Inner callout
|
|
30
|
-
> > Nested content
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Supported Callout Types
|
|
34
|
-
|
|
35
|
-
| Type | Aliases | Color / Icon |
|
|
36
|
-
|------|---------|-------------|
|
|
37
|
-
| `note` | - | Blue, pencil |
|
|
38
|
-
| `abstract` | `summary`, `tldr` | Teal, clipboard |
|
|
39
|
-
| `info` | - | Blue, info |
|
|
40
|
-
| `todo` | - | Blue, checkbox |
|
|
41
|
-
| `tip` | `hint`, `important` | Cyan, flame |
|
|
42
|
-
| `success` | `check`, `done` | Green, checkmark |
|
|
43
|
-
| `question` | `help`, `faq` | Yellow, question mark |
|
|
44
|
-
| `warning` | `caution`, `attention` | Orange, warning |
|
|
45
|
-
| `failure` | `fail`, `missing` | Red, X |
|
|
46
|
-
| `danger` | `error` | Red, zap |
|
|
47
|
-
| `bug` | - | Red, bug |
|
|
48
|
-
| `example` | - | Purple, list |
|
|
49
|
-
| `quote` | `cite` | Gray, quote |
|
|
50
|
-
|
|
51
|
-
## Custom Callouts (CSS)
|
|
52
|
-
|
|
53
|
-
```css
|
|
54
|
-
.callout[data-callout="custom-type"] {
|
|
55
|
-
--callout-color: 255, 0, 0;
|
|
56
|
-
--callout-icon: lucide-alert-circle;
|
|
57
|
-
}
|
|
58
|
-
```
|
|
1
|
+
# Callouts Reference
|
|
2
|
+
|
|
3
|
+
## Basic Callout
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
> [!note]
|
|
7
|
+
> This is a note callout.
|
|
8
|
+
|
|
9
|
+
> [!info] Custom Title
|
|
10
|
+
> This callout has a custom title.
|
|
11
|
+
|
|
12
|
+
> [!tip] Title Only
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Foldable Callouts
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
> [!faq]- Collapsed by default
|
|
19
|
+
> This content is hidden until expanded.
|
|
20
|
+
|
|
21
|
+
> [!faq]+ Expanded by default
|
|
22
|
+
> This content is visible but can be collapsed.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Nested Callouts
|
|
26
|
+
|
|
27
|
+
```markdown
|
|
28
|
+
> [!question] Outer callout
|
|
29
|
+
> > [!note] Inner callout
|
|
30
|
+
> > Nested content
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Supported Callout Types
|
|
34
|
+
|
|
35
|
+
| Type | Aliases | Color / Icon |
|
|
36
|
+
|------|---------|-------------|
|
|
37
|
+
| `note` | - | Blue, pencil |
|
|
38
|
+
| `abstract` | `summary`, `tldr` | Teal, clipboard |
|
|
39
|
+
| `info` | - | Blue, info |
|
|
40
|
+
| `todo` | - | Blue, checkbox |
|
|
41
|
+
| `tip` | `hint`, `important` | Cyan, flame |
|
|
42
|
+
| `success` | `check`, `done` | Green, checkmark |
|
|
43
|
+
| `question` | `help`, `faq` | Yellow, question mark |
|
|
44
|
+
| `warning` | `caution`, `attention` | Orange, warning |
|
|
45
|
+
| `failure` | `fail`, `missing` | Red, X |
|
|
46
|
+
| `danger` | `error` | Red, zap |
|
|
47
|
+
| `bug` | - | Red, bug |
|
|
48
|
+
| `example` | - | Purple, list |
|
|
49
|
+
| `quote` | `cite` | Gray, quote |
|
|
50
|
+
|
|
51
|
+
## Custom Callouts (CSS)
|
|
52
|
+
|
|
53
|
+
```css
|
|
54
|
+
.callout[data-callout="custom-type"] {
|
|
55
|
+
--callout-color: 255, 0, 0;
|
|
56
|
+
--callout-icon: lucide-alert-circle;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
# Embeds Reference
|
|
2
|
-
|
|
3
|
-
## Embed Notes
|
|
4
|
-
|
|
5
|
-
```markdown
|
|
6
|
-
![[Note Name]]
|
|
7
|
-
![[Note Name#Heading]]
|
|
8
|
-
![[Note Name#^block-id]]
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Embed Images
|
|
12
|
-
|
|
13
|
-
```markdown
|
|
14
|
-
![[image.png]]
|
|
15
|
-
![[image.png|640x480]] Width x Height
|
|
16
|
-
![[image.png|300]] Width only (maintains aspect ratio)
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## External Images
|
|
20
|
-
|
|
21
|
-
```markdown
|
|
22
|
-

|
|
23
|
-

|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Embed Audio
|
|
27
|
-
|
|
28
|
-
```markdown
|
|
29
|
-
![[audio.mp3]]
|
|
30
|
-
![[audio.ogg]]
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Embed PDF
|
|
34
|
-
|
|
35
|
-
```markdown
|
|
36
|
-
![[document.pdf]]
|
|
37
|
-
![[document.pdf#page=3]]
|
|
38
|
-
![[document.pdf#height=400]]
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Embed Lists
|
|
42
|
-
|
|
43
|
-
```markdown
|
|
44
|
-
![[Note#^list-id]]
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Where the list has a block ID:
|
|
48
|
-
|
|
49
|
-
```markdown
|
|
50
|
-
- Item 1
|
|
51
|
-
- Item 2
|
|
52
|
-
- Item 3
|
|
53
|
-
|
|
54
|
-
^list-id
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Embed Search Results
|
|
58
|
-
|
|
59
|
-
````markdown
|
|
60
|
-
```query
|
|
61
|
-
tag:#project status:done
|
|
62
|
-
```
|
|
63
|
-
````
|
|
1
|
+
# Embeds Reference
|
|
2
|
+
|
|
3
|
+
## Embed Notes
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
![[Note Name]]
|
|
7
|
+
![[Note Name#Heading]]
|
|
8
|
+
![[Note Name#^block-id]]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Embed Images
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
![[image.png]]
|
|
15
|
+
![[image.png|640x480]] Width x Height
|
|
16
|
+
![[image.png|300]] Width only (maintains aspect ratio)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## External Images
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+

|
|
23
|
+

|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Embed Audio
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
![[audio.mp3]]
|
|
30
|
+
![[audio.ogg]]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Embed PDF
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
![[document.pdf]]
|
|
37
|
+
![[document.pdf#page=3]]
|
|
38
|
+
![[document.pdf#height=400]]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Embed Lists
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
![[Note#^list-id]]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Where the list has a block ID:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
- Item 1
|
|
51
|
+
- Item 2
|
|
52
|
+
- Item 3
|
|
53
|
+
|
|
54
|
+
^list-id
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Embed Search Results
|
|
58
|
+
|
|
59
|
+
````markdown
|
|
60
|
+
```query
|
|
61
|
+
tag:#project status:done
|
|
62
|
+
```
|
|
63
|
+
````
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# Properties (Frontmatter) Reference
|
|
2
|
-
|
|
3
|
-
Properties use YAML frontmatter at the start of a note:
|
|
4
|
-
|
|
5
|
-
```yaml
|
|
6
|
-
---
|
|
7
|
-
title: My Note Title
|
|
8
|
-
date: 2024-01-15
|
|
9
|
-
tags:
|
|
10
|
-
- project
|
|
11
|
-
- important
|
|
12
|
-
aliases:
|
|
13
|
-
- My Note
|
|
14
|
-
- Alternative Name
|
|
15
|
-
cssclasses:
|
|
16
|
-
- custom-class
|
|
17
|
-
status: in-progress
|
|
18
|
-
rating: 4.5
|
|
19
|
-
completed: false
|
|
20
|
-
due: 2024-02-01T14:30:00
|
|
21
|
-
---
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Property Types
|
|
25
|
-
|
|
26
|
-
| Type | Example |
|
|
27
|
-
|------|---------|
|
|
28
|
-
| Text | `title: My Title` |
|
|
29
|
-
| Number | `rating: 4.5` |
|
|
30
|
-
| Checkbox | `completed: true` |
|
|
31
|
-
| Date | `date: 2024-01-15` |
|
|
32
|
-
| Date & Time | `due: 2024-01-15T14:30:00` |
|
|
33
|
-
| List | `tags: [one, two]` or YAML list |
|
|
34
|
-
| Links | `related: "[[Other Note]]"` |
|
|
35
|
-
|
|
36
|
-
## Default Properties
|
|
37
|
-
|
|
38
|
-
- `tags` - Note tags (searchable, shown in graph view)
|
|
39
|
-
- `aliases` - Alternative names for the note (used in link suggestions)
|
|
40
|
-
- `cssclasses` - CSS classes applied to the note in reading/editing view
|
|
41
|
-
|
|
42
|
-
## Tags
|
|
43
|
-
|
|
44
|
-
```markdown
|
|
45
|
-
#tag
|
|
46
|
-
#nested/tag
|
|
47
|
-
#tag-with-dashes
|
|
48
|
-
#tag_with_underscores
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Tags can contain: letters (any language), numbers (not first character), underscores `_`, hyphens `-`, forward slashes `/` (for nesting).
|
|
52
|
-
|
|
53
|
-
In frontmatter:
|
|
54
|
-
|
|
55
|
-
```yaml
|
|
56
|
-
---
|
|
57
|
-
tags:
|
|
58
|
-
- tag1
|
|
59
|
-
- nested/tag2
|
|
60
|
-
---
|
|
61
|
-
```
|
|
1
|
+
# Properties (Frontmatter) Reference
|
|
2
|
+
|
|
3
|
+
Properties use YAML frontmatter at the start of a note:
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
---
|
|
7
|
+
title: My Note Title
|
|
8
|
+
date: 2024-01-15
|
|
9
|
+
tags:
|
|
10
|
+
- project
|
|
11
|
+
- important
|
|
12
|
+
aliases:
|
|
13
|
+
- My Note
|
|
14
|
+
- Alternative Name
|
|
15
|
+
cssclasses:
|
|
16
|
+
- custom-class
|
|
17
|
+
status: in-progress
|
|
18
|
+
rating: 4.5
|
|
19
|
+
completed: false
|
|
20
|
+
due: 2024-02-01T14:30:00
|
|
21
|
+
---
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Property Types
|
|
25
|
+
|
|
26
|
+
| Type | Example |
|
|
27
|
+
|------|---------|
|
|
28
|
+
| Text | `title: My Title` |
|
|
29
|
+
| Number | `rating: 4.5` |
|
|
30
|
+
| Checkbox | `completed: true` |
|
|
31
|
+
| Date | `date: 2024-01-15` |
|
|
32
|
+
| Date & Time | `due: 2024-01-15T14:30:00` |
|
|
33
|
+
| List | `tags: [one, two]` or YAML list |
|
|
34
|
+
| Links | `related: "[[Other Note]]"` |
|
|
35
|
+
|
|
36
|
+
## Default Properties
|
|
37
|
+
|
|
38
|
+
- `tags` - Note tags (searchable, shown in graph view)
|
|
39
|
+
- `aliases` - Alternative names for the note (used in link suggestions)
|
|
40
|
+
- `cssclasses` - CSS classes applied to the note in reading/editing view
|
|
41
|
+
|
|
42
|
+
## Tags
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
#tag
|
|
46
|
+
#nested/tag
|
|
47
|
+
#tag-with-dashes
|
|
48
|
+
#tag_with_underscores
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Tags can contain: letters (any language), numbers (not first character), underscores `_`, hyphens `-`, forward slashes `/` (for nesting).
|
|
52
|
+
|
|
53
|
+
In frontmatter:
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
---
|
|
57
|
+
tags:
|
|
58
|
+
- tag1
|
|
59
|
+
- nested/tag2
|
|
60
|
+
---
|
|
61
|
+
```
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: react-doctor
|
|
3
|
-
description: Run after making React changes to catch issues early. Use when reviewing code, finishing a feature, or fixing bugs in a React project.
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# React Doctor
|
|
8
|
-
|
|
9
|
-
Scans your React codebase for security, performance, correctness, and architecture issues. Outputs a 0-100 score with actionable diagnostics.
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npx -y react-doctor@latest . --verbose --diff
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Workflow
|
|
18
|
-
|
|
19
|
-
Run after making changes to catch issues early. Fix errors first, then re-run to verify the score improved.
|
|
1
|
+
---
|
|
2
|
+
name: react-doctor
|
|
3
|
+
description: Run after making React changes to catch issues early. Use when reviewing code, finishing a feature, or fixing bugs in a React project.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# React Doctor
|
|
8
|
+
|
|
9
|
+
Scans your React codebase for security, performance, correctness, and architecture issues. Outputs a 0-100 score with actionable diagnostics.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx -y react-doctor@latest . --verbose --diff
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
Run after making changes to catch issues early. Fix errors first, then re-run to verify the score improved.
|