carto-md 1.0.19 → 1.1.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/.carto/config.json +79 -0
- package/.carto/context/CORE.md +253 -0
- package/.carto/context/DATABASE.md +19 -0
- package/.carto/map.json +83 -0
- package/AGENTS.md +37 -0
- package/CONTRIBUTING.md +8 -8
- package/README.md +1 -1
- package/mcp.md +0 -0
- package/package.json +2 -1
- package/src/agents/domains.js +188 -0
- package/src/agents/formatter.js +54 -101
- package/src/cli/impact.js +23 -53
- package/src/cli/index.js +3 -0
- package/src/cli/init.js +58 -0
- package/src/cli/serve.js +14 -0
- package/src/detector/files.js +37 -25
- package/src/extractors/languages/typescript.js +45 -1
- package/src/mcp/server.js +217 -0
- package/src/sync.js +46 -5
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1",
|
|
3
|
+
"framework": "node-generic",
|
|
4
|
+
"language": "javascript",
|
|
5
|
+
"projectRoot": "/Users/anshsonkar/carto-ansh",
|
|
6
|
+
"watch": {
|
|
7
|
+
"routeFiles": [
|
|
8
|
+
"src/agents/domains.js",
|
|
9
|
+
"src/agents/formatter.js",
|
|
10
|
+
"src/agents/merger.js",
|
|
11
|
+
"src/agents/validator.js",
|
|
12
|
+
"src/cli/impact.js",
|
|
13
|
+
"src/cli/index.js",
|
|
14
|
+
"src/cli/init.js",
|
|
15
|
+
"src/cli/remove.js",
|
|
16
|
+
"src/cli/sync.js",
|
|
17
|
+
"src/cli/update-check.js",
|
|
18
|
+
"src/cli/watch.js",
|
|
19
|
+
"src/detector/files.js",
|
|
20
|
+
"src/detector/framework.js",
|
|
21
|
+
"src/extractors/dbtables.js",
|
|
22
|
+
"src/extractors/envvars.js",
|
|
23
|
+
"src/extractors/filemap.js",
|
|
24
|
+
"src/extractors/frontend.js",
|
|
25
|
+
"src/extractors/functions.js",
|
|
26
|
+
"src/extractors/imports.js",
|
|
27
|
+
"src/extractors/languages/html.js",
|
|
28
|
+
"src/extractors/languages/javascript.js",
|
|
29
|
+
"src/extractors/languages/prisma.js",
|
|
30
|
+
"src/extractors/languages/python.js",
|
|
31
|
+
"src/extractors/languages/r.js",
|
|
32
|
+
"src/extractors/languages/typescript.js",
|
|
33
|
+
"src/extractors/loader.js",
|
|
34
|
+
"src/extractors/models.js",
|
|
35
|
+
"src/extractors/routes.js",
|
|
36
|
+
"src/extractors/stack.js",
|
|
37
|
+
"src/security/ignore.js",
|
|
38
|
+
"src/sync.js",
|
|
39
|
+
"src/watcher/watch.js"
|
|
40
|
+
],
|
|
41
|
+
"modelFiles": [
|
|
42
|
+
"src/agents/domains.js",
|
|
43
|
+
"src/agents/formatter.js",
|
|
44
|
+
"src/agents/merger.js",
|
|
45
|
+
"src/agents/validator.js",
|
|
46
|
+
"src/cli/impact.js",
|
|
47
|
+
"src/cli/index.js",
|
|
48
|
+
"src/cli/init.js",
|
|
49
|
+
"src/cli/remove.js",
|
|
50
|
+
"src/cli/sync.js",
|
|
51
|
+
"src/cli/update-check.js",
|
|
52
|
+
"src/cli/watch.js",
|
|
53
|
+
"src/detector/files.js",
|
|
54
|
+
"src/detector/framework.js",
|
|
55
|
+
"src/extractors/dbtables.js",
|
|
56
|
+
"src/extractors/envvars.js",
|
|
57
|
+
"src/extractors/filemap.js",
|
|
58
|
+
"src/extractors/frontend.js",
|
|
59
|
+
"src/extractors/functions.js",
|
|
60
|
+
"src/extractors/imports.js",
|
|
61
|
+
"src/extractors/languages/html.js",
|
|
62
|
+
"src/extractors/languages/javascript.js",
|
|
63
|
+
"src/extractors/languages/prisma.js",
|
|
64
|
+
"src/extractors/languages/python.js",
|
|
65
|
+
"src/extractors/languages/r.js",
|
|
66
|
+
"src/extractors/languages/typescript.js",
|
|
67
|
+
"src/extractors/loader.js",
|
|
68
|
+
"src/extractors/models.js",
|
|
69
|
+
"src/extractors/routes.js",
|
|
70
|
+
"src/extractors/stack.js",
|
|
71
|
+
"src/security/ignore.js",
|
|
72
|
+
"src/sync.js",
|
|
73
|
+
"src/watcher/watch.js"
|
|
74
|
+
],
|
|
75
|
+
"frontendFiles": []
|
|
76
|
+
},
|
|
77
|
+
"output": "AGENTS.md",
|
|
78
|
+
"generated": "2026-05-23T05:17:08.168Z"
|
|
79
|
+
}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# CORE (auto-generated by Carto)
|
|
2
|
+
|
|
3
|
+
> Read this when working on core features.
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
|
|
7
|
+
### src/agents/domains.js
|
|
8
|
+
| Function | Params | Returns |
|
|
9
|
+
|----------|--------|---------|
|
|
10
|
+
| getDomainForFile | relPath | — |
|
|
11
|
+
| buildFileAssignments | allFiles, importGraph | — |
|
|
12
|
+
| clusterByDomain | data | — |
|
|
13
|
+
|
|
14
|
+
### src/agents/formatter.js
|
|
15
|
+
| Function | Params | Returns |
|
|
16
|
+
|----------|--------|---------|
|
|
17
|
+
| formatSections | {...} | — |
|
|
18
|
+
| formatDomainFile | domainName, cluster | — |
|
|
19
|
+
|
|
20
|
+
### src/agents/merger.js
|
|
21
|
+
| Function | Params | Returns |
|
|
22
|
+
|----------|--------|---------|
|
|
23
|
+
| mergeIntoAgentsMd | agentsPath, autoContent | — |
|
|
24
|
+
|
|
25
|
+
### src/agents/validator.js
|
|
26
|
+
| Function | Params | Returns |
|
|
27
|
+
|----------|--------|---------|
|
|
28
|
+
| validateExtracted | {...} | — |
|
|
29
|
+
| validateRoutes | routes | — |
|
|
30
|
+
| validateModels | models | — |
|
|
31
|
+
| validateFunctions | functionsMap | — |
|
|
32
|
+
| validateEnvVars | envVars | — |
|
|
33
|
+
| validateDBTables | dbTables | — |
|
|
34
|
+
|
|
35
|
+
### src/cli/impact.js
|
|
36
|
+
| Function | Params | Returns |
|
|
37
|
+
|----------|--------|---------|
|
|
38
|
+
| run | projectRoot, fileArg | — |
|
|
39
|
+
| resolveFile | fileArg, imports | — |
|
|
40
|
+
| collectDependents | targetFile, imports, maxHops | — |
|
|
41
|
+
|
|
42
|
+
### src/cli/index.js
|
|
43
|
+
| Function | Params | Returns |
|
|
44
|
+
|----------|--------|---------|
|
|
45
|
+
| printUsage | — | — |
|
|
46
|
+
|
|
47
|
+
### src/cli/init.js
|
|
48
|
+
| Function | Params | Returns |
|
|
49
|
+
|----------|--------|---------|
|
|
50
|
+
| run | projectRoot | — |
|
|
51
|
+
| resolveConfig | projectRoot, config | — |
|
|
52
|
+
| installGitHook | projectRoot | — |
|
|
53
|
+
| wireIDEs | projectRoot | — |
|
|
54
|
+
|
|
55
|
+
### src/cli/remove.js
|
|
56
|
+
| Function | Params | Returns |
|
|
57
|
+
|----------|--------|---------|
|
|
58
|
+
| run | projectRoot | — |
|
|
59
|
+
|
|
60
|
+
### src/cli/sync.js
|
|
61
|
+
| Function | Params | Returns |
|
|
62
|
+
|----------|--------|---------|
|
|
63
|
+
| run | projectRoot | — |
|
|
64
|
+
|
|
65
|
+
### src/cli/update-check.js
|
|
66
|
+
| Function | Params | Returns |
|
|
67
|
+
|----------|--------|---------|
|
|
68
|
+
| checkForUpdate | — | — |
|
|
69
|
+
| isNewer | a, b | — |
|
|
70
|
+
|
|
71
|
+
### src/cli/watch.js
|
|
72
|
+
| Function | Params | Returns |
|
|
73
|
+
|----------|--------|---------|
|
|
74
|
+
| run | projectRoot | — |
|
|
75
|
+
|
|
76
|
+
### src/detector/files.js
|
|
77
|
+
| Function | Params | Returns |
|
|
78
|
+
|----------|--------|---------|
|
|
79
|
+
| discoverFiles | projectRoot, framework, isIgnored, secondaryFramework | — |
|
|
80
|
+
| discoverForFramework | projectRoot, framework, ignoreFn | — |
|
|
81
|
+
| smartSelect | allFiles, htmlFiles, projectRoot | — |
|
|
82
|
+
| isRouteFile | filePath | — |
|
|
83
|
+
| isModelFile | filePath | — |
|
|
84
|
+
| scoreRoute | filePath | — |
|
|
85
|
+
| scoreModel | filePath | — |
|
|
86
|
+
| countImportReferences | allFiles, projectRoot | — |
|
|
87
|
+
| tryResolve | importPath, fileDir, projectRoot, knownPaths | — |
|
|
88
|
+
| findFilesRecursive | dir, extensions, ignoreDirs, isIgnored, results | — |
|
|
89
|
+
|
|
90
|
+
### src/detector/framework.js
|
|
91
|
+
| Function | Params | Returns |
|
|
92
|
+
|----------|--------|---------|
|
|
93
|
+
| detectFramework | projectRoot | — |
|
|
94
|
+
| findFile | dir, fileNames, maxDepth, currentDepth | — |
|
|
95
|
+
| detectAllFromPythonDeps | filePath | — |
|
|
96
|
+
| detectAllFromPackageJson | filePath | — |
|
|
97
|
+
| detectAllFromRDescription | filePath | — |
|
|
98
|
+
| detectAllFromRFiles | projectRoot | — |
|
|
99
|
+
|
|
100
|
+
### src/extractors/dbtables.js
|
|
101
|
+
| Function | Params | Returns |
|
|
102
|
+
|----------|--------|---------|
|
|
103
|
+
| extractDBTables | content | — |
|
|
104
|
+
| toSnakeCase | str | — |
|
|
105
|
+
|
|
106
|
+
### src/extractors/envvars.js
|
|
107
|
+
| Function | Params | Returns |
|
|
108
|
+
|----------|--------|---------|
|
|
109
|
+
| extractEnvVars | content | — |
|
|
110
|
+
|
|
111
|
+
### src/extractors/filemap.js
|
|
112
|
+
| Function | Params | Returns |
|
|
113
|
+
|----------|--------|---------|
|
|
114
|
+
| inferResponsibility | filename, functionCount, routeCount | — |
|
|
115
|
+
|
|
116
|
+
### src/extractors/frontend.js
|
|
117
|
+
| Function | Params | Returns |
|
|
118
|
+
|----------|--------|---------|
|
|
119
|
+
| extractFrontend | content | — |
|
|
120
|
+
|
|
121
|
+
### src/extractors/functions.js
|
|
122
|
+
| Function | Params | Returns |
|
|
123
|
+
|----------|--------|---------|
|
|
124
|
+
| extractFunctions | content, filename | — |
|
|
125
|
+
| splitParams | rawParams | — |
|
|
126
|
+
|
|
127
|
+
### src/extractors/imports.js
|
|
128
|
+
| Function | Params | Returns |
|
|
129
|
+
|----------|--------|---------|
|
|
130
|
+
| extractImports | content, filePath, projectRoot | — |
|
|
131
|
+
| extractJSImports | content | — |
|
|
132
|
+
| extractRImports | content, filePath, projectRoot | — |
|
|
133
|
+
| extractPythonImports | content, filePath, projectRoot | — |
|
|
134
|
+
| tryResolvePythonModule | modulePath, baseDir | — |
|
|
135
|
+
| resolvePythonRelativeImport | importStr, fileDir | — |
|
|
136
|
+
| resolveImportPath | importPath, fileDir, projectRoot, sourceExt | — |
|
|
137
|
+
| buildImportGraph | fileContents, projectRoot | — |
|
|
138
|
+
|
|
139
|
+
### src/extractors/languages/javascript.js
|
|
140
|
+
| Function | Params | Returns |
|
|
141
|
+
|----------|--------|---------|
|
|
142
|
+
| walk | node, visitor | — |
|
|
143
|
+
| extractExpressRoutes | ast, filename | — |
|
|
144
|
+
| extractNextJSPagesRoutes | ast, filename | — |
|
|
145
|
+
| extractJSFunctions | ast | — |
|
|
146
|
+
| shouldSkipJSFunction | name, params | — |
|
|
147
|
+
| extractParams | params | — |
|
|
148
|
+
| extractProcessEnv | ast | — |
|
|
149
|
+
| extractJSFetches | ast | — |
|
|
150
|
+
|
|
151
|
+
### src/extractors/languages/r.js
|
|
152
|
+
| Function | Params | Returns |
|
|
153
|
+
|----------|--------|---------|
|
|
154
|
+
| pathToIdentifier | routePath | — |
|
|
155
|
+
| descToIdentifier | desc | — |
|
|
156
|
+
| extractRoutes | content | — |
|
|
157
|
+
| extractFunctions | content | — |
|
|
158
|
+
| collapseParens | content | — |
|
|
159
|
+
| findBalancedEnd | str, openPos | — |
|
|
160
|
+
| extractModels | content | — |
|
|
161
|
+
| extractEnvVars | content | — |
|
|
162
|
+
|
|
163
|
+
### src/extractors/languages/typescript.js
|
|
164
|
+
| Function | Params | Returns |
|
|
165
|
+
|----------|--------|---------|
|
|
166
|
+
| extractNextJSPagesRoutes | ast, filename | — |
|
|
167
|
+
| walk | node, visitor | — |
|
|
168
|
+
| extractTSFunctions | ast | — |
|
|
169
|
+
| extractFuncFromNode | node, functions | — |
|
|
170
|
+
| shouldSkip | name, params | — |
|
|
171
|
+
| extractTSParams | params | — |
|
|
172
|
+
| extractReturnType | funcNode | — |
|
|
173
|
+
| typeToString | typeNode | — |
|
|
174
|
+
| extractTSInterfaces | ast | — |
|
|
175
|
+
|
|
176
|
+
### src/extractors/loader.js
|
|
177
|
+
| Function | Params | Returns |
|
|
178
|
+
|----------|--------|---------|
|
|
179
|
+
| loadLanguagePlugins | — | — |
|
|
180
|
+
| getPluginForFile | plugins, filePath | — |
|
|
181
|
+
|
|
182
|
+
### src/extractors/models.js
|
|
183
|
+
| Function | Params | Returns |
|
|
184
|
+
|----------|--------|---------|
|
|
185
|
+
| extractModels | content | — |
|
|
186
|
+
|
|
187
|
+
### src/extractors/routes.js
|
|
188
|
+
| Function | Params | Returns |
|
|
189
|
+
|----------|--------|---------|
|
|
190
|
+
| collapseMultilineDecorators | content | — |
|
|
191
|
+
| extractRoutes | content | — |
|
|
192
|
+
|
|
193
|
+
### src/extractors/stack.js
|
|
194
|
+
| Function | Params | Returns |
|
|
195
|
+
|----------|--------|---------|
|
|
196
|
+
| detectStackFromContent | content, filename | — |
|
|
197
|
+
| detectStackFromPackageJson | projectRoot | — |
|
|
198
|
+
| detectStackFromRequirements | projectRoot | — |
|
|
199
|
+
| buildStackLine | fileContents, projectRoot | — |
|
|
200
|
+
| escapeRegex | str | — |
|
|
201
|
+
|
|
202
|
+
### src/security/ignore.js
|
|
203
|
+
| Function | Params | Returns |
|
|
204
|
+
|----------|--------|---------|
|
|
205
|
+
| parseCartoIgnore | projectRoot | — |
|
|
206
|
+
| matchPattern | str, pattern | — |
|
|
207
|
+
|
|
208
|
+
### src/sync.js
|
|
209
|
+
| Function | Params | Returns |
|
|
210
|
+
|----------|--------|---------|
|
|
211
|
+
| safeReadFile | filePath, warnings | — |
|
|
212
|
+
| scanStructure | basePath | — |
|
|
213
|
+
| runFullSync | config | — |
|
|
214
|
+
|
|
215
|
+
### src/watcher/watch.js
|
|
216
|
+
| Function | Params | Returns |
|
|
217
|
+
|----------|--------|---------|
|
|
218
|
+
| startWatcher | filePaths, onChange | — |
|
|
219
|
+
|
|
220
|
+
## Files
|
|
221
|
+
|
|
222
|
+
| File | Responsibility |
|
|
223
|
+
|------|----------------|
|
|
224
|
+
| src/agents/domains.js | AI/LLM integration |
|
|
225
|
+
| src/agents/formatter.js | 2 functions |
|
|
226
|
+
| src/agents/merger.js | 1 functions |
|
|
227
|
+
| src/agents/validator.js | 6 functions |
|
|
228
|
+
| src/cli/impact.js | 3 functions |
|
|
229
|
+
| src/cli/index.js | 1 functions |
|
|
230
|
+
| src/cli/init.js | 4 functions |
|
|
231
|
+
| src/cli/remove.js | 1 functions |
|
|
232
|
+
| src/cli/sync.js | 1 functions |
|
|
233
|
+
| src/cli/update-check.js | Rule checks (2 functions) |
|
|
234
|
+
| src/cli/watch.js | 1 functions |
|
|
235
|
+
| src/detector/files.js | 10 functions |
|
|
236
|
+
| src/detector/framework.js | 6 functions |
|
|
237
|
+
| src/extractors/dbtables.js | Database operations |
|
|
238
|
+
| src/extractors/envvars.js | 1 functions |
|
|
239
|
+
| src/extractors/filemap.js | 1 functions |
|
|
240
|
+
| src/extractors/frontend.js | 1 functions |
|
|
241
|
+
| src/extractors/functions.js | 2 functions |
|
|
242
|
+
| src/extractors/imports.js | 8 functions |
|
|
243
|
+
| src/extractors/languages/html.js | AI/LLM integration |
|
|
244
|
+
| src/extractors/languages/javascript.js | 8 functions |
|
|
245
|
+
| src/extractors/languages/r.js | 8 functions |
|
|
246
|
+
| src/extractors/languages/typescript.js | 9 functions |
|
|
247
|
+
| src/extractors/loader.js | 2 functions |
|
|
248
|
+
| src/extractors/models.js | Data models |
|
|
249
|
+
| src/extractors/routes.js | 2 functions |
|
|
250
|
+
| src/extractors/stack.js | 5 functions |
|
|
251
|
+
| src/security/ignore.js | 2 functions |
|
|
252
|
+
| src/sync.js | 3 functions |
|
|
253
|
+
| src/watcher/watch.js | 1 functions |
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# DATABASE (auto-generated by Carto)
|
|
2
|
+
|
|
3
|
+
> Read this when working on database features.
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
|
|
7
|
+
### src/extractors/languages/prisma.js
|
|
8
|
+
| Function | Params | Returns |
|
|
9
|
+
|----------|--------|---------|
|
|
10
|
+
| extractPrismaModels | content | — |
|
|
11
|
+
| extractPrismaDBTables | content | — |
|
|
12
|
+
| extractModelBlocks | content | — |
|
|
13
|
+
| toSnakeCase | str | — |
|
|
14
|
+
|
|
15
|
+
## Files
|
|
16
|
+
|
|
17
|
+
| File | Responsibility |
|
|
18
|
+
|------|----------------|
|
|
19
|
+
| src/extractors/languages/prisma.js | 4 functions |
|
package/.carto/map.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1",
|
|
3
|
+
"generated": "2026-05-23T05:28:54.807Z",
|
|
4
|
+
"imports": {
|
|
5
|
+
"src/cli/index.js": [
|
|
6
|
+
"package.json",
|
|
7
|
+
"src/cli/impact.js",
|
|
8
|
+
"src/cli/init.js",
|
|
9
|
+
"src/cli/remove.js",
|
|
10
|
+
"src/cli/serve.js",
|
|
11
|
+
"src/cli/sync.js",
|
|
12
|
+
"src/cli/watch.js"
|
|
13
|
+
],
|
|
14
|
+
"src/cli/init.js": [
|
|
15
|
+
"src/detector/files.js",
|
|
16
|
+
"src/detector/framework.js",
|
|
17
|
+
"src/security/ignore.js",
|
|
18
|
+
"src/sync.js"
|
|
19
|
+
],
|
|
20
|
+
"src/cli/sync.js": [
|
|
21
|
+
"src/cli/init.js",
|
|
22
|
+
"src/cli/update-check.js",
|
|
23
|
+
"src/sync.js"
|
|
24
|
+
],
|
|
25
|
+
"src/cli/update-check.js": [
|
|
26
|
+
"package.json"
|
|
27
|
+
],
|
|
28
|
+
"src/cli/watch.js": [
|
|
29
|
+
"src/cli/init.js",
|
|
30
|
+
"src/cli/update-check.js",
|
|
31
|
+
"src/sync.js",
|
|
32
|
+
"src/watcher/watch.js"
|
|
33
|
+
],
|
|
34
|
+
"src/extractors/languages/html.js": [
|
|
35
|
+
"src/extractors/frontend.js"
|
|
36
|
+
],
|
|
37
|
+
"src/extractors/languages/python.js": [
|
|
38
|
+
"src/extractors/dbtables.js",
|
|
39
|
+
"src/extractors/envvars.js",
|
|
40
|
+
"src/extractors/functions.js",
|
|
41
|
+
"src/extractors/models.js",
|
|
42
|
+
"src/extractors/routes.js"
|
|
43
|
+
],
|
|
44
|
+
"src/extractors/languages/typescript.js": [
|
|
45
|
+
"src/extractors/languages/javascript.js"
|
|
46
|
+
],
|
|
47
|
+
"src/sync.js": [
|
|
48
|
+
"src/agents/domains.js",
|
|
49
|
+
"src/agents/formatter.js",
|
|
50
|
+
"src/agents/merger.js",
|
|
51
|
+
"src/agents/validator.js",
|
|
52
|
+
"src/extractors/filemap.js",
|
|
53
|
+
"src/extractors/imports.js",
|
|
54
|
+
"src/extractors/loader.js",
|
|
55
|
+
"src/extractors/stack.js"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"routes": [],
|
|
59
|
+
"routesByFile": {},
|
|
60
|
+
"highImpact": [
|
|
61
|
+
{
|
|
62
|
+
"file": "src/cli/init.js",
|
|
63
|
+
"dependents": 3
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"file": "src/sync.js",
|
|
67
|
+
"dependents": 3
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"file": "package.json",
|
|
71
|
+
"dependents": 2
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"file": "src/cli/update-check.js",
|
|
75
|
+
"dependents": 2
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"entryPoints": [
|
|
79
|
+
"src/cli/index.js",
|
|
80
|
+
"src/extractors/languages/python.js"
|
|
81
|
+
],
|
|
82
|
+
"stack": []
|
|
83
|
+
}
|
package/AGENTS.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- CARTO:AUTO:START -->
|
|
2
|
+
## Project Structure (auto)
|
|
3
|
+
|
|
4
|
+
- 📁 .kiro/
|
|
5
|
+
- 📁 src/
|
|
6
|
+
- 📁 test/
|
|
7
|
+
- 📄 .cartoignore
|
|
8
|
+
- 📄 .DS_Store
|
|
9
|
+
- 📄 .gitignore
|
|
10
|
+
- 📄 .npmignore
|
|
11
|
+
- 📄 CARTO_BRAIN.md
|
|
12
|
+
- 📄 CONTRIBUTING.md
|
|
13
|
+
- 📄 LICENSE
|
|
14
|
+
- 📄 mcp.md
|
|
15
|
+
- 📄 package-lock.json
|
|
16
|
+
- 📄 package.json
|
|
17
|
+
- 📄 PROGRESS.md
|
|
18
|
+
- 📄 README.md
|
|
19
|
+
**Entry points:** src/cli/index.js, src/extractors/languages/python.js
|
|
20
|
+
**High impact:** src/cli/init.js (3 dependents), src/sync.js (3 dependents), package.json (2 dependents), src/cli/update-check.js (2 dependents)
|
|
21
|
+
|
|
22
|
+
## Context Files (auto)
|
|
23
|
+
|
|
24
|
+
Carto generated domain-specific context files in `.carto/context/`.
|
|
25
|
+
Read the relevant file before working on that area:
|
|
26
|
+
|
|
27
|
+
| Domain | File | Read when... |
|
|
28
|
+
|--------|------|--------------|
|
|
29
|
+
| Auth | `.carto/context/AUTH.md` | Working on login, sessions, OAuth |
|
|
30
|
+
| Payments | `.carto/context/PAYMENTS.md` | Working on billing, Stripe |
|
|
31
|
+
| tRPC | `.carto/context/TRPC.md` | Working on API procedures |
|
|
32
|
+
| Database | `.carto/context/DATABASE.md` | Working on models, schema |
|
|
33
|
+
| Events | `.carto/context/EVENTS.md` | Working on webhooks, jobs |
|
|
34
|
+
| Core | `.carto/context/CORE.md` | General utilities, shared code |
|
|
35
|
+
|
|
36
|
+
> Run `carto serve` to enable live graph queries from Kiro, Cursor, and Claude.
|
|
37
|
+
<!-- CARTO:AUTO:END -->
|
package/CONTRIBUTING.md
CHANGED
|
@@ -8,9 +8,9 @@ Carto is free, open source, and community-maintained. The core team owns the mer
|
|
|
8
8
|
|
|
9
9
|
### Tier 1 — Languages (safe to add, easy to review)
|
|
10
10
|
|
|
11
|
-
New language support lives in `src/
|
|
11
|
+
New language support lives in `src/extractors/languages/`. Each language is an isolated module.
|
|
12
12
|
|
|
13
|
-
Currently supported: JavaScript/TypeScript, Python.
|
|
13
|
+
Currently supported: JavaScript/TypeScript, Python, R.
|
|
14
14
|
|
|
15
15
|
Wanted: Go, Rust, Ruby, Java, PHP, C#.
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ Wanted: Go, Rust, Ruby, Java, PHP, C#.
|
|
|
18
18
|
|
|
19
19
|
Framework-specific route and model extraction lives in `src/extractors/`. Each framework is an isolated module.
|
|
20
20
|
|
|
21
|
-
Currently supported: FastAPI, Express, Next.js App Router, Prisma, HTML fetch().
|
|
21
|
+
Currently supported: FastAPI, Express, Next.js App Router, Prisma, HTML fetch(), Plumber, Shiny.
|
|
22
22
|
|
|
23
23
|
Wanted: Django, Rails, Laravel, NestJS, Hono, Gin, Spring.
|
|
24
24
|
|
|
@@ -38,10 +38,10 @@ Wanted: Django, Rails, Laravel, NestJS, Hono, Gin, Spring.
|
|
|
38
38
|
3. Return:
|
|
39
39
|
```js
|
|
40
40
|
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
routes: [{ method, path, functionName }],
|
|
42
|
+
models: [{ className, fields: [{ name, type }] }],
|
|
43
|
+
functions: [{ name, params }],
|
|
44
|
+
envVars: ['VAR_NAME']
|
|
45
45
|
}
|
|
46
46
|
```
|
|
47
47
|
4. Add it to `src/extractors/loader.js` language map
|
|
@@ -81,7 +81,7 @@ Wanted: Django, Rails, Laravel, NestJS, Hono, Gin, Spring.
|
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
83
|
git clone https://github.com/theanshsonkar/carto
|
|
84
|
-
cd carto
|
|
84
|
+
cd carto
|
|
85
85
|
npm install
|
|
86
86
|
node src/cli/index.js init # test in any project
|
|
87
87
|
```
|
package/README.md
CHANGED
|
@@ -171,7 +171,7 @@ Want live updates on every file save too? Run `carto watch` in a background term
|
|
|
171
171
|
| Python | FastAPI, Pydantic |
|
|
172
172
|
| JavaScript | Express, Next.js |
|
|
173
173
|
| TypeScript | Express, Next.js, Prisma |
|
|
174
|
-
| R | Plumber, Shiny |
|
|
174
|
+
| R | Plumber, Shiny, R6, S7 |
|
|
175
175
|
| HTML | fetch() calls |
|
|
176
176
|
|
|
177
177
|
More languages via community — open an issue or see [CONTRIBUTING.md](CONTRIBUTING.md).
|
package/mcp.md
ADDED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "carto-md",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "The context layer for AI-native development.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"carto": "src/cli/index.js"
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@babel/parser": "^7.29.3",
|
|
14
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
14
15
|
"chokidar": "^3.6.0"
|
|
15
16
|
},
|
|
16
17
|
"engines": {
|