voidzero-dev / voidzero-dev/vite-task
Proposal: task metadata (description) + aliases/groups for discoverability at scale
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 466
- Forks
- 42
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 19
Description
Problem
As task count grows, discoverability becomes a major UX issue.
just provides aliases and groups; it also has strong listing/help UX. Vite Tasks appears command-centric and does not expose first-class description/alias/group metadata in the task schema (based on the public schema file).
Evidence (primary)
- Task schema appears centered around
commandwithout rich metadata fields.
Ref:
Proposed behavior (Unspecified)
- Add optional fields:
description?: stringaliases?: string[]group?: string
- Display description/group in task listing and error messages.
- Allow running a task via any alias, with clear conflict handling (unspecified).
Use cases
- Provide “human intent” descriptions for tasks (
deploy,release,verify, etc.) - Create short entry points via aliases
- Organize tasks into groups (lint/test/build/release) for large monorepos
Backward compatibility
- Purely additive; tasks without metadata behave exactly the same.
Minimal implementation suggestion (MVP)
- Implement
descriptionfirst and show it in listings/output. - Add
aliasesresolution later, thengroupsorting/printing.
Prior art
- just aliases: https://just.systems/man/en/aliases.html
- just groups: https://just.systems/man/en/groups.html
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the task schema in crates/vite_task_graph/run-config.ts and compare the existing command-only structure with the proposed metadata. Clarify the behavior for listing, output, alias resolution, conflicts, and group ordering before choosing an implementation scope. Done means the agreed metadata is supported without changing behavior for tasks that omit it, with coverage for the selected MVP.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, typescript
- Domain
- cli, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100