{"id":51902598,"url":"https://github.com/vncsmnl/bigon","last_synced_at":"2026-07-27T19:00:39.129Z","repository":{"id":372650174,"uuid":"1308356637","full_name":"vncsmnl/BigON","owner":"vncsmnl","description":"🧩 Análise em tempo real da complexidade assintótica de Tempo (Big O) e Espaço (Big O) para VS Code e editores compatíveis.","archived":false,"fork":false,"pushed_at":"2026-07-22T17:11:42.000Z","size":2356,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-25T17:13:48.754Z","etag":null,"topics":["antigravity","antigravity-ide","asymptotic-analysis","asymptotic-complexity","bigon","bigonotation","code","code-complexity","complexity","cursor","cursor-extension","portfolio","typescript","vscode","vscode-extension","vscodium","vscodium-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/publishers/vncsmnl","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vncsmnl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-22T03:57:49.000Z","updated_at":"2026-07-22T17:35:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vncsmnl/BigON","commit_stats":null,"previous_names":["vncsmnl/bigon"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/vncsmnl/BigON","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsmnl%2FBigON","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsmnl%2FBigON/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsmnl%2FBigON/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsmnl%2FBigON/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vncsmnl","download_url":"https://codeload.github.com/vncsmnl/BigON/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vncsmnl%2FBigON/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35922387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-26T02:00:06.503Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antigravity","antigravity-ide","asymptotic-analysis","asymptotic-complexity","bigon","bigonotation","code","code-complexity","complexity","cursor","cursor-extension","portfolio","typescript","vscode","vscode-extension","vscodium","vscodium-extension"],"created_at":"2026-07-26T18:00:24.041Z","updated_at":"2026-07-26T18:00:36.869Z","avatar_url":"https://github.com/vncsmnl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BigON - Analisador de Complexidade Assintótica para VS Code\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./assets/cover.jpg\" alt=\"BigON Capa\"\u003e\n\u003c/div\u003e\n\n## Proposta da Extensão\n\nO **BigON** é uma extensão para **VS Code**, **VSCodium**, **Cursor**, **Antigravity** e editores compatíveis, desenvolvida para analisar a **complexidade assintótica de Tempo \\(O(...)\\) e Espaço \\(O(...)\\)** de funções em tempo real.\n\nDiferente de profilings de execução, o BigON realiza **análise estática** através da **Árvore Sintática Abstrata (AST)** do código-fonte e heurísticas estruturais, calculando a ordem de grandeza do algoritmo **sem a necessidade de executar o programa**.\n\n### Destaques Principais:\n- **Análise Instantânea**: Feedback visual de complexidade enquanto você digita.\n- **Não Executa Código**: Análise 100% estática e segura via AST.\n- **Foco Educacional**: Explication detalhada embasada nos princípios de algoritmos (CLRS / Cormen et al.) com gráficos interativos de curvas Big-O.\n- **Suporte Multi-Linguagem**: JavaScript, TypeScript, React (JSX/TSX), Python, Ruby, C++ e C.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\u003cb\u003eCodeLens e Anotações In-line no Editor\u003c/b\u003e\u003c/p\u003e\n  \u003cimg src=\"./assets/code.png\" alt=\"BigON no Editor\" width=\"50%\"\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  \u003cp\u003e\u003cb\u003eCodeLens e Anotações In-line no Editor\u003c/b\u003e\u003c/p\u003e\n  \u003cimg src=\"./assets/code_1.png\" alt=\"BigON no Editor\" width=\"50%\"\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  \u003cp\u003e\u003cb\u003ePainel de Explicação Assintótica Interativo\u003c/b\u003e\u003c/p\u003e\n  \u003cimg src=\"./assets/webview.png\" alt=\"BigON Webview\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n\n## Como Baixar e Instalar\n\nVocê pode instalar o **BigON** diretamente pelo Marketplace do seu editor ou manualmente via pacote `.vsix`.\n\n### 1. Pelo Marketplace (Recomendado)\n\n#### No VS Code:\n1. Abra o VS Code.\n2. Acesse a aba de Extensões com `Ctrl+Shift+X` (no macOS: `Cmd+Shift+X`).\n3. Pesquise por **`BigON`** ou **`vncsmnl.BigON`**.\n4. Clique em **Instalar** (Install).\n5. Alternativamente, acesse a página no [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=vncsmnl.BigON) e clique no botão **Install**.\n\n#### No VSCodium, Cursor, Antigravity e outros editores baseados em VS Code / Open VSX:\n1. Abra a aba de Extensões (`Ctrl+Shift+X` / `Cmd+Shift+X`).\n2. Digite **`BigON`** na barra de busca.\n3. Clique em **Instalar**.\n\n---\n\n### 2. Instalação Manual via Arquivo `.vsix`\n\nCaso você esteja offline, utilizando uma rede corporativa restrita ou deseje testar uma versão pré-compilada específica:\n\n#### Passo A: Obter o Arquivo `.vsix`\n- **Via Releases do GitHub**: Baixe a versão mais recente `.vsix` diretamente na página de [Releases do Repositório](https://github.com/vncsmnl/BigON/releases).\n- **Gerando Localmente**: Se você possui o código-fonte clonado, execute:\n  ```bash\n  npx @vscode/vsce package\n  ```\n  Isso gerará o arquivo `BigON-X.X.X.vsix` no diretório raiz do projeto.\n\n#### Passo B: Instalar no Editor\n\n##### Opção 1: Pela Interface Gráfica (GUI)\n1. Abra o VS Code / VSCodium / Cursor / Antigravity.\n2. Abra a aba de Extensões (`Ctrl+Shift+X`).\n3. Clique no menu de três pontinhos **`...`** (no canto superior direito da aba de extensões).\n4. Selecione **`Instalar a partir de VSIX...`** (`Install from VSIX...`).\n5. Escolha o arquivo `BigON-X.X.X.vsix` baixado ou gerado.\n\n##### Opção 2: Pela Linha de Comando (Terminal / CLI)\nAbra seu terminal e execute o comando correspondente ao seu editor:\n\n```bash\n# Para VS Code:\ncode --install-extension BigON-X.X.X.vsix\n\n# Para VSCodium:\ncodium --install-extension BigON-X.X.X.vsix\n\n# Para Cursor:\ncursor --install-extension BigON-X.X.X.vsix\n```\n\n---\n\n## Como Usar\n\nAssim que instalada, a extensão é ativada automaticamente ao abrir qualquer arquivo em uma das linguagens suportadas (`.js`, `.ts`, `.jsx`, `.tsx`, `.py`, `.rb`, `.cpp`, `.c`).\n\n### Recursos no Editor\n\n1. **CodeLens (Cabeçalho de Função)**:\n   - Acima de cada função declarada, aparecerá um resumo de complexidade:\n     `BigON: Tempo O(n²) | Espaço O(1) [Ver Explicação]`\n   - Clique em **`[Ver Explicação]`** para abrir o painel interativo.\n\n2. **Anotações In-line (Linha a Linha)**:\n   - No final das linhas que contêm laços de repetição ou estruturas relevantes, a extensão indica o custo incremental (ex: `← Custo: O(n)` ou `← Custo: O(log n)`).\n\n3. **Balão Informativo (Hover)**:\n   - Ao passar o mouse sobre o nome de uma função, um pop-up exibirá a complexidade calculada e uma breve justificativa.\n\n4. **Painel Webview de Explicação**:\n   - Exibe a derivação matemática e lógica do cálculo da função, com explicações didáticas e gráficos comparativos das curvas de crescimento Big-O (\\(O(1)\\), \\(O(\\log n)\\), \\(O(n)\\), \\(O(n \\log n)\\), \\(O(n^2)\\), \\(O(2^n)\\), \\(O(n!)\\)).\n\n---\n\n## Comandos Disponíveis\n\nAbra a paleta de comandos (`Ctrl+Shift+P` ou `Cmd+Shift+P`) e digite:\n\n| Comando | ID do Comando | Descrição |\n| :--- | :--- | :--- |\n| **BigON: Analisar Complexidade do Arquivo** | `BigON.analyzeFile` | Força a re-análise completa do arquivo atualmente aberto. |\n| **BigON: Alternar Anotações In-line** | `BigON.toggleDecorations` | Liga ou desliga as anotações visuais no final das linhas de laço. |\n| **BigON: Abrir Painel de Explicação** | `BigON.openExplanation` | Abre o painel Webview com os detalhes da função sob o cursor. |\n\n---\n\n## Configurações\n\nNas configurações do editor (`Settings` -\u003e pesquise por `BigON`), você pode customizar:\n\n- `BigON.enableCodeLens`: Exibir ou ocultar o cabeçalho CodeLens acima das funções (`default: true`).\n- `BigON.enableInlineDecorations`: Exibir ou ocultar anotações no final das linhas (`default: true`).\n- `BigON.enableHover`: Exibir balão explicativo ao passar o mouse sobre funções (`default: true`).\n\n---\n\n## Padrões Reconhecidos\n\n| Padrão de Código | Complexidade de Tempo | Explicação |\n| :--- | :---: | :--- |\n| `for (let i = 0; i \u003c n; i++)` | **`O(n)`** | Incremento linear constante |\n| Dois laços `for` aninhados | **`O(n²)`** | Produto das iterações \\(O(n) \\times O(n)\\) |\n| Multiplicação no laço (`i *= 2`) | **`O(log n)`** | Crescimento logarítmico |\n| Divisão sucessiva (`n /= 2`) | **`O(log n)`** | Redução do espaço de busca |\n| Recursão simples `f(n/2)` | **`O(log n)`** | Divisão sucessiva (ex: Busca Binária) |\n| Recursão `2 * f(n/2) + O(n)` | **`O(n log n)`** | Divisão e Conquista (ex: Merge Sort) |\n| Recursão `f(n-1) + f(n-2)` | **`O(2ⁿ)`** | Ramificação binária exponencial |\n| Recursão com laço interno `for` | **`O(n!)`** | Permutações / Arranjos |\n\n---\n\n## Desenvolvimento e Contribuição\n\nSe você é desenvolvedor e deseja compilar o projeto localmente, debugar, adicionar suporte a novas linguagens ou criar novas regras de análise AST:\n\n**Consulte a documentação técnica detalhada na pasta [`/docs`](./docs/README.md):**\n- **[Guia de Contribuição (`/docs/CONTRIBUTING.md`)](./docs/CONTRIBUTING.md)**: Setup do ambiente, comandos de teste (`npm test`), compilação e tutorial para adicionar novas regras e parsers.\n- **[Arquitetura do Sistema (`/docs/ARCHITECTURE.md`)](./docs/ARCHITECTURE.md)**: Visão detalhada do motor de análise (`ComplexityEngine`), parsers sintáticos, pipeline Big-O e ciclo de vida das decorações e Webview.\n\n---\n\n## Limitações da Análise Estática\n\nA extensão **BigON** utiliza análise estática via **AST** (para JavaScript/TypeScript) e identificadores heurísticos sintáticos para Python, Ruby, C++ e C. \n\nAs estimativas representam diagnósticos estáticos baseados em padrões estruturais típicos de código e **não constituem provas matemáticas formais em runtime**. Códigos com compilação dinâmica, metaprogramação, dependência exclusiva de dados recebidos em tempo de execução ou recursões indiretas complexas podem apresentar estimativas aproximadas.\n\n---\n\n## Licença\n\nEste projeto está sob a licença **MIT**. Veja o arquivo [LICENSE](./LICENSE) para mais detalhes.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvncsmnl%2Fbigon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvncsmnl%2Fbigon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvncsmnl%2Fbigon/lists"}