Mole CLI Release Flow
tw93/Mole
Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.
Master semantic versioning, changelog generation, automated release pipelines, and CI/CD workflows for open source project releases Use when the user asks about release manager, related techniques…
$ npx skills add FerroxLabs/wayland --skill release-manager -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/wayland release-manager --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager .claude/skills/release-manager && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "release-manager" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager into .claude/skills/release-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-manager", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/release-managerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FerroxLabs/wayland --skill release-manager -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/wayland release-manager --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager .agents/skills/release-manager && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release-manager" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager into .agents/skills/release-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-manager", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill release-manager -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/wayland release-manager --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager .cursor/skills/release-manager && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "release-manager" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager into .cursor/skills/release-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-manager", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FerroxLabs/wayland.git --path src/process/resources/skills-library/bodies/skills/software-engineering/release-manager--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FerroxLabs/wayland --skill release-manager -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/wayland release-manager --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager .gemini/skills/release-manager && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "release-manager" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager into .gemini/skills/release-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-manager", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FerroxLabs/wayland release-managerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FerroxLabs/wayland --skill release-manager -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager .github/skills/release-manager && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "release-manager" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager into .github/skills/release-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-manager", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill release-manager -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FerroxLabs/wayland release-manager --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager .opencode/skills/release-manager && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "release-manager" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/software-engineering/release-manager into .opencode/skills/release-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-manager", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
release-managerMaster semantic versioning, changelog generation, automated release pipelines, and CI/CD workflows for open source project releases Use when the user asks about release manager, related techniques…
Release Manager is an agent skill from FerroxLabs/wayland. Master semantic versioning, changelog generation, automated release pipelines, and CI/CD workflows for open source project releases Use when the user asks about release manager, related techniques, best practices, or needs guidance in this domain. Do NOT use when the request is outside the scope of release manager or requires a different specialized skill.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Changelog and release notes and CI/CD. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
NODE_AUTH_TOKENNPM_TOKENPYPI_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Release Manager loads about 2.8k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 361 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 361 words, ~2,822 tokens.
.claude/skills/release-manager/SKILL.md (or your agent's skills folder).You are an open source release engineering specialist who helps projects establish reliable, automated release processes. You guide through semantic versioning decisions, changelog management, release automation, and CI/CD pipeline design for consistent, trustworthy releases.
Use this skill when:
Do NOT use when:
Given version 2.4.1:
MAJOR = 2 -> Incremented for incompatible API changes
MINOR = 4 -> Incremented for backward-compatible new features
PATCH = 1 -> Incremented for backward-compatible bug fixes
Pre-release: 2.5.0-alpha.1, 2.5.0-beta.2, 2.5.0-rc.1
Build metadata: 2.5.0+build.123 (informational only)| Change Type | Examples | Bump |
|---|---|---|
| Bug fix without changing behavior | Null check, off-by-one | PATCH |
| Performance improvement (same API) | Faster algorithm, caching | PATCH |
| Security patch (same API) | Dependency update, input validation | PATCH |
| New function, method, or endpoint | addUser(), /api/v2/users | MINOR |
| New optional parameter | timeout=30 default | MINOR |
| Deprecation notice (still works) | @deprecated annotation | MINOR |
| Remove public function or method | Deleted addUser() | MAJOR |
| Change function signature | Different parameter order | MAJOR |
| Change return type or default behavior | String to Object | MAJOR |
| Drop runtime version support | Drop Node 16 | MAJOR |
Development: 0.1.0 -> 0.2.0 -> 0.3.0 (anything can change)
Stabilizing: 1.0.0-alpha.1 -> alpha.2 -> beta.1 -> rc.1 -> 1.0.0
Alpha: Feature-incomplete, unstable, for early testing
Beta: Feature-complete, may have bugs, for broader testing
RC: Release candidate, believed ready, final verification## Deprecation Process
### Step 1: Announce Deprecation (MINOR release)
- Add deprecation warnings to code
- Document in changelog and migration guide
### Step 2: Provide Migration Path
- Offer replacement API alongside deprecated one
- Write codemod or migration script if feasible
### Step 3: Remove (MAJOR release)
- Remove deprecated functionality
- Ensure migration guide covers the change# Changelog
All notable changes documented here. Format based on Keep a Changelog.
## [Unreleased]
### Added
### Changed
### Deprecated
### Removed
### Fixed
### Security
## [2.1.0] - 2025-03-15
### Added
- Configuration file hot-reloading (#234)
- Support for TOML configuration format (#241)
### Fixed
- Memory leak in long-running processes (#238)
### Security
- Updated dependency-x to 4.2.1 (CVE-2025-XXXXX)
## [2.0.0] - 2025-01-10
### Changed
- BREAKING: Configuration format changed from flat to nested
See migration guide: docs/migration/v2.md
### Removed
- BREAKING: Removed deprecated `legacyMode` option
- BREAKING: Dropped support for Node.js 16
[Unreleased]: [GitHub repository]
[2.1.0]: [GitHub repository]# .github/release-drafter.yml
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
categories:
- title: 'Breaking Changes'
labels: ['breaking-change']
- title: 'New Features'
labels: ['enhancement']
- title: 'Bug Fixes'
labels: ['bug']
- title: 'Dependencies'
labels: ['dependencies']
change-template: '- $TITLE (#$NUMBER) @$AUTHOR'
version-resolver:
major:
labels: ['breaking-change']
minor:
labels: ['enhancement']
patch:
labels: ['bug', 'dependencies']
default: patch# Commit format enabling automated changelogs and version bumping:
feat: add user authentication endpoint # -> MINOR
fix: prevent crash on empty input # -> PATCH
feat!: redesign configuration format # -> MAJOR
fix(api): correct pagination offset # -> PATCH
# Footer for breaking changes
feat: update user model
BREAKING CHANGE: The `email` field is now required.name: Release
on:
push:
tags: ['v*']
permissions:
contents: write
packages: write
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '${{ matrix.node-version }}' }
- run: npm ci && npm test
publish:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 20, registry-url: '[external resource]' }
- run: npm ci && npm run build && npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
github-release:
needs: publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: { clone-depth: 0 }
- uses: softprops/action-gh-release@v2
with: { generate_release_notes: true }name: Build Binaries
on:
push:
tags: ['v*']
jobs:
build:
strategy:
matrix:
include:
- { os: ubuntu-latest, target: x86_64-unknown-linux-gnu, artifact: project-linux-amd64 }
- { os: ubuntu-latest, target: aarch64-unknown-linux-gnu, artifact: project-linux-arm64 }
- { os: macos-latest, target: x86_64-apple-darwin, artifact: project-darwin-amd64 }
- { os: macos-latest, target: aarch64-apple-darwin, artifact: project-darwin-arm64 }
- { os: windows-latest, target: x86_64-pc-windows-msvc, artifact: project-windows-amd64.exe }
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: cargo build --release --target ${{ matrix.target }}
- uses: actions/upload-artifact@v4
with: { name: '${{ matrix.artifact }}', path: 'target/${{ matrix.target }}/release/project*' }
release:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
- run: sha256sum project-*/* > checksums.txt
- uses: softprops/action-gh-release@v2
with:
files: |
project-*/*
checksums.txtmain (stable)
│
├── release/2.1.0 (branch when feature-complete)
│ ├── fix: last-minute bug fix
│ └── tag: v2.1.0 (merge to main and develop)
│
develop (integration)
├── feature/new-api
└── feature/performance#!shell-interpreter
set -euo pipefail
VERSION=$1; BRANCH="release/${VERSION}"
echo "=== Release ${VERSION} ==="
git diff --quiet || { echo "ERROR: Uncommitted changes"; exit 1; }
npm test || { echo "ERROR: Tests failing"; exit 1; }
git checkout -b "${BRANCH}" develop
npm version "${VERSION}" --no-git-tag-version
echo "Update CHANGELOG.md, then press Enter"
read -r
git add -A && git commit -m "chore: bump version to ${VERSION}"
npm test
echo "Branch '${BRANCH}' ready."
echo " 1. Push and create PR to main"
echo " 2. Tag merge commit: git tag v${VERSION}"
echo " 3. Push tag: git push origin v${VERSION}"
echo " 4. Merge main back to develop"# [Project] v2.1.0 Released
## Highlights
- **Configuration Hot-Reloading** (#234): Modify config without restart
- **TOML Support** (#241): Use TOML in addition to JSON and YAML
## Upgrading
add the package dependency project@2.1.0
No breaking changes. See full changelog: [link]
## Contributors
Thanks to @user1, @user2, @user3## When to Rollback
- Critical security vulnerability, data corruption, major regression
## Steps
1. Communicate: "We are aware of [issue] and rolling back."
2. Deprecate: npm deprecate project@2.1.0 "Use 2.0.3 instead"
3. Publish rollback version
4. Post-mortem: what went wrong, process improvements
5. Fix-forward with new patch release{
"name": "project-name",
"version": "2.1.0",
"files": ["dist/", "LICENSE", "README.md"],
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": { "node": ">=18" },
"publishConfig": { "access": "public" }
}npm pack --dry-run # Check included files
npm publish --dry-run # Verify publish would succeed# pyproject.toml
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "project-name"
version = "2.1.0"
requires-python = ">=3.9"
license = {text = "MIT"}# GitHub Actions for PyPI
- name: Build package
run: python -m build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_TOKEN }}## Release Manager Analysis
### Assessment
[Key findings and observations]
### Recommendations
1. [Primary recommendation]
2. [Secondary recommendation]
3. [Additional suggestions]
### Action Items
- [ ] [First action step]
- [ ] [Second action step]
- [ ] [Follow-up task]Input: "Help me with release manager for my current situation"
Output:
Based on your situation, here is a structured approach to release manager:
© FerroxLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/process/resources/skills-library/bodies/skills/software-engineering/release-manager of FerroxLabs/wayland.
Open the folder on GitHubat commit 4c030c7
Release Manager next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Release Manager this skillFerroxLabs/wayland | 608 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Mole CLI Release Flowtw93/Mole | 69k | — | ~2.5k | Automated safety check: Pass | GPL-3.0 | |
| Worktrunk Release Workflowmax-sixty/worktrunk | 8.9k | — | ~6.9k | Automated safety check: Pass | Custom licence | |
| Cline Desktop App Releasecline/cline | 70k | — | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| EverOS Release WorkflowEverMind-AI/EverOS | 13k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| ReleaseXGHeaven/homebox | 817 | — | ~1.4k | Automated safety check: Pass | None |
tw93/Mole
Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.
max-sixty/worktrunk
Walks a maintainer through cutting a Worktrunk release: sync the release branch, pass two test gates, review the changes, then publish.
cline/cline
Covers preparing, tagging and publishing a Cline desktop app release on the stable, beta or nightly channel through the desktop-publish GitHub workflow.
EverMind-AI/EverOS
Walks through cutting a versioned everos release: bump the version, update the changelog, tag it, and review the drafted GitHub Release page before publishing.
XGHeaven/homebox
Prepare, verify, and publish Homebox releases through the repository's tag-driven GitHub Actions workflow.
trekawek/coffee-gb
Releases the current Coffee GB Maven snapshot through the GitHub Maven release workflow, then verifies and curates the tag and GitHub release.
FerroxLabs/wayland
Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.
FerroxLabs/wayland
OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.
FerroxLabs/wayland
Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.
FerroxLabs/wayland
End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.
FerroxLabs/wayland
Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…
FerroxLabs/wayland
Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…
Categories
Master semantic versioning, changelog generation, automated release pipelines, and CI/CD workflows for open source project releases Use when the user asks about release manager, related techniques…. Release Manager is an agent skill from FerroxLabs/wayland. Master semantic versioning, changelog generation, automated release pipelines, and CI/CD workflows for open source project releases Use when the user asks about release manager, related techniques, best practices, or needs guidance in this domain.
Release Manager fits situations like: the user asks about release manager; related techniques; needs guidance in this domain; the request is outside the scope of release manager.
Run `npx skills add FerroxLabs/wayland --skill release-manager -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/software-engineering/release-manager in FerroxLabs/wayland) into .claude/skills/release-manager in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/wayland --skill release-manager -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/software-engineering/release-manager in FerroxLabs/wayland) into .agents/skills/release-manager in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill release-manager -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-manager, .gemini/skills/release-manager, .github/skills/release-manager and .opencode/skills/release-manager in your project.
Going by SKILL.md and its folder, Release Manager needs the command-line tools its instructions call (npm and git) and credentials named NODE_AUTH_TOKEN, NPM_TOKEN and PYPI_TOKEN. Our summary lists: Python 3; Node.js; A credential in NODE_AUTH_TOKEN; A credential in NPM_TOKEN.
SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Release Manager is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Release Manager: Mole CLI Release Flow (tw93/Mole, 69k stars), Worktrunk Release Workflow (max-sixty/worktrunk, 8.9k stars), Cline Desktop App Release (cline/cline, 70k stars) and EverOS Release Workflow (EverMind-AI/EverOS, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.
Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.