cubest 0.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.
Files changed (46) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +27 -0
  3. package/README.ar.md +110 -0
  4. package/README.bn.md +111 -0
  5. package/README.es.md +110 -0
  6. package/README.hi.md +110 -0
  7. package/README.ja.md +113 -0
  8. package/README.md +469 -0
  9. package/README.pa.md +114 -0
  10. package/README.pt.md +113 -0
  11. package/README.ru.md +1174 -0
  12. package/README.zh-CN.md +233 -0
  13. package/bin/cubest.js +28 -0
  14. package/cubest.py +1862 -0
  15. package/package.json +28 -0
  16. package/profiles/agents_inventory.yaml +15 -0
  17. package/profiles/api_routes.yaml +20 -0
  18. package/profiles/call_graph.yaml +19 -0
  19. package/profiles/code_atlas.yaml +33 -0
  20. package/profiles/code_stats.yaml +15 -0
  21. package/profiles/csv_analytics.yaml +31 -0
  22. package/profiles/disk_usage.yaml +29 -0
  23. package/profiles/doc_structure.yaml +16 -0
  24. package/profiles/file_tree.yaml +27 -0
  25. package/profiles/frontend_geoip.yaml +49 -0
  26. package/profiles/git_log_activity.yaml +29 -0
  27. package/profiles/imports.yaml +16 -0
  28. package/profiles/jsonl_events.yaml +19 -0
  29. package/profiles/k8s_resources.yaml +25 -0
  30. package/profiles/loc_counter.yaml +51 -0
  31. package/profiles/mr_impact.yaml +19 -0
  32. package/profiles/nginx_access.yaml +33 -0
  33. package/profiles/nginx_cdn_covers.yaml +32 -0
  34. package/profiles/openapi_endpoints.yaml +19 -0
  35. package/profiles/react_components.yaml +15 -0
  36. package/profiles/sdd_checklist.yaml +17 -0
  37. package/profiles/sdd_specs.yaml +19 -0
  38. package/profiles/seo_audit.yaml +31 -0
  39. package/profiles/seo_semantic_tree.yaml +17 -0
  40. package/profiles/sitemap_map.yaml +20 -0
  41. package/profiles/skills_inventory.yaml +17 -0
  42. package/profiles/spec_status.yaml +18 -0
  43. package/profiles/sql_functions.yaml +31 -0
  44. package/profiles/tech_debt.yaml +16 -0
  45. package/profiles/xml_tags.yaml +21 -0
  46. package/profiles/yaml_keys.yaml +19 -0
@@ -0,0 +1,17 @@
1
+ name: skills_inventory
2
+ description: "Claude skills catalog: reads SKILL.md frontmatter → grouped by top-level dir × name"
3
+ scan:
4
+ include: ["**/SKILL.md", "SKILL.md"]
5
+ dimensions: [top, name]
6
+ measures:
7
+ - name: count
8
+ type: count
9
+ extract:
10
+ - type: preset
11
+ preset: md_frontmatter
12
+ - type: preset
13
+ preset: paths # to get `top` and `name` if frontmatter is missing
14
+ output:
15
+ format: flat
16
+ top_n: 100
17
+ max_lines: 150
@@ -0,0 +1,18 @@
1
+ name: spec_status
2
+ description: "SDD spec/PRD/ADR lifecycle: phase × status per artefact (frontmatter fields phase, status, owner)"
3
+ scan:
4
+ include: ["specs/**/*.md", "docs/**/*.md", "adr/**/*.md", "prd/**/*.md",
5
+ "**/rfc/*.md", "**/_base/meta/*.md"]
6
+ dimensions: [phase, status, owner]
7
+ measures:
8
+ - name: docs
9
+ type: count
10
+ extract:
11
+ - type: preset
12
+ preset: md_frontmatter
13
+ filters:
14
+ - "phase != '---' or status != '---'"
15
+ output:
16
+ format: md_table
17
+ top_n: 50
18
+ max_lines: 80
@@ -0,0 +1,31 @@
1
+ name: sql_functions
2
+ description: "Functions defined in files that contain raw SQL. Uses content_match prefilter, then funcs preset. Grouped by lang × file × function."
3
+ scan:
4
+ include:
5
+ - "*.py"
6
+ - "*.js"
7
+ - "*.ts"
8
+ - "*.go"
9
+ - "*.rs"
10
+ - "*.java"
11
+ - "*.rb"
12
+ - "*.php"
13
+ - "*.kt"
14
+ exclude: [".git/", "node_modules/", "vendor/", "dist/", "build/",
15
+ "*.test.*", "*_test.go", "*.spec.*"]
16
+ # File must contain a raw SQL verb outside a comment. Heuristic: the verb
17
+ # appears in a string literal after or before a SQL context word.
18
+ content_match:
19
+ - '\b(SELECT|INSERT\s+INTO|UPDATE|DELETE\s+FROM|CREATE\s+TABLE|WITH\s+\w+\s+AS)\b'
20
+ dimensions: [lang, file, parent, name]
21
+ measures:
22
+ - name: symbols
23
+ type: count
24
+ extract:
25
+ - type: preset
26
+ preset: funcs
27
+ output:
28
+ format: flat
29
+ top_n: 40
30
+ min_count: 1
31
+ max_lines: 120
@@ -0,0 +1,16 @@
1
+ name: tech_debt
2
+ description: "TODO, FIXME, HACK markers grouped by type and file"
3
+ scan:
4
+ include: ["*"]
5
+ exclude: [".git/*", "*.lock", "node_modules/*", "dist/*", "build/*"]
6
+ dimensions: [kind, file]
7
+ measures:
8
+ - name: count
9
+ type: count
10
+ extract:
11
+ - type: regex
12
+ pattern: '(?P<kind>TODO|FIXME|HACK|XXX|BUG)[\s:]*(?P<text>.{0,50})'
13
+ ignorecase: true
14
+ output:
15
+ format: tree
16
+ top_n: 10
@@ -0,0 +1,21 @@
1
+ name: xml_tags
2
+ description: "XML/HTML/SVG/POM/AndroidManifest inventory: tag × file (top tags per document). Works out-of-the-box on any XML dialect."
3
+ scan:
4
+ include: ["*.xml", "*.svg", "*.pom", "*.plist", "*.rss", "*.atom",
5
+ "*.wsdl", "*.xsd", "*.xhtml", "*.html", "*.htm",
6
+ "AndroidManifest.xml", "web.xml", "pom.xml"]
7
+ exclude: [".git/", "node_modules/", "target/"]
8
+ stream: true
9
+ dimensions: [tag, file]
10
+ measures:
11
+ - name: uses
12
+ type: count
13
+ extract:
14
+ - type: regex
15
+ multiline: false
16
+ pattern: '<(?P<tag>[A-Za-z_][A-Za-z0-9_.:\-]*)(?:\s|>|/)'
17
+ output:
18
+ format: flat
19
+ top_n: 40
20
+ min_count: 2
21
+ max_lines: 120
@@ -0,0 +1,19 @@
1
+ name: yaml_keys
2
+ description: "Top-level YAML/JSON keys inventory (k8s manifests, docker-compose, GitHub Actions, OpenAPI, Ansible, Terraform tfvars.yaml)."
3
+ scan:
4
+ include: ["*.yaml", "*.yml", "*.json"]
5
+ exclude: [".git/", "node_modules/", "*.lock"]
6
+ stream: true
7
+ dimensions: [key, file]
8
+ measures:
9
+ - name: hits
10
+ type: count
11
+ extract:
12
+ - type: regex
13
+ multiline: false
14
+ pattern: '^(?P<key>[A-Za-z_][\w.-]*):'
15
+ output:
16
+ format: flat
17
+ top_n: 30
18
+ min_count: 1
19
+ max_lines: 120