소스 정보
- 저장소
- nesso-how/nesso
- 최근 소스 활동
- 2026년 7월 16일 12:09
- 감지된 SKILL.md 언어
- 영어
- 스타
- 4
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/nesso-how/nesso --skill release명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Use when one plan task completes in the nesso-work flow — a brief review scoped strictly to that task's diff, before the per-task commit. Dispatches nesso-guard-review and nesso-quality-review in parallel on the task's files only, then synthesizes a short verdict. Read-only — never edits, never commits.
Use when the user asks to open, draft, update, or push a Nesso pull request (gh pr create, gh pr edit, "crea la PR") and the branch is ready to publish on GitHub.
Use when the implementation is complete and ready for pre-PR review. Dispatches nesso-guard-review and nesso-quality-review subagents in parallel, then synthesizes one verdict. Read-only — reports findings, never edits.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | release |
| description | Use when the user asks to cut, ship, publish, or version-bump a release. |
scripts/release.mjs (pnpm release) does the deterministic prep — the version bump across all nine files, the CHANGELOG roll, the lockfile refresh, and build/lint/format:check. This skill drives that script and supervises it: it owns the judgment the script can't make (which version, what ships, when to publish) and closes the gaps the script deliberately leaves open (the git push, branch protection, worktrees).
Pushing the v* tag triggers .github/workflows/release.yml: npm publish of the workspace packages (Trusted Publishing / OIDC), a signed universal macOS .dmg desktop build, and a GitHub Release. The tag push is the point of no return — it publishes to the public. Confirm with the user before step 4.
For the conventions and the desktop auto-update / minisign signing details, see .rules/changelog.md; this skill executes that flow, it does not restate it.
main (or the release branch the user names). The script warns on a dirty tree and refuses --commit unless it's clean.## [Unreleased] in CHANGELOG.md already holds this release's notes — contributors fill it per PR (see CONTRIBUTING.md step 3). The script stops if it's empty; if so, ask the user what's shipping before continuing.PREV = the current version in root package.json (e.g. 0.1.0-alpha.28).NEW = increment the alpha counter (…-alpha.N → …-alpha.N+1). This is the script's default — no argument needed. For any other bump (e.g. leaving alpha), confirm the target semver with the user and pass it explicitly: pnpm release 0.2.0.vNEW.Preview first when unsure, then run for real:
pnpm release --dry-run # print what would change, write nothing
pnpm release [NEW] # bump + roll changelog + pnpm install + build/lint/format, then STOP
What the script does:
version to NEW in all nine synced files — the six package.jsons, src-tauri/tauri.conf.json, src-tauri/Cargo.toml, and src-tauri/Cargo.lock (the name = "nesso" entry; pnpm install does not refresh it). It aborts on version drift — any file not already at PREV — so a forgotten file fails loudly instead of shipping out of sync.CHANGELOG.md: moves ## [Unreleased] into ## [NEW] - YYYY-MM-DD, leaves a fresh empty [Unreleased], and updates the two link references (URL derived from the existing [Unreleased] ref).CI=true pnpm install --frozen-lockfile (non-interactive), pnpm build, pnpm lint, pnpm format:check.It then stops before any git mutation and prints the commit/tag/push commands. Flags: --no-verify (skip the build/lint pass), --yes (don't prompt on warnings), --commit (see step 3).
Supervise — close the gaps:
[Unreleased], a failing build/lint), fix the root cause and re-run; don't hand-edit around it.JSON_VERSION_FILES / CARGO_VERSION_FILES in the script. If a published package is added or removed, update the script and the list above so they stay the single source of truth.## [NEW] heading must match tauri.conf.json's version exactly — release.yml extracts the GitHub Release body from the section with that heading, so a mismatch ships an empty release body. The script keeps them aligned; re-check after any manual fixup.Once prep is green and the user has confirmed, the script can create the commit + tag locally (it never pushes):
pnpm release [NEW] --commit
Equivalently, run the git add/commit/tag commands it printed. Either way the commit message is chore(release): vNEW and the tag is vNEW.
This publishes. Confirm with the user, then push the release commit to main and the tag:
git push origin HEAD:main # the release commit — a fast-forward of main
git push origin vNEW # the tag push is what triggers release.yml and publishes
Gap-closing notes from past releases:
main requires PRs + a passing status check, but a maintainer with bypass can push the release commit directly. This is a fast-forward, so it needs no --force — if a tool suggests forcing, it's wrong; plain git push origin HEAD:main succeeds and the remote reports Bypassed rule violations.HEAD (git push origin HEAD:main). Do not cd into the main checkout to push — there HEAD points at a different commit and the push is a silent no-op (Everything up-to-date).gh run watch <id> --exit-status, or the Actions tab). It publishes the npm packages, builds the universal macOS .dmg, and creates the GitHub Release plus the signed latest.json consumed by the desktop auto-updater..dmg build is the long pole (~10 min). publish-npm succeeding does not mean the release is done — and gh run watch can exit 0 on a transient API hiccup. Confirm gh run view <id> shows completed / success and gh release view vNEW resolves (with the .dmg + latest.json assets) before reporting success.## [NEW] changelog section, and that releases/latest/download/latest.json resolves to this build.