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
package/README.pt.md ADDED
@@ -0,0 +1,113 @@
1
+ # cubest
2
+
3
+ [English](README.md) · [简体中文](README.zh-CN.md) · [Español](README.es.md) · [हिन्दी](README.hi.md) · [العربية](README.ar.md) · [বাংলা](README.bn.md) · **Português** · [Русский](README.ru.md) · [日本語](README.ja.md) · [ਪੰਜਾਬੀ](README.pa.md)
4
+
5
+ > **7–22× menos tokens por varredura de repositório para agentes de IA.**
6
+ > Agregador OLAP de passagem única que dobra qualquer fluxo de texto —
7
+ > código, logs, CSV, JSONL, XML, HTML, artefatos SDD — em um cubo
8
+ > multidimensional compacto. Projetado para **Claude Code, Cursor,
9
+ > Codex, Aider, Windsurf, Cline, Continue.dev** e qualquer agente de IA
10
+ > que cobre por token de entrada.
11
+
12
+ <p align="left">
13
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg" alt="License"></a>
14
+ <img src="https://img.shields.io/badge/python-3.8%2B-blue.svg">
15
+ <img src="https://img.shields.io/badge/deps-stdlib%20only-green.svg">
16
+ <img src="https://img.shields.io/badge/tests-57%20passing-brightgreen.svg">
17
+ </p>
18
+
19
+ ## 🧠 Por que um agente de IA deveria se importar
20
+
21
+ Medido em 7 cenários reais (veja [`examples/`](examples/)):
22
+
23
+ | # | Cenário | Naive tokens | Cubest tokens | Razão |
24
+ |---|-----------------------------------------------|:------------:|:-------------:|:---------:|
25
+ | 1 | Investigação de 5xx no log nginx (5000 linhas)| 3.590 | 158 | **22,7×** |
26
+ | 2 | Onboarding em um repositório (40 arquivos) | 1.256 | 175 | 7,2× |
27
+ | 3 | Mapa de impacto de MR a partir de `git diff` | 280 | 16 | **17,5×** |
28
+ | 4 | Rollup pequeno de CSV (300 linhas) | 280 | 368 | 0,8× ❌ |
29
+ | 5 | Auditoria SEO de 10 páginas HTML | 382 | 49 | 7,8× |
30
+ | 6 | Auditoria de uso de disco (300 arquivos) | 338 | 68 | 5,0× |
31
+ | 7 | Rollup de categorias RSS (3×30 itens) | 1.692 | 265 | 6,4× |
32
+ | | **Mediana** | | | **7,2×** |
33
+
34
+ Cubest vence em **fluxos grandes e dados hierárquicos**. Para dados
35
+ tabulares muito pequenos (CSV de 300 linhas), um pipeline `awk` simples
36
+ já é compacto e cubest pode até perder. Nos cenários principais — logs,
37
+ árvores de código, crawls de sitemap — os tokens que caem no contexto
38
+ do agente diminuem entre 5–25×.
39
+
40
+ ## 🚀 Instalação
41
+
42
+ ```bash
43
+ # Download simples (sem deps para perfis JSON)
44
+ curl -O https://raw.githubusercontent.com/BaryshevS/cubest/main/cubest.py
45
+ python3 cubest.py --profile file_tree .
46
+
47
+ # Via pip (em breve no PyPI)
48
+ pip install cubest
49
+ cubest --profile file_tree .
50
+
51
+ # Via wrapper npm
52
+ npx cubest --profile file_tree .
53
+ ```
54
+
55
+ ## ⚡ Início rápido
56
+
57
+ ```bash
58
+ # Mapa de um repositório desconhecido (30 linhas em vez de 3000)
59
+ cubest --profile file_tree .
60
+
61
+ # Log nginx.gz — top URLs × status × latência p95
62
+ cubest --profile nginx_access /var/log/nginx/access.log.gz
63
+
64
+ # Contagem de LOC por linguagem
65
+ cubest --profile loc_counter .
66
+
67
+ # CSV → OLAP → dashboard ECharts interativo (um único HTML)
68
+ cubest -p '{
69
+ "dimensions": ["campaign", "device"],
70
+ "measures": [{"name":"impressions","type":"sum","field":"impressions"}],
71
+ "extract": [{"type":"preset","preset":"csv"}],
72
+ "output": {"format":"echarts","chart_type":"sankey"}
73
+ }' relatorio.csv > dashboard.html
74
+ ```
75
+
76
+ ## 📊 Formatos de saída
77
+
78
+ 13 formatos: `tree`, `flat`, `compact`, `csv`, `md_table`, `yaml`, `json`,
79
+ `xml`, `dot`, `mermaid`, `plantuml`, `drawio`, `echarts`.
80
+
81
+ 31 perfis integrados — código, logs, CSV, SEO, K8s, OpenAPI, SDD.
82
+ Lista completa no [README em inglês](README.md#-what-you-get).
83
+
84
+ ## 📜 Licença
85
+
86
+ Apache License 2.0 — veja [LICENSE](LICENSE) e [NOTICE](NOTICE).
87
+
88
+ **Requisito de atribuição (Apache 2.0 §4d):** ao redistribuir cubest, é
89
+ obrigatório incluir o arquivo NOTICE preservando a URL de origem:
90
+
91
+ > https://github.com/BaryshevS/cubest
92
+
93
+ ## 💖 Apoio
94
+
95
+ Se cubest economiza tokens nos seus fluxos diários com agentes ou
96
+ encurta um incidente, considere patrocinar — o financiamento vai
97
+ direto para itens do roadmap (t-digest, CSV em streaming, snippets
98
+ para agentes) e para a infraestrutura:
99
+
100
+ - **GitHub Sponsors** → https://github.com/sponsors/BaryshevS
101
+ - **Open Collective** → https://opencollective.com/baryshevsv
102
+
103
+ Até 3 USD/mês mantêm o projeto vivo. Os patrocinadores têm prioridade
104
+ na triagem de issues e são creditados nas notas de cada versão.
105
+
106
+ ## ⭐ Marque com estrela
107
+
108
+ Se cubest economiza parte do seu orçamento de IA ou encurta um incidente
109
+ SRE em uma hora — uma estrela ajuda os outros a encontrá-lo. É só isso.
110
+
111
+ <a href="https://github.com/BaryshevS/cubest/stargazers">
112
+ <img src="https://img.shields.io/github/stars/BaryshevS/cubest?style=social" alt="Star">
113
+ </a>