|
1 | 1 | # Copilot Instructions — shieldcode |
2 | 2 |
|
3 | 3 | ## Project Overview |
4 | | -Aplicação macOS em Swift (baseada em VibeTunnel xcworkspace). |
| 4 | + |
| 5 | +ShieldCode é uma **skill de segurança para Claude Code**, não um projeto de aplicação. |
| 6 | +O repositório contém documentação, exemplos e regras de hardening para orientar código gerado por IA (principalmente JavaScript/TypeScript e Python). |
5 | 7 |
|
6 | 8 | ## Stack |
7 | | -- **Swift 5.9+** |
8 | | -- **SwiftUI** ou **AppKit** (verificar) |
9 | | -- **Xcode** workspace |
10 | | -- macOS target |
| 9 | + |
| 10 | +- **Markdown + SKILL.md** (`skills/shieldcode/SKILL.md`) como fonte de instruções de implementação segura |
| 11 | +- **JavaScript/TypeScript** e **Python** (exemplos de referência no README, exemplos e skill) |
| 12 | +- **Bash** (`install.sh`, `uninstall.sh`) para instalação/desinstalação |
| 13 | +- **GitHub Actions** para validações |
11 | 14 |
|
12 | 15 | ## Conventions |
13 | | -- Swift Concurrency: `async/await`, `actor` para estado compartilhado |
14 | | -- Memória: sem retain cycles; `[weak self]` em closures que capturam self |
15 | | -- Sem force unwrap (`!`) exceto em IBOutlets ou casos com invariante claro |
16 | | -- `os.Logger` em vez de `print` em release |
17 | | -- Erros via `throws` + `Result` quando assíncrono |
18 | | -- Entitlements mínimos necessários; sandbox respeitado |
| 16 | + |
| 17 | +- Seguir **todas** as regras não negociáveis do `skills/shieldcode/SKILL.md`. |
| 18 | +- Segurança por padrão: validação de input, prevenção de injeções, tratamento seguro de erros, autenticação/autorização, headers de segurança e logging sem PII/segredos. |
| 19 | +- Preferir patterns de produção: validação allowlist, queries parametrizadas, erros tipados/mapeados, backoff/jitter para retries e circuit breaker quando aplicável. |
19 | 20 |
|
20 | 21 | ## Folder Structure |
21 | | -- `<Module>.xcworkspace` / `<Module>.xcodeproj` — workspace |
22 | | -- `Sources/` ou `<Module>/` — código Swift |
23 | | -- `*.entitlements` — entitlements |
| 22 | + |
| 23 | +- `skills/shieldcode/SKILL.md` — regras principais (obra viva da skill) |
| 24 | +- `examples/` — cenários de vulnerabilidade e versões hardened/vulnerable |
| 25 | +- `.github/workflows/` — CI e automações de validação |
| 26 | +- `install.sh`, `uninstall.sh` — scripts de distribuição/remoção |
| 27 | +- `README.md` — visão de produto, cobertura e uso |
24 | 28 |
|
25 | 29 | ## Development |
26 | | -- Abrir workspace no Xcode |
27 | | -- ⌘B build, ⌘R run, ⌘U test |
28 | | -- CLI: `xcodebuild` se houver script |
| 30 | + |
| 31 | +- Não execute build de app; este repositório é documentação e instruções de skill. |
| 32 | +- Para mudanças locais: validar os arquivos alterados em Markdown e scripts de instalação. |
| 33 | +- CLI de referência: |
| 34 | + - `bash -n install.sh` |
| 35 | + - `bash -n uninstall.sh` |
| 36 | + - `sed -n '1,260p' README.md` / `SKILL.md` para manter consistência de orientação |
| 37 | + |
| 38 | +## CI / Plugin |
| 39 | + |
| 40 | +- O CI inclui validação de `install.sh`, `uninstall.sh` e verificação de frontmatter no `SKILL.md`. |
| 41 | +- `plugin.json` não está presente no repositório hoje; o workflow atual trata essa ausência como opcional. |
29 | 42 |
|
30 | 43 | ## Critical Files |
31 | | -- `<Module>.xcworkspace` — workspace principal |
32 | | -- `*.entitlements` — capabilities |
33 | | -- `Info.plist` — bundle config |
| 44 | + |
| 45 | +- `skills/shieldcode/SKILL.md` — regras obrigatórias |
| 46 | +- `README.md` — fonte de verdade para o escopo público da skill |
| 47 | +- `.github/copilot-instructions.md` — alinhamento de orientação para Copilot |
0 commit comments