feat: Add project-agnostic release automation workflow#1
Merged
Conversation
Introduces /release command and release sub-agent for automated, safe, and professional release management across any programming language or ecosystem. Features: - **Universal project detection** - Auto-detects Node.js, Rust, Python, Go, Ruby, PHP, Java/Maven, Java/Gradle, Swift projects - **Intelligent version bumping** - Analyzes commits to suggest patch/minor/major based on conventional commits - **Auto-generated changelogs** - Extracts changes from git history - **Built-in safety checks** - Verifies clean directory, builds, tests before releasing - **Multi-step confirmations** - User approval before commit, push, and publish operations - **Platform integration** - Creates GitHub/GitLab releases with gh/glab - **Rollback instructions** - Clear recovery steps if anything fails Workflow: 1. User runs /release and specifies bump type (patch/minor/major/custom) 2. Release agent detects project type and current version 3. Analyzes commits since last release 4. Generates changelog entry from git history 5. Updates version files (package.json, Cargo.toml, etc.) 6. Runs build and tests 7. Shows preview and waits for user confirmation 8. Commits version bump 9. Pushes to remote 10. Publishes to registry (npm, crates.io, PyPI, etc.) 11. Creates git tag 12. Creates platform release (GitHub/GitLab) Supported ecosystems: - Node.js (package.json + npm) - Rust (Cargo.toml + cargo) - Python (pyproject.toml/setup.py + pip/twine) - Go (go.mod + git tags) - Ruby (gemspec + gem) - PHP (composer.json + composer) - Java/Maven (pom.xml + mvn) - Java/Gradle (build.gradle + gradle) - Swift (Package.swift + git tags) - Generic (VERSION file + git tags) Documentation: - Added /release to commands table in README - Added release to sub-agents table in README - Created "Creating a Release" workflow section - Included in integration examples 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
dean0x
pushed a commit
that referenced
this pull request
Mar 25, 2026
- Replace per-line subprocess spawning in extract_batch_messages with single-pass jq/node processing (issue #1) - Decompose process_observations into validate_observation, calculate_confidence, and check_temporal_spread helpers (issue #2) - Fix duplicate temporal spread calculation by computing epoch once in check_temporal_spread (issue #3) - Escape double quotes in ART_DESC for YAML frontmatter safety (issue #4) - Strengthen ART_NAME sanitization with strict kebab-case allowlist (issue #5) - Replace per-line subprocess in apply_temporal_decay with single-pass jq operation and node fallback (issue #6) - Replace per-line subprocess in create_artifacts status update with single-pass jq/node operation (issue #7) - Remove dead increment_daily_counter function (issue #8) - Extract write_command_artifact and write_skill_artifact helpers from create_artifacts (issue #9) - Change flat 30k char truncation to per-session 8k char cap for proportional session contribution (issue #10) - Add section comment markers to build_sonnet_prompt heredoc for navigability (issue #11)
5 tasks
dean0x
pushed a commit
that referenced
this pull request
Apr 13, 2026
Addresses 9 issues found in the r1-init-migrations review batch: - #1: Move runMigrations block before installViaFileCopy so V1→V2 shadow renames complete before the installer looks for V2-named directories - #2: Extend Migration.run to return MigrationRunResult { infos, warnings }; both registry entries now surface migrated counts and conflict warnings to init.ts, which logs them via p.log.info / p.log.warn after the migration loop - #3 (ISP): Split MigrationContext into GlobalMigrationContext | PerProjectMigrationContext discriminated union; drop unused claudeDir field; empty-string sentinels removed - #4: Cap per-project Promise.allSettled concurrency at 16 via pooled() helper to avoid EMFILE on machines with 50-200 projects - #5: Accumulate newlyApplied in memory and write state once at end of runMigrations — eliminates O(N²) writeAppliedMigrations calls per run - #6: Use { flag: 'wx' } exclusive-create on .tmp file with unlink+retry on EEXIST to prevent TOCTOU symlink writes - #7: Add exhaustiveness assertion (never) on migration.scope dispatch so future union extensions cause a runtime throw instead of silent no-op - #8 (D37): Document vacuous-truth edge case in runMigrations comment block where discoveredProjects=[] marks per-project migration applied without sweeping any project - #9: Convert applied array to Set<string> before the migration loop for O(1) .has() lookups instead of O(N) .includes() per migration Co-Authored-By: Claude <noreply@anthropic.com>
9 tasks
dean0x
pushed a commit
that referenced
this pull request
Apr 16, 2026
Review walkthrough across 4 sessions resolved all 31 issues from the 2026-04-15_1022 code review (19 fixed, 5 rejected, 1 deferred, 6 pre-resolved). Blocking fixes (sessions 1-2): - CHANGELOG contradiction rewritten (#1) - Worktree placeholder unified on "{worktree}" across 11 sites (#3) - /debug migrated to index pattern (#4) - KNOWLEDGE_CONTEXT quoting standardized, no inline fallback (#6) - apply-knowledge skill defers to footer for paths (#7) - Simplifier dropped from knowledge consumers; 4 agents canonicalized (#8) - lstat+isFile guard on legacy-knowledge-purge unlink (#9) Architecture + consistency fixes (session 2): - Bare-form CLI removed, dispatch simplified to index-only (#10) - code-review-teams template+table extraction (#12) - Designer Apply Knowledge H2 added (#13) - Teams phase numbering aligned (#14) - loadKnowledgeContext + full subcommand removed entirely (#16) Complexity + performance + testing + docs fixes (sessions 3-4): - D-A filter extracted to isDeprecatedOrSuperseded predicate (#18) - formatAdrLine/formatPfLine merged into formatEntryLine (#19) - Shared test fixtures extracted to tests/knowledge/fixtures.ts (#21) - Token claim "~250 tokens" dropped from 12 sites (#22) - tmpdir cleanup added to test fixtures (#25) - self-learning.md example and footer paths corrected (#28, #29) 28 files changed, 333 insertions, 524 deletions. 1021/1021 tests passing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces
/releasecommand andreleasesub-agent for automated, safe, and professional release management across any programming language or ecosystem.Key Features
Universal Project Detection
Intelligent Version Management
Auto-Generated Changelogs
Built-In Safety Checks
Multi-Step Workflow
/releaseand specifies bump typeSupported Ecosystems
Platform Integration
ghCLI (if available)glabCLI (if available)Documentation Changes
/releasecommand to commands tablereleasesub-agent to sub-agents tableFiles Changed
src/claude/agents/devflow/release.md- New sub-agent (26KB, comprehensive)src/claude/commands/devflow/release.md- New command (7KB, orchestration)README.md- Documentation updatesTesting
npm run buildnode dist/cli.js initNext Steps
After merging:
/releasefor next DevFlow releaseNotes
This is a workflow agent (like
researchandcommit) that coordinates a complex multi-step process. The agent is designed to be extremely cautious with multiple confirmation points before any permanent/public actions.🤖 Generated with Claude Code