Framework e Blueprint
O Eidos gira sobre duas palavras. Entenda estas e o resto do padrão se encaixa sozinho.
| Framework (a estrutura) | Blueprint (o plano) | |
|---|---|---|
| O que é | A forma | Uma unidade, definida por completo |
| É | Coleções, shapes, flavors, papéis, convenção de nomes, Schema | Um arquivo markdown: frontmatter mais corpo |
| Vive em | _eidos/, oculto na raiz |
Uma pasta de coleção |
| Portátil? | Sim: esta é a peça que um time entrega a outro | Não: é o seu produto |
| Relação | Um Framework | Rege quantos Blueprints você quiser, em quantas raízes você quiser |
Uma pasta, que pode ter qualquer nome (Blueprints/ é apenas o padrão que o
install oferece), porque nada aponta para ela por caminho. Ela é encontrada
pelo _eidos/ oculto que há dentro.
DirectoryBlueprints/ a raiz
- README.md o “comece aqui” visível
Directory_eidos/ o Framework
- …
Directoryframes/ a coleção de enquadramento — declarada primeiro
- index.md folha gerada
- architecture.md um por tipo de frame, em nível único
Directoryspecs/ uma coleção de Blueprints
- index.md folha gerada
Directoryplayback/ um nível de subpastas, no máximo
- resume-playback.md um Blueprint por arquivo
- roadmap.md um documento de nível superior — opcional, seu
Várias raízes podem conviver em um mesmo repositório. Elas se aninham como
Blueprints/<nome>/…, cada uma com o seu próprio _eidos/.
O Framework
Seção intitulada “O Framework”O Framework fica oculto do mesmo jeito que .git e .obsidian ficam: presente,
gerenciável e fora do caminho depois de definido. Essa localização é
deliberada: a raiz é plausivelmente um vault do Obsidian, e _eidos/ fica ao
lado de .obsidian/ sem competir com o conteúdo pela atenção.
Directory_eidos/
Directoryshapes/ um arquivo por flavor
- spec.full.md o flavor padrão de uma coleção
- spec.micro.md um segundo flavor do mesmo tipo
- frame.architecture.md os flavors da coleção de enquadramento
Directoryroles/ contratos de resposta, versionados e ajustáveis pelo time
- framework-owner.md o que toda semente carrega
- developer.md o resto é do próprio Framework
- Framework.md índice + configuração: versão, nomes, coleções, Schema
- me.md o ator (pessoal, no gitignore)
- .gitignore ignora me.md — o único arquivo daqui que não é versionado
Uma pasta sem _eidos/ não é uma raiz.
Framework.md
Seção intitulada “Framework.md”O único arquivo que descreve a forma em vez de um Blueprint específico. Frontmatter para os fatos que o tooling analisa; um corpo que indexa a raiz.
---eidos_version: 4.4.2 # the standard version this framework targetsnaming: kebab-case # kebab-case | TitleCase | Title Case; absent = kebab-case---O corpo carrega quatro coisas:
## Top-Level: os documentos únicos da raiz, com README primeiro. Os
documentos de enquadramento não estão aqui; eles são uma coleção.
## Collections: um título ### para cada uma, declarando sua folha
gerada, seus flavors (com um marcado como padrão), como o canvas deve desenhá-la
e o seu agrupamento.
### specs
The product's units, one per blueprint, grouped by domain.
- **Leaf:** [specs/index.md](../specs/index.md)- **Flavors:** - [full](shapes/spec.full.md) — the complete spec shape (default). - [micro](shapes/spec.micro.md) — Intent, Open Questions, ACs, Out of Scope.- **Canvas:** card from `## Intent`- **Domains:** _(one bullet per domain as they accrue)_## Schema: o contrato de propriedades, dividido em ### Eidos Core (as do
padrão, reescritas pelo migrate; não as edite à mão) e
### Custom Properties (as suas). Mais →
Por que a separação importa
Seção intitulada “Por que a separação importa”Porque o Framework é a peça que viaja.
Os seus Blueprints são o seu produto, e não servem para mais ninguém. Um
Framework é forma sem conteúdo (coleções, shapes, um esquema, papéis) e é
exatamente o artefato que um time entrega a outro para que ambos escrevam do
mesmo jeito. Essa é toda a razão de as sementes existirem: são Frameworks que o
Eidos distribui, e o install copia um deles para uma raiz nova.
Isso também explica a convenção que mais surpreende:
A validação decorre disso. Uma verificação lê o Schema daquele Framework e o aplica: as propriedades centrais mais as personalizadas restritas à coleção do Blueprint. O contrato é o Schema, não uma regra assada dentro de uma ferramenta.