Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions PUBLISH.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This document outlines the complete process for publishing new versions of Deskt

## 🚀 Automated Release (Recommended)

We now have an automated release script that handles the entire process!
We now have an automated release script that handles the entire process with **automatic state tracking and resume capability**!

```bash
# Patch release (0.2.16 → 0.2.17) - Bug fixes, small improvements
Expand All @@ -18,9 +18,31 @@ npm run release:major

# Test without publishing
npm run release:dry

# Clear saved state and start fresh
node scripts/publish-release.cjs --clear-state
```

**See [scripts/README-RELEASE.md](scripts/README-RELEASE.md) for full documentation of the automated release process.**
### ✨ Smart State Tracking

The script automatically tracks completed steps and **resumes from failures**:

1. **Automatic Resume**: If any step fails, just run the script again - it will skip completed steps and continue from where it failed
2. **No Manual Flags**: No need to remember which `--skip-*` flags to use
3. **Clear State**: Use `--clear-state` to reset and start from the beginning
4. **Transparent**: Shows which steps were already completed when resuming

**Example workflow:**
```bash
# Start release - tests fail
npm run release
# ❌ Step 2/6 failed: Tests failed

# Fix the tests, then just run again
npm run release
# ✓ Step 1/6: Version bump already completed
# ✓ Step 2/6: Running tests... (continues from here)
```
Comment on lines +26 to +45
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

“Smart State Tracking” example output doesn’t quite match current script logging

The “Smart State Tracking” bullets line up well with the implementation (automatic resume, no need for manual skip flags in normal use, clear‑state option, transparency on resumed steps).

The sample workflow, though, shows output like # ❌ Step 2/6 failed: Tests failed and # ✓ Step 2/6: Running tests... (continues from here), while the actual script logs a generic Release failed at step: <lastStep> followed by the underlying error message, and the step labels are Step 2/6: Running tests (includes build)... with a success line rather than the exact strings in the example.

Consider either:

  • Updating the script’s logging to emit messages closer to the documented example (e.g. per‑step failure lines and step names), or
  • Adjusting the example output here to mirror the current script output (including the “Release failed at step: …” summary and the resume banner).

Either direction keeps the docs honest and avoids confusion when someone compares real runs to this example.

Also applies to: 47-56

🤖 Prompt for AI Agents
In PUBLISH.md around lines 26-45 and 47-56, the example output for “Smart State
Tracking” does not match the script’s real logging; update the documentation
examples to mirror the actual script output (or vice versa) — specifically
replace the shown per-step emoji lines with the script’s real messages such as
the "Release failed at step: <lastStep>" summary, the actual step label formats
like "Step 2/6: Running tests (includes build)..." and the resume banner text;
ensure both example blocks consistently reflect the current log wording and
formatting so readers see output that matches a real run.


The script automatically handles:
- ✅ Version bumping
Expand All @@ -30,6 +52,7 @@ The script automatically handles:
- ✅ NPM publishing
- ✅ MCP Registry publishing
- ✅ Publication verification
- ✨ **State tracking and automatic resume**

---

Expand Down
Loading