mustard-claude 2.0.0
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 +198 -0
- package/bin/mustard.js +5 -0
- package/dist/analyzers/llm.d.ts +13 -0
- package/dist/analyzers/llm.js +339 -0
- package/dist/analyzers/llm.js.map +1 -0
- package/dist/analyzers/semantic.d.ts +13 -0
- package/dist/analyzers/semantic.js +215 -0
- package/dist/analyzers/semantic.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +42 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.js +377 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/sync.d.ts +5 -0
- package/dist/commands/sync.js +235 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/update.d.ts +8 -0
- package/dist/commands/update.js +237 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/generators/claude-md-llm.d.ts +5 -0
- package/dist/generators/claude-md-llm.js +101 -0
- package/dist/generators/claude-md-llm.js.map +1 -0
- package/dist/generators/claude-md-template.d.ts +5 -0
- package/dist/generators/claude-md-template.js +273 -0
- package/dist/generators/claude-md-template.js.map +1 -0
- package/dist/generators/commands.d.ts +17 -0
- package/dist/generators/commands.js +845 -0
- package/dist/generators/commands.js.map +1 -0
- package/dist/generators/context.d.ts +11 -0
- package/dist/generators/context.js +621 -0
- package/dist/generators/context.js.map +1 -0
- package/dist/generators/hooks.d.ts +5 -0
- package/dist/generators/hooks.js +128 -0
- package/dist/generators/hooks.js.map +1 -0
- package/dist/generators/index.d.ts +11 -0
- package/dist/generators/index.js +541 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/prompts.d.ts +13 -0
- package/dist/generators/prompts.js +579 -0
- package/dist/generators/prompts.js.map +1 -0
- package/dist/generators/registry.d.ts +5 -0
- package/dist/generators/registry.js +93 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/scanners/dependencies.d.ts +7 -0
- package/dist/scanners/dependencies.js +195 -0
- package/dist/scanners/dependencies.js.map +1 -0
- package/dist/scanners/index.d.ts +6 -0
- package/dist/scanners/index.js +37 -0
- package/dist/scanners/index.js.map +1 -0
- package/dist/scanners/samples.d.ts +8 -0
- package/dist/scanners/samples.js +193 -0
- package/dist/scanners/samples.js.map +1 -0
- package/dist/scanners/stack.d.ts +5 -0
- package/dist/scanners/stack.js +294 -0
- package/dist/scanners/stack.js.map +1 -0
- package/dist/scanners/structure.d.ts +5 -0
- package/dist/scanners/structure.js +274 -0
- package/dist/scanners/structure.js.map +1 -0
- package/dist/services/grepai.d.ts +25 -0
- package/dist/services/grepai.js +89 -0
- package/dist/services/grepai.js.map +1 -0
- package/dist/services/ollama.d.ts +22 -0
- package/dist/services/ollama.js +86 -0
- package/dist/services/ollama.js.map +1 -0
- package/dist/services/package-manager.d.ts +95 -0
- package/dist/services/package-manager.js +164 -0
- package/dist/services/package-manager.js.map +1 -0
- package/dist/types.d.ts +233 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +56 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared TypeScript types for Mustard CLI
|
|
3
|
+
*/
|
|
4
|
+
export interface Stack {
|
|
5
|
+
name: string;
|
|
6
|
+
version: string;
|
|
7
|
+
path: string;
|
|
8
|
+
files?: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface NamingConventions {
|
|
11
|
+
classes: string;
|
|
12
|
+
files: string | Record<string, string>;
|
|
13
|
+
variables?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface StackScanResult {
|
|
16
|
+
stacks: Stack[];
|
|
17
|
+
packageManager: string;
|
|
18
|
+
naming: NamingConventions;
|
|
19
|
+
}
|
|
20
|
+
export interface ArchitectureInfo {
|
|
21
|
+
type: string;
|
|
22
|
+
confidence: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface Subproject {
|
|
26
|
+
name: string;
|
|
27
|
+
path: string;
|
|
28
|
+
}
|
|
29
|
+
export interface StructureInfo {
|
|
30
|
+
name: string;
|
|
31
|
+
type: 'monorepo' | 'single';
|
|
32
|
+
architecture: ArchitectureInfo;
|
|
33
|
+
directories: string[];
|
|
34
|
+
folderStyle: string;
|
|
35
|
+
subprojects: Subproject[];
|
|
36
|
+
}
|
|
37
|
+
export interface ProjectPatterns {
|
|
38
|
+
classes: string;
|
|
39
|
+
files: string | Record<string, string>;
|
|
40
|
+
folders: string;
|
|
41
|
+
}
|
|
42
|
+
export interface DependencyInfo {
|
|
43
|
+
/** subproject path → categorized libraries */
|
|
44
|
+
[subprojectPath: string]: {
|
|
45
|
+
frontend?: string[];
|
|
46
|
+
backend?: string[];
|
|
47
|
+
database?: string[];
|
|
48
|
+
testing?: string[];
|
|
49
|
+
tooling?: string[];
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface ProjectInfo {
|
|
53
|
+
name: string;
|
|
54
|
+
path: string;
|
|
55
|
+
type: 'monorepo' | 'single';
|
|
56
|
+
stacks: Stack[];
|
|
57
|
+
patterns: ProjectPatterns;
|
|
58
|
+
structure: StructureInfo;
|
|
59
|
+
packageManager: string;
|
|
60
|
+
entities: Entity[];
|
|
61
|
+
dependencies: DependencyInfo;
|
|
62
|
+
raw: {
|
|
63
|
+
stack: StackScanResult;
|
|
64
|
+
structure: StructureInfo;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export interface Entity {
|
|
68
|
+
name: string;
|
|
69
|
+
file: string;
|
|
70
|
+
type: string;
|
|
71
|
+
}
|
|
72
|
+
export interface Analysis {
|
|
73
|
+
architecture: ArchitectureInfo;
|
|
74
|
+
patterns: string[];
|
|
75
|
+
naming?: NamingConventions;
|
|
76
|
+
rules: string[];
|
|
77
|
+
frameworks?: string[];
|
|
78
|
+
entities: Entity[];
|
|
79
|
+
}
|
|
80
|
+
export interface CodeSample {
|
|
81
|
+
file: string;
|
|
82
|
+
content: string;
|
|
83
|
+
type: string;
|
|
84
|
+
}
|
|
85
|
+
export interface CodeSamples {
|
|
86
|
+
service?: CodeSample;
|
|
87
|
+
endpoint?: CodeSample;
|
|
88
|
+
hook?: CodeSample;
|
|
89
|
+
component?: CodeSample;
|
|
90
|
+
schema?: CodeSample;
|
|
91
|
+
}
|
|
92
|
+
export interface SearchResult {
|
|
93
|
+
file_path: string;
|
|
94
|
+
content: string;
|
|
95
|
+
score?: number;
|
|
96
|
+
}
|
|
97
|
+
export interface SearchResponse {
|
|
98
|
+
results: SearchResult[];
|
|
99
|
+
}
|
|
100
|
+
export interface TraceResult {
|
|
101
|
+
callers?: SearchResult[];
|
|
102
|
+
callees?: SearchResult[];
|
|
103
|
+
graph?: Record<string, unknown>;
|
|
104
|
+
}
|
|
105
|
+
export interface DiscoveredPatterns {
|
|
106
|
+
services: SearchResult[];
|
|
107
|
+
repositories: SearchResult[];
|
|
108
|
+
endpoints: SearchResult[];
|
|
109
|
+
components: SearchResult[];
|
|
110
|
+
hooks: SearchResult[];
|
|
111
|
+
entities: Entity[];
|
|
112
|
+
callGraph: TraceResult | null;
|
|
113
|
+
}
|
|
114
|
+
export interface RegistryPatterns {
|
|
115
|
+
db?: string;
|
|
116
|
+
be?: string;
|
|
117
|
+
fe?: string;
|
|
118
|
+
}
|
|
119
|
+
export interface RegistryMeta {
|
|
120
|
+
version: string;
|
|
121
|
+
generated: string;
|
|
122
|
+
tool: string;
|
|
123
|
+
}
|
|
124
|
+
export interface EntityRegistry {
|
|
125
|
+
_meta: RegistryMeta;
|
|
126
|
+
_p: RegistryPatterns;
|
|
127
|
+
e: Record<string, number>;
|
|
128
|
+
}
|
|
129
|
+
export interface GeneratedPrompts {
|
|
130
|
+
orchestrator: string;
|
|
131
|
+
bugfix: string;
|
|
132
|
+
review: string;
|
|
133
|
+
naming: string;
|
|
134
|
+
backend?: string;
|
|
135
|
+
frontend?: string;
|
|
136
|
+
database?: string;
|
|
137
|
+
}
|
|
138
|
+
export interface GeneratedCommands {
|
|
139
|
+
'mtd-pipeline-feature': string;
|
|
140
|
+
'mtd-pipeline-bugfix': string;
|
|
141
|
+
'mtd-pipeline-approve': string;
|
|
142
|
+
'mtd-pipeline-complete': string;
|
|
143
|
+
'mtd-pipeline-resume': string;
|
|
144
|
+
'mtd-git-commit': string;
|
|
145
|
+
'mtd-git-push': string;
|
|
146
|
+
'mtd-git-merge': string;
|
|
147
|
+
'mtd-validate-build': string;
|
|
148
|
+
'mtd-validate-status': string;
|
|
149
|
+
'mtd-sync-registry': string;
|
|
150
|
+
'mtd-sync-dependencies': string;
|
|
151
|
+
'mtd-sync-context': string;
|
|
152
|
+
'mtd-report-daily': string;
|
|
153
|
+
'mtd-report-weekly': string;
|
|
154
|
+
'mtd-scan-project': string;
|
|
155
|
+
'mtd-task-analyze': string;
|
|
156
|
+
'mtd-task-review': string;
|
|
157
|
+
'mtd-task-refactor': string;
|
|
158
|
+
'mtd-task-docs': string;
|
|
159
|
+
}
|
|
160
|
+
export interface GeneratedHooks {
|
|
161
|
+
'enforce-pipeline.js': string;
|
|
162
|
+
'enforce-grepai.js'?: string;
|
|
163
|
+
}
|
|
164
|
+
export interface InitOptions {
|
|
165
|
+
force?: boolean;
|
|
166
|
+
yes?: boolean;
|
|
167
|
+
ollama?: boolean;
|
|
168
|
+
grepai?: boolean;
|
|
169
|
+
verbose?: boolean;
|
|
170
|
+
}
|
|
171
|
+
export interface SyncOptions {
|
|
172
|
+
prompts?: boolean;
|
|
173
|
+
context?: boolean;
|
|
174
|
+
registry?: boolean;
|
|
175
|
+
ollama?: boolean;
|
|
176
|
+
grepai?: boolean;
|
|
177
|
+
verbose?: boolean;
|
|
178
|
+
force?: boolean;
|
|
179
|
+
}
|
|
180
|
+
export interface ScanOptions {
|
|
181
|
+
verbose?: boolean;
|
|
182
|
+
}
|
|
183
|
+
export interface SearchOptions {
|
|
184
|
+
limit?: number;
|
|
185
|
+
format?: string;
|
|
186
|
+
compact?: boolean;
|
|
187
|
+
}
|
|
188
|
+
export interface TraceOptions {
|
|
189
|
+
format?: string;
|
|
190
|
+
compact?: boolean;
|
|
191
|
+
depth?: number;
|
|
192
|
+
}
|
|
193
|
+
export interface OllamaOptions {
|
|
194
|
+
model?: string;
|
|
195
|
+
format?: string;
|
|
196
|
+
timeout?: number;
|
|
197
|
+
}
|
|
198
|
+
export interface GeneratorOptions {
|
|
199
|
+
useOllama?: boolean;
|
|
200
|
+
model?: string;
|
|
201
|
+
hasGrepai?: boolean;
|
|
202
|
+
verbose?: boolean;
|
|
203
|
+
overwriteClaudeMd?: boolean;
|
|
204
|
+
codeSamples?: CodeSamples;
|
|
205
|
+
}
|
|
206
|
+
export interface PromptGeneratorOptions {
|
|
207
|
+
useOllama?: boolean;
|
|
208
|
+
model?: string;
|
|
209
|
+
}
|
|
210
|
+
export interface DiscoverOptions {
|
|
211
|
+
verbose?: boolean;
|
|
212
|
+
stacks?: Stack[];
|
|
213
|
+
}
|
|
214
|
+
export interface CodeSampleOptions {
|
|
215
|
+
maxLines?: number;
|
|
216
|
+
}
|
|
217
|
+
export interface DependenciesCheck {
|
|
218
|
+
ollama: boolean;
|
|
219
|
+
ollamaModel: string | null;
|
|
220
|
+
grepai: boolean;
|
|
221
|
+
}
|
|
222
|
+
export interface StackPatternConfig {
|
|
223
|
+
indicators: string[];
|
|
224
|
+
configFiles?: string[];
|
|
225
|
+
customScanner?: (projectPath: string) => Promise<Stack[]>;
|
|
226
|
+
detector?: (path: string) => Promise<boolean>;
|
|
227
|
+
versionExtractor?: (path: string) => Promise<string>;
|
|
228
|
+
}
|
|
229
|
+
export interface ArchitecturePatternConfig {
|
|
230
|
+
folders?: string[];
|
|
231
|
+
patterns?: RegExp[];
|
|
232
|
+
confidence: 'high' | 'medium' | 'low';
|
|
233
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mustard-claude",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Framework-agnostic CLI for Claude Code project setup",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"mustard": "./bin/mustard.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "dist/cli.js",
|
|
10
|
+
"types": "dist/cli.d.ts",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"start": "node bin/mustard.js",
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"clean": "rimraf dist",
|
|
15
|
+
"typecheck": "tsc --noEmit",
|
|
16
|
+
"test": "node --test",
|
|
17
|
+
"prepublishOnly": "npm run build"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"claude",
|
|
21
|
+
"claude-code",
|
|
22
|
+
"ai",
|
|
23
|
+
"cli",
|
|
24
|
+
"scaffold"
|
|
25
|
+
],
|
|
26
|
+
"author": "Competi",
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git+https://github.com/Competi/mustard.git"
|
|
31
|
+
},
|
|
32
|
+
"homepage": "https://github.com/Competi/mustard#readme",
|
|
33
|
+
"bugs": {
|
|
34
|
+
"url": "https://github.com/Competi/mustard/issues"
|
|
35
|
+
},
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"chalk": "^5.3.0",
|
|
41
|
+
"commander": "^12.1.0",
|
|
42
|
+
"glob": "^10.3.10",
|
|
43
|
+
"inquirer": "^9.2.15",
|
|
44
|
+
"ollama": "^0.5.11",
|
|
45
|
+
"ora": "^8.0.1"
|
|
46
|
+
},
|
|
47
|
+
"engines": {
|
|
48
|
+
"node": ">=18.0.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/inquirer": "^9.0.9",
|
|
52
|
+
"@types/node": "^25.2.1",
|
|
53
|
+
"rimraf": "^6.1.2",
|
|
54
|
+
"typescript": "^5.9.3"
|
|
55
|
+
}
|
|
56
|
+
}
|