Design workspace and multi-package support

Cerrado
#30 0 comentarios 0 reacciones 0 asignados Ver en GitHub

@LunaStev ya está trabajando en esto.

Desde el 24/10/2026.

  • #176 de @LunaStev — abierto

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
rust
Área
build-system

Línea de trabajo

Start by reading the existing manifest, lockfile, package discovery, and CLI command-selection entry points; the issue does not name specific files. Draft an agreed workspace manifest and lockfile model, covering member ordering, selection, command behavior, metadata, and compatibility. Done means the design answers the listed questions and includes a staged implementation plan with integration-test fixtures.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

dependencies discussion feature request tooling

Motivation

Vex currently models one package per project root. Larger Wave codebases need multiple related packages with shared commands, one reproducible dependency graph, and efficient builds.

Workspace support affects manifest discovery, lockfile ownership, path dependencies, target directories, metadata, and command selection, so it needs an explicit design before implementation.

Design questions

  • How does vex.ws declare workspace members and exclusions?
  • Does the workspace own one vex.lock?
  • How are default members and package selection expressed?
  • How do build, check, run, tree, update, and future metadata behave?
  • How are duplicate package names and dependency cycles diagnosed?
  • How are nested workspaces handled?

Acceptance criteria

  • Publish an agreed manifest and lockfile model.
  • Preserve single-package behavior and portability.
  • Define deterministic member discovery and ordering.
  • Define CLI package selection without forwarding raw wavec options.
  • Include metadata schema implications.
  • Add a staged implementation plan with integration-test fixtures.
Lenguaje dominante
Rust
Estrellas
1
Forks
3
Merge medio
23 h 3 min
PR fusionados (30 d)
7

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de wavefnd/Vex

Todos los issues de wavefnd/Vex

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.