https://github.com/tooark/vscode-ark-format
Ferramenta monorepo para formatação de código (Ark) e extensões VS Code. Contém formatadores e extensões organizadas como um monorepo. O objetivo principal é fornecer formatação consistente para PowerShell e Shell.
https://github.com/tooark/vscode-ark-format
bash formatter powershell ps1 shell tooark tools vscode-extension
Last synced: 27 days ago
JSON representation
Ferramenta monorepo para formatação de código (Ark) e extensões VS Code. Contém formatadores e extensões organizadas como um monorepo. O objetivo principal é fornecer formatação consistente para PowerShell e Shell.
- Host: GitHub
- URL: https://github.com/tooark/vscode-ark-format
- Owner: Tooark
- License: mit
- Created: 2026-05-11T15:24:52.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-28T02:24:09.000Z (about 1 month ago)
- Last Synced: 2026-05-28T04:23:21.764Z (30 days ago)
- Topics: bash, formatter, powershell, ps1, shell, tooark, tools, vscode-extension
- Language: TypeScript
- Homepage: https://tooark.com/
- Size: 15.4 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ARK Format
Monorepo oficial das extensões **Ark Format** para Visual Studio Code.
O projeto reúne formatadores para **Shell** e **PowerShell**, além de um pacote agregador e bibliotecas compartilhadas.

---
## ✨ Visão Geral
- 🎯 **Formatação consistente** para Shell e PowerShell
- 📦 **Pacotes separados por responsabilidade** (formatadores, pack e código compartilhado)
- 🧩 **Monorepo com pnpm workspace** para build, teste e lint unificados
- ⚡ **Fluxo de desenvolvimento rápido** com tasks e debug no VS Code
---
## 📦 Pacotes
| Pacote | Descrição |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [packages/shell](packages/shell/README.md) | Extensão de formatação para Shell (`.sh`, `.bash`, `.zsh`, `.ksh`, `.tcsh`, `.azcli`, `.bats`) |
| [packages/powershell](packages/powershell/README.md) | Extensão de formatação para PowerShell (`.ps1`, `.psm1`, `.psd1`) |
| [packages/pack](packages/pack/README.md) | Extension Pack que instala Shell + PowerShell em conjunto |
| [packages/shared](packages/shared) | Código compartilhado entre os pacotes (lexer, indentação, utilitários e processamento de documento) |
---
## 🚀 Primeiros Passos
Instale as dependências na raiz do repositório:
```bash
pnpm install
```
Build do monorepo:
```bash
pnpm run build
```
Watch mode para desenvolvimento:
```bash
pnpm run watch
```
Lint em todos os pacotes que possuem script:
```bash
pnpm run lint
```
---
## 🧪 Testes
Executar testes de todo o monorepo:
```bash
pnpm run test
```
Executar testes de um pacote específico (exemplo: PowerShell):
```bash
cd packages/powershell
pnpm test
```
Gerar cobertura de um pacote específico (exemplo: PowerShell):
```bash
cd packages/powershell
pnpm exec vitest run --coverage
```
---
## 🧩 Desenvolvimento no VS Code
O diretório `.vscode/` contém configurações de tasks e debug para facilitar o desenvolvimento local.
Fluxo recomendado:
1. Abra o workspace no VS Code
2. Execute a task `pnpm: watch shell` ou `pnpm: watch powershell`
3. Pressione `F5` para abrir o Extension Host e validar a extensão localmente
---
## 🤝 Contribuição
- Leia o README de cada pacote antes de abrir PR
- Siga as regras de lint compartilhadas em `configs/eslint.base.mjs`
- Rode build e testes localmente antes de enviar alterações
## 📝 Licença
Este projeto está licenciado sob a [MIT License](LICENSE).