-
Notifications
You must be signed in to change notification settings - Fork 5
[initiative]: Deliver clean portable Zsh plugin architecture #556
Copy link
Copy link
Open
9 / 109 of 10 issues completedOpen
9 / 109 of 10 issues completed
Copy link
Labels
area:metaOrganization-wide policy, templates, or meta-repo work.Organization-wide policy, templates, or meta-repo work.meta:initiativeMarks a parent issue coordinating two or more independently deliverable sub-issues.Marks a parent issue coordinating two or more independently deliverable sub-issues.meta:org-trackedIndicates this issue has cross-repository tracking implications (synced to Linear).Indicates this issue has cross-repository tracking implications (synced to Linear).type:maintenanceNon-feature maintenance, cleanup, or org work.Non-feature maintenance, cleanup, or org work.
Description
Activity
Metadata
Metadata
Assignees
Labels
area:metaOrganization-wide policy, templates, or meta-repo work.Organization-wide policy, templates, or meta-repo work.meta:initiativeMarks a parent issue coordinating two or more independently deliverable sub-issues.Marks a parent issue coordinating two or more independently deliverable sub-issues.meta:org-trackedIndicates this issue has cross-repository tracking implications (synced to Linear).Indicates this issue has cross-repository tracking implications (synced to Linear).type:maintenanceNon-feature maintenance, cleanup, or org work.Non-feature maintenance, cleanup, or org work.
Type
Projects
- StatusShow more project fieldsIn Progress
Outcome
Publish and enforce a clean, portable Zsh Plugin Standard that gives plugin
authors one maintainable set of rules for repository layout, configuration,
namespaces, public shell surface, loading, and exact lifecycle ownership.
When complete, maintained z-shell plugins use the same portable contract. The
contract contains no legacy compatibility mode for shared
Pluginsstate,scattered public configuration parameters, generic persistent functions, or
unowned load-time effects.
Context
The current public standard is strong on plugin-manager interoperability and
Zsh semantics, but it does not completely define the architectural decisions
that make a multi-plugin ecosystem predictable to users and contributors.
Current organization templates, static analysis, runtime tests, and active
plugin implementations therefore permit different configuration and state
shapes despite sharing a namespace rule.
This initiative coordinates the public standard, static and runtime
enforcement, organization scaffolding, and the first conforming plugin
implementation without creating a private z-shell-only technical standard.
Expected deliverables
z-shell/wiki: publish the revised portable standard through the active H2review issue.
z-shell/zsh-lint: enforce high-confidence static project-contract rules.z-shell/zunit: provide reusable runtime lifecycle assertions.z-shell/.github: adopt the contract in policy, templates, review guidance,routing, and CI requirements.
z-shell/zsh-fancy-completions: make PR build(deps): bump github/codeql-action from 2.1.32 to 2.1.33 #62 the clean-break pilot withnamespaced
zstyleconfiguration and exact ownership restoration.pull requests after the pilot proves the contract.
Dependencies and risks
The public standard decision blocks enforcement design. Released static and
runtime tooling blocks organization-required pins and the pilot migration.
Organization adoption blocks the wider repository rollout.
Risks include false-positive static rules, lifecycle observers that mutate the
shell while taking snapshots, and over-standardizing implementation details
that do not affect interoperability. Each rule therefore needs official Zsh
evidence, deterministic fixtures, and an explicit portable rationale.
Completion criteria