voidzero-dev / voidzero-dev/vite-task

Proposal: task metadata (description) + aliases/groups for discoverability at scale

Open
#277 2 comments 1 reaction 0 assignees View on GitHub

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 command without rich metadata fields.

Ref:

Proposed behavior (Unspecified)

  • Add optional fields:
    • description?: string
    • aliases?: 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 description first and show it in listings/output.
  • Add aliases resolution later, then group sorting/printing.

Prior art

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.