Skip to main content

๐Ÿ“‹ Project Management

Linear Trackerโ€‹

Planned, active, and deferred work across the Z-Shell organization is prioritized in the Z-Shell Workspace project in Linear:

Open Linear โ†’



GitHub issues and pull requests remain the repository-level record for discussion, implementation, and review. Linear provides the cross-repository planning view: priority, status, ownership, estimates, cycles, and dependencies.

Workflowโ€‹

Each tracked item moves through the z-shell team's Linear workflow:

StatusPurpose
BacklogAccepted work that is not yet scheduled
TodoReady to begin
In ProgressActively being implemented
In ReviewAwaiting review, verification, or publication
DoneCompleted and verified
CanceledDeliberately removed from the plan
DuplicateCovered by another tracked item

Triage Workflowโ€‹

When work is added to Linear, a maintainer:

  1. Links the owning GitHub issue or pull request when one exists.
  2. Sets its Priority, Status, and project.
  3. Adds labels and an estimate when they improve planning.
  4. Records dependencies so blocked work is visible.
  5. Assigns it to a cycle only when it is ready to schedule.

Capturing Deferred Workโ€‹

Do not leave postponed work only in local diffs, review notes, or memory. Create or update an issue in the repository that owns the work, then add or link the corresponding Linear item when the task needs cross-repository planning.

When splitting or deferring work:

  1. Create one issue per logical task so each item can be prioritized and completed independently.
  2. Include enough context for another maintainer to resume later: the observed problem, why it matters, relevant files, and any known constraints.
  3. Suggest the likely Priority, estimate, and initial Linear status during triage.
  4. Use the canonical labels instead of repo-local tracking conventions.

Priority Definitionsโ€‹

PriorityMeaning
๐Ÿ”ด CriticalData loss, security vulnerability, or complete breakage with no workaround
๐ŸŸ  HighSignificantly impacts users or blocks important work; schedule next
๐ŸŸก MediumImportant but not urgent; prioritize against other planned work
๐Ÿ”ต LowNice to have; no fixed timeline
NoneNot yet triaged or genuinely optional

GitHub and Linearโ€‹

Contributors should continue opening issues and pull requests in the owning GitHub repository. Maintainers use Linear to coordinate work that spans repositories, needs scheduling, or should remain visible after it is deferred. Links between the two systems preserve the implementation history without duplicating long-form technical context.


Labelsโ€‹

All repositories in the z-shell organization use the same canonical label set. Labels are applied manually during triage or by approved organization automation.

The source of truth lives in z-shell/.github/.github/lib/labels.yml. Rollout across repositories is handled through organization maintenance automation.

Work Type Labelsโ€‹

Use these to describe what kind of work an issue or PR represents.

LabelColorDescription
type: bug#b60205 #b60205Something is broken or behaving incorrectly
type: feature#0e8a16 #0e8a16A request for new behavior or capability
type: docs#0052cc #0052ccDocumentation-only work
type: question#d4c5f9 #d4c5f9Support, clarification, or usage question
type: maintenance#531999 #531999Non-feature maintenance, cleanup, or org work
type: membership#6f42c1 #6f42c1Membership and organization-role requests
type: handoff#5319e7 #5319e7Cross-agent or cross-maintainer handoff context

Area Labelsโ€‹

Use these to describe which part of the ecosystem the item touches.

LabelColorDescription
area: zi#1d76db #1d76dbZi core behavior, APIs, or documentation
area: plugin#3e16f3 #3e16f3Plugin behavior or plugin-facing work
area: annex#3e16f3 #3e16f3Annex behavior or annex-facing work
area: package#3e16f3 #3e16f3Package or package-management work
area: docs#0052cc #0052ccDocumentation systems, content, or publishing
area: ci#5319e7 #5319e7Continuous integration or GitHub Actions work
area: dependencies#fbca04 #fbca04Dependency updates or dependency-management work
area: release#d93f0b #d93f0bRelease process, versioning, or changelog work
area: meta#1d76db #1d76dbOrganization-wide policy, templates, or meta-repo work

Priority and Workflow Labelsโ€‹

Use these to describe urgency or state in the workflow.

LabelColorDescription
priority: high#ee0701 #ee0701Needs prompt attention
security#ee0701 #ee0701Security-sensitive issue or hardening work
breaking-change#d93f0b #d93f0bBreaks backward compatibility or changes a public contract
status: triage#fbca04 #fbca04Awaiting initial review or classification
status: blocked#e4e669 #e4e669Cannot proceed until an external dependency or decision changes
needs-info#f9d0c4 #f9d0c4Waiting on more detail before work can continue
good first issue#7057ff #7057ffWell-scoped starter task for a new contributor
help wanted#008672 #008672Maintainers would welcome outside help
invalid#0b467f #0b467fOff-topic, incorrect, or not actionable
duplicate#cfd3d7 #cfd3d7Covered by another issue or pull request
wontfix#ffffff #ffffffAcknowledged but not planned for implementation

Syncing Labelsโ€‹

To apply the canonical label set to a repository:

# Single repo
echo "my-repo" > /tmp/repos.txt
./scripts/sync-labels.sh z-shell /tmp/repos.txt

# All org repos
./scripts/sync-labels.sh z-shell scripts/repos.txt

The --force flag means existing labels with the same name are updated to match the canonical color and description. Labels not in the canonical set are not deleted automatically โ€” remove them manually if desired.