Skip to content

feat: add semantic release automation for NPM publishing - #10

Merged
scottlovegrove merged 1 commit into
mainfrom
feat/semantic-release-automation
Jan 22, 2026
Merged

feat: add semantic release automation for NPM publishing#10
scottlovegrove merged 1 commit into
mainfrom
feat/semantic-release-automation

Conversation

@scottlovegrove

Copy link
Copy Markdown
Collaborator

Summary

  • Add semantic release automation for automated NPM package publishing
  • Configure versioning, changelog generation, and GitHub releases
  • Update CLI to read version dynamically from package.json instead of hardcoding
  • Add comprehensive release workflow with testing and linting

Changes Made

  • Semantic Release Setup: Installed and configured semantic-release with plugins for changelog, git, GitHub, and npm publishing
  • Dynamic Versioning: Updated src/index.ts to read version from package.json at runtime (following todoist-cli pattern)
  • Release Workflow: Added .github/workflows/release.yml that runs on main branch pushes
  • Configuration: Added .releaserc.json with proper plugin configuration
  • Package Metadata: Added repository info, publish config, and homepage to package.json
  • Linting Config: Updated to ignore auto-generated CHANGELOG.md

Test Plan

  • Build passes (npm run build)
  • All tests pass (128/128 tests)
  • Type checking passes (npm run type-check)
  • CLI version matches package.json version (0.1.0)
  • Semantic release dry run succeeds
  • Pre-commit and pre-push hooks pass

Next Steps

After merging, you'll need to:

  1. Configure NPM_TOKEN secret in repository settings
  2. First release will trigger automatically on next conventional commit to main

🤖 Generated with Claude Code

- Install semantic-release with plugins for changelog, git, GitHub, and npm
- Configure automated versioning, changelog generation, and publishing
- Update CLI to read version dynamically from package.json instead of hardcoding
- Add release workflow that runs on main branch pushes
- Configure linting to ignore auto-generated CHANGELOG.md
- Add repository metadata and publish configuration to package.json

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@scottlovegrove scottlovegrove self-assigned this Jan 22, 2026
@scottlovegrove
scottlovegrove requested a review from gnapse January 22, 2026 17:42
@scottlovegrove scottlovegrove added the 👀 Show PR PR must be reviewed before or after merging label Jan 22, 2026
@scottlovegrove
scottlovegrove merged commit c756324 into main Jan 22, 2026
2 checks passed
@scottlovegrove
scottlovegrove deleted the feat/semantic-release-automation branch January 22, 2026 17:42
github-actions Bot pushed a commit that referenced this pull request Jan 22, 2026
# 1.0.0 (2026-01-22)

### Bug Fixes

* add UTF-8 charset to OAuth callback HTML responses ([#8](#8)) ([fcb2d49](fcb2d49))

### Features

* Add Biome linting, upgrade to Node 20, and add CI workflows ([#3](#3)) ([57f802e](57f802e))
* add loading animations with global API proxy integration ([#7](#7)) ([bf53bfb](bf53bfb))
* Add OAuth authentication with dynamic client registration ([#6](#6)) ([2845ebd](2845ebd)), closes [#5](#5)
* add semantic release automation for NPM publishing ([#10](#10)) ([c756324](c756324))
* Refactor login command to auth with status/logout subcommands ([#4](#4)) ([59e6493](59e6493))
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@gnapse gnapse left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released 👀 Show PR PR must be reviewed before or after merging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants