Workspaces e projetos
Tudo o que você faz na Subaya vive dentro de um projeto. Este guia mostra como
os projetos são organizados, como criá-los e inspecioná-los pela CLI e como o
config local .subaya/config.toml vincula um diretório de trabalho a um projeto.
Tenancy: org → workspace → projeto
Seção intitulada “Tenancy: org → workspace → projeto”A Subaya aninha três níveis de propriedade:
- Organização — o tenant de nível superior da sua conta. Faturamento, membros e licenças vivem aqui.
- Workspace — um agrupamento de projetos dentro de uma org (uma equipe ou uma linha de produto). Todo projeto pertence a exatamente um workspace.
- Projeto — a unidade de trabalho: um design tipado (
fpgaouembedded) com seus próprios requisitos, simulações, repositório e fase.
Para uma visão mais ampla, veja Conceitos principais.
Tipos de projeto
Seção intitulada “Tipos de projeto”Um projeto é criado como um de dois tipos, o que define os toolchains disponíveis para ele:
| Tipo | Para | Toolchains |
|---|---|---|
fpga |
Designs RTL / FPGA | RyuSim, Verilator, Icarus, Questa, Vivado xsim, Quartus |
embedded |
Firmware de MCU (ex.: STM32) | Planejamento de pinos com CubeMX, Renode |
Criando um projeto
Seção intitulada “Criando um projeto”Crie um projeto dentro de um workspace, escolhendo seu tipo:
suya project create --name <name> --workspace <workspace-id> --type fpgaPara um projeto embarcado, passe --type embedded. Você pode opcionalmente definir um slug de URL
ou fixar um dispositivo no momento da criação:
suya project create \ --name blinky \ --workspace <workspace-id> \ --type embedded \ --slug blinky \ --device <device-id>suya project init é um alias de suya project create.
Listando e inspecionando projetos
Seção intitulada “Listando e inspecionando projetos”Liste os projetos em um workspace:
suya project list --workspace <workspace-id>Mostre os detalhes de um único projeto. Sem um projeto informado, isso assume por padrão o
projeto registrado no .subaya/config.toml local (veja abaixo):
suya project showO config local: .subaya/config.toml
Seção intitulada “O config local: .subaya/config.toml”Quando você trabalha em um projeto a partir de um diretório, a Subaya registra o id do projeto em
.subaya/config.toml. A maioria dos comandos que aceitam uma flag --project assume por padrão esse
valor, então você pode executá-los sem repetir o id:
# Both work the same once .subaya/config.toml points at a project:suya project showsuya project show --project <project-id>É isso que permite que suya sim run, suya arch ..., suya rag search --scope project:<id>
e comandos semelhantes “simplesmente saibam” a que projeto pertencem.
Todo projeto avança por fases que moldam a UI e as ferramentas disponíveis:
Conceito → Plano → Implementação → Simulação → Verificação
Obtenha ou defina a fase atual:
suya project phaseDispositivos
Seção intitulada “Dispositivos”Os projetos podem ser associados a um dispositivo de hardware do catálogo. Pesquise no catálogo, inspecione uma peça e atribua uma ao seu projeto:
suya device search --type embeddedsuya device show <device-id>suya device set <device-id>Você também pode fixar um dispositivo no momento da criação com --device <device-id> em
suya project create.
Próximos passos
Seção intitulada “Próximos passos”- Executando simulações — execute uma simulação de ponta a ponta.
- Toolchains na nuvem e CubeMX — toolchains na nuvem e planejamento de pinos embarcado.
- CLI: project — a referência completa de
suya project. - CLI: device — a referência completa de
suya device.