create-new-release

Create and push a new semver release tag. Asks for release type (patch/minor/major), validates commit exists on remote, bumps version, and pushes the tag.

npx skills add https://github.com/clickhouse/pg_stat_ch --skill create-new-release

Create New Release

Create and push a new semantic version release tag.

Steps

  1. Ask release type: Use AskUserQuestion to ask if this is a patch, minor, or major release.

  2. Fetch latest tags from remote:

    git fetch --tags origin
    
  3. Get the latest semver tag (assumes v prefix like v1.2.3):

    git tag --sort=-version:refname -l 'v*' | head -1
    
  4. Parse and bump version based on user selection:

    • patch: v1.2.3v1.2.4
    • minor: v1.2.3v1.3.0
    • major: v1.2.3v2.0.0
  5. Verify META.json version matches the new tag: Read META.json and check that both version and provides.pg_stat_ch.version match the new version (without the v prefix). If they don't match, abort and tell the user to update META.json first — PGXN uses this file for the release version.

  6. Validate current commit exists on remote:

    git fetch origin
    git branch -r --contains HEAD
    

    If no remote branch contains HEAD, abort with an error asking the user to push their commits first.

  7. Create and push the tag:

    git tag -a <new_version> -m "Release <new_version>"
    git push origin <new_version>
    
  8. Report success with the new tag name.

Version Parsing

Parse version from tag like v1.2.3:

  • Extract numbers after v prefix
  • Split by . to get major, minor, patch components
  • Handle edge case: if no tags exist, start at v0.1.0

Error Handling

  • If current commit is not on remote: "Current commit is not pushed to remote. Please push your changes first."
  • If tag already exists: "Tag already exists. Please check existing tags."
  • If git operations fail: Report the specific error.

Plus de skills de clickhouse

clickhouse-best-practices
clickhouse
28 règles de bonnes pratiques ClickHouse organisées par conception de schéma, optimisation des requêtes et stratégie d'ingestion de données. Couvre trois domaines critiques : sélection de la clé primaire et des types de données (décisions de conception immuables), optimisation des JOIN et des requêtes, et regroupement des insertions avec évitement des mutations. Inclut 28 règles priorisées par impact, avec des règles de conception de schéma et d'optimisation des requêtes marquées CRITIQUES en raison du stockage columnar et des mécanismes d'index clairsemés de ClickHouse. Fournit des procédures de révision structurées pour...
official
clickhouse-js-node-coding
clickhouse
Write idiomatic application code with the ClickHouse Node.js client (`@clickhouse/client`). Use this skill whenever a user is *building* against the Node.js…
official
clickhousectl-cloud-deploy
clickhouse
Utiliser lorsque l'utilisateur souhaite déployer ClickHouse dans le cloud, passer en production, utiliser ClickHouse Cloud, héberger un service ClickHouse géré, ou migrer depuis un environnement local…
official
clickstack-otel-collector
clickhouse
À utiliser lorsqu'un utilisateur souhaite connecter un collecteur OpenTelemetry à un service Managed ClickStack sur ClickHouse Cloud, soit en déployant un nouveau collecteur local…
official
infra-clickhouse
clickhouse
Configure et gère ClickHouse à l'aide de la CLI clickhousectl — installe et exécute un serveur ClickHouse local pour le développement, et crée des services gérés ClickHouse Cloud…
official
infra-postgres
clickhouse
Sets up and manages Postgres using the clickhousectl CLI — runs a local Docker-backed Postgres for development, and creates and operates managed ClickHouse…
official
clickhouse-best-practices
clickhouse
À UTILISER OBLIGATOIREMENT lors de l'examen des schémas, requêtes ou configurations ClickHouse. Contient 31 règles qui DOIVENT être vérifiées avant de fournir des recommandations. Toujours lire…
official
setup
clickhouse
Guide les utilisateurs dans la configuration de la connexion au serveur ClickHouse MCP fourni avec ce plugin. À utiliser lors de la première installation du plugin ou en cas de problème…
official