midudev/autoskills · info

Puedes crearla manualmente

Error message

   Puedes crearla manualmente: ${repoUrl}/releases/new?tag=v${newVersion}

What it means

This is the follow-up hint line (console.warn) printed immediately after the failed `gh release create` warning. It interpolates repoUrl to give the developer a direct browser URL to create the release manually. It is informational, not an error itself; it only appears when the gh CLI release creation failed.

Solutions

  1. Open the printed URL in a browser and create the release for tag v<newVersion> with the notes from .release-notes-tmp.md (note the temp file is deleted in the finally block — recover notes from git or CHANGELOG).
  2. Fix gh (`gh auth login`) and create the release via CLI instead.
  3. If repoUrl itself looks wrong in the message, verify the git remote (`git remote get-url origin`) that the script derives repoUrl from.

Example fix

// before
# notes lost after finally block deleted .release-notes-tmp.md
// after
git log --oneline <lastTag>..HEAD > release-notes.md  # regenerate notes, then paste into the releases/new URL
Defensive patterns

Strategy: fallback

Validate before calling

git remote get-url origin  # confirm repoUrl the script will interpolate is correct

Prevention

When it happens

Trigger: Always printed in the same catch block as error [24]: `gh release create v<newVersion>` failed and the script falls back to suggesting the manual GitHub releases page for tag v<newVersion>.

Common situations: Same as [24]: missing/unauthenticated gh CLI, existing release, or network issues; the developer sees this line and should open the URL to finish the release manually.

Related errors


AI-assisted analysis of midudev/autoskills@0ec725320d (2026-09-15). Data as JSON: /api/errors/31b5cdc28fd4c204. Report an issue: GitHub.

Appendix: source

Thrown at packages/autoskills/scripts/release.mjs:404

  const message = error instanceof Error ? error.message : String(error);
  fail(`La release falló y se revirtieron los cambios locales.\n${message}`);
}

// 11. Create GitHub release
console.log("\n🏷️  Creando GitHub Release...");
const releaseNotes = changelogEntry.replace(/^## .*\n\n/, "");
const tempFile = resolve(ROOT, ".release-notes-tmp.md");
writeFileSync(tempFile, releaseNotes);

try {
  run(
    `gh release create v${newVersion} --title "v${newVersion}" --notes-file .release-notes-tmp.md`,
    { cwd: ROOT },
  );
  console.log(`✅ Release v${newVersion} creada en GitHub`);
} catch {
  console.warn(`⚠️  No se pudo crear la release en GitHub (¿tienes gh instalado y autenticado?)`);
  console.warn(`   Puedes crearla manualmente: ${repoUrl}/releases/new?tag=v${newVersion}`);
} finally {
  try {
    run(`rm .release-notes-tmp.md`);
  } catch {}
}

console.log(`\n🎉 ¡Release v${newVersion} completada!\n`);

View on GitHub (pinned to 0ec725320d)