ivy-interactive/ivy-tendril/tendril-release
Claude Code and agent skill by ivy-interactive/ivy-tendril
- community
Checking that the SKILL.md file is still in the repository.
Updates the used Ivy NuGet packages to the latest stable versions in a branch from development, builds/verifies, merges into development, creates a PR into main, merges it, merges main back to development, and triggers the GitHub Actions release workflow.
Install
npx vskill@latest install ivy-interactive/ivy-tendril/tendril-releaseSKILL.md
Tendril Release Automator
This skill automates the release preparation and deployment process for Ivy Tendril. It manages package updates, local branch integration, GitHub PR generation and merging, branch synchronization, and triggers the final release workflow.
Invocation
What This Skill Does
- Creates a release branch off
development. - Updates Ivy NuGet packages to their latest stable version available on NuGet.
- Builds the project to verify compilation and package compatibility.
- Commits and merges the changes back into
development. - Increments the patch version in
Directory.Build.props(e.g.1.0.35->1.0.36). - Creates a Pull Request from
developmentintomain. - Merges the PR into
main(if mergeable). - Synchronizes the branches by merging
mainback intodevelopment. - Triggers the GitHub release workflow (
publish-tendril.yml) onmain(or on a test branch likedevelopmentwithtest-modeenabled), publishing NuGet packages and desktop installers.
Prerequisites
- GitHub CLI (
gh) must be installed and authenticated with PR and workflow write access. - PowerShell 7 (
pwsh) must be installed on the system. - VSCE_PAT Secret: Repository secret containing a Personal Access Token with Marketplace (Manage) permissions to publish the VS Code extension to the Visual Studio Code Marketplace.
- OVSX_PAT Secret (optional): Repository secret containing an access token to publish the VS Code extension to the Eclipse Open VSX Registry.
Step-by-Step Workflow
Phase 1: Create Release Prep Branch
Ensure the workspace is clean and up to date, then check out a temporary package update branch from development:
Phase 2: Update Ivy packages
Run the PowerShell update script. This script temporarily disables local IvySource references to allow NuGet resolution, finds all package references starting with Ivy or Ivy.* in all project files, runs dotnet add to update them to their latest versions, and restores the original settings when finished:
Phase 3: Verify Build
Verify that the package updates do not break compilation. Run builds with IvySource set to false to verify NuGet package resolution:
If the build fails, abort the process and notify the developer. Do not proceed to commit.
Phase 4: Merge to Development and Increment Version
If the build succeeds, commit the changes and merge the branch back into development:
Phase 5: Create and Merge PR into Main
Generate a Pull Request to merge the updated development branch into main:
Once the PR is created, wait for or trigger the merge:
- If checks are required or you want to queue it:
``bash gh pr merge --merge --auto ``
- If you can merge immediately:
``bash gh pr merge --merge ``
Phase 6: Sync Main Back into Development
Keep the branches in sync by merging main back into development after the PR is merged:
Phase 7: Trigger Release Workflow
Trigger the release Action workflow (publish-tendril.yml) on main:
The release workflow executes the following pipeline jobs:
version: Resolves the release version from git tags orsrc/Directory.Build.props.publish-nuget: Packs, signs, and pushes NuGet packages to nuget.org.publish-desktop: Builds and packages native desktop installers (Windows, macOS, Linux).upload-release-assets: Downloads desktop installers and publishes them to the GitHub release.
Test Mode Deployment
To run a test deployment dry run (which compiles, packages, and uploads unsigned NuGet and desktop installer artifacts to the workflow run, while skipping all signing, notarization, NuGet push, GitHub release creation, Docker image push, and Azure production docs deployment), trigger the workflow with test-mode set to true (this can be run on development or main):
In test mode (test-mode=true):
- It performs a side-effect-free release dry run.
- It compiles, packages, and uploads unsigned NuGet and desktop installer artifacts to the workflow run.
- It completely skips all signing (SSL.com NuGet and Windows signing, Apple codesign and productsign), Apple notarization, NuGet push, GitHub release creation, Docker image push, and Azure production docs deployment.
Confirm that the workflow has been dispatched by showing the URL or logs:
Phase 8: Publish VS Code Extension (Standalone Workflow)
The VS Code extension has a decoupled release cadence and is published independently via .github/workflows/publish-vscode-extension.yml.
Production Release
Trigger via git tag:
Or trigger via GitHub CLI:
The workflow executes:
- Installs dependencies and runs typecheck (
npm run typecheck). - Builds the extension and runs tests (
npm test). - Resolves and synchronizes the version in
package.json. - Packages the extension into
.vsixusing@vscode/vsce. - Uploads the
.vsixartifact to the workflow run. - Creates or updates GitHub release
vscode-v<version>with the.vsixasset. - Publishes to the Visual Studio Code Marketplace using
VSCE_PAT. - Publishes to the Open VSX Registry using
OVSX_PATif provided.
Test Mode (Dry Run)
To verify extension typechecking, testing, and .vsix packaging without publishing to marketplaces or creating release assets:
In test mode (test-mode=true):
- Runs typecheck, build, unit tests, and
.vsixpackaging. - Uploads the generated
.vsixas a workflow artifact. - Skips GitHub release creation, asset upload, Visual Studio Code Marketplace publishing, and Open VSX publishing.
Troubleshooting & Common Mistakes
- Authentication Errors: If
ghis not authenticated, authenticate by runninggh auth login. - Merge Conflicts: If merging
mainback intodevelopmentordevelopmentintomainhas conflicts, stop and notify the user to resolve them manually. - Untracked nuget.config: Do not leave any temporary
nuget.configfiles in the repository.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/tendril-release/SKILL.md
Popularity
- Repository stars
- 203
- Repository forks
- 9
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ivy-interactive/ivy-tendril/tendril-release)