Exemplos de .seshat/config.yaml
Este documento traz exemplos praticos para cenarios comuns no repo Rust.
Rust simples
project_type: rust
commit:
language: PT-BR
provider: codex
model: gpt-5.4
profile: amjr
no_ai_extensions: [".md", ".mdx"]
no_ai_paths: ["docs/"]
checks:
lint:
enabled: true
blocking: true
auto_fix: true
test:
enabled: true
blocking: false
typecheck:
enabled: true
blocking: true
code_review:
enabled: true
blocking: true
mode: interactive
prompt: .seshat/review.md
extensions: [".rs"]
ui:
force_rich: true
Esse perfil usa a resolucao normal do Cloak quando amjr existir no ambiente local.
Rust com lint automatico desligado
Use este formato quando quiser que rustfmt apenas valide:
project_type: rust
checks:
lint:
enabled: true
blocking: true
auto_fix: false
Workspace Rust com overrides de ferramentas
project_type: rust
commit:
language: PT-BR
provider: codex
checks:
lint:
enabled: true
blocking: true
test:
enabled: true
blocking: false
typecheck:
enabled: true
blocking: true
commands:
clippy:
command:
- cargo
- clippy
- --all-targets
- --all-features
- --
- -D
- warnings
cargo-test:
command: ["cargo", "test"]
Observacao:
- no Rust atual,
typecheckusa o pacote Cargo afetado pelo arquivo testso dispara para arquivos emtests/*.rs- com um unico teste novo staged, o comando fica focado no teste criado, por exemplo
cargo test --test=e2e_cli created_e2e_test
Python
project_type: python
commit:
language: PT-BR
provider: openai
model: gpt-4-turbo-preview
no_ai_extensions: [".md", ".mdx"]
checks:
lint:
enabled: true
blocking: true
auto_fix: true
command: "ruff check"
fix_command: "ruff check --fix"
extensions: [".py"]
pass_files: true
test:
enabled: true
blocking: false
command: "pytest"
typecheck:
enabled: true
blocking: true
command: "mypy"
code_review:
enabled: true
blocking: true
extensions: [".py", ".pyi"]
Com o default pytest, se o item atual for tests/test_app.py e o diff staged tiver apenas def test_created():, o Seshat roda pytest tests/test_app.py::test_created.
TypeScript
project_type: typescript
commit:
language: PT-BR
provider: openai
model: gpt-4-turbo-preview
no_ai_extensions: [".md", ".mdx", ".yml", ".yaml"]
no_ai_paths: ["docs/", ".github/"]
checks:
lint:
enabled: true
blocking: true
command: "pnpm eslint"
fix_command: "pnpm eslint --fix"
extensions: [".ts", ".tsx"]
pass_files: true
test:
enabled: true
blocking: false
command: "pnpm test"
typecheck:
enabled: true
blocking: true
command: "pnpm typecheck"
code_review:
enabled: true
blocking: true
extensions: [".ts", ".tsx", ".js", ".jsx"]
Com jest ou vitest, se o item atual for src/app.test.ts e o diff staged tiver apenas test("created behavior", ...), o Seshat passa src/app.test.ts -t "created behavior" para o comando de teste.
Somente commits automaticos para docs/config
project_type: rust
commit:
no_ai_extensions: [".md", ".mdx", ".yml", ".yaml", ".toml"]
no_ai_paths: ["docs/", ".github/", "CHANGELOG.md", ".env", ".nvmrc"]
Esse padrao e util quando o time quer:
- mensagens automaticas para docs
- IA apenas para codigo
flowsem parar em arquivos de documentacao
Code review menos interativo
Use este formato quando quiser logs de review por arquivo em vez de um fluxo intenso no terminal:
code_review:
enabled: true
blocking: true
mode: files
prompt: .seshat/review.md
extensions: [".rs", ".ts", ".tsx"]
Os findings vao para:
.seshat/code_review/<branch>/<arquivo>.md
Cada item sai no formato:
1. [BUG]:
src/app.rs:10: descricao do finding
Ação: <F | P>
Projeto usando profiles do Cloak
project_type: rust
commit:
provider: codex
profile: amjr
language: PT-BR
Fluxo operacional recomendado:
seshat profile listseshat profile currentseshat profile doctorseshat commit --yes
UI com icones customizados
ui:
force_rich: true
icons:
info: "[info]"
success: "[done]"
warning: "[warn]"
error: "[fail]"
step: "->"