Pular para o conteúdo

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.

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 (fpga ou embedded) com seus próprios requisitos, simulações, repositório e fase.

Para uma visão mais ampla, veja Conceitos principais.

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

Crie um projeto dentro de um workspace, escolhendo seu tipo:

Terminal window
suya project create --name <name> --workspace <workspace-id> --type fpga

Para um projeto embarcado, passe --type embedded. Você pode opcionalmente definir um slug de URL ou fixar um dispositivo no momento da criação:

Terminal window
suya project create \
--name blinky \
--workspace <workspace-id> \
--type embedded \
--slug blinky \
--device <device-id>

suya project init é um alias de suya project create.

Liste os projetos em um workspace:

Terminal window
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):

Terminal window
suya project show

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:

Terminal window
# Both work the same once .subaya/config.toml points at a project:
suya project show
suya 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:

Terminal window
suya project phase

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:

Terminal window
suya device search --type embedded
suya 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.