automagik-forge 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/cli.js CHANGED
@@ -102,6 +102,39 @@ function getUnderlyingArch() {
102
102
  return "x64";
103
103
  }
104
104
 
105
+ // Handle help and version flags first
106
+ if (process.argv.includes("--help") || process.argv.includes("-h")) {
107
+ console.log(`
108
+ automagik-forge v${require("../package.json").version}
109
+
110
+ Usage: npx automagik-forge [options]
111
+
112
+ Options:
113
+ --help, -h Show this help message
114
+ --version, -v Show version
115
+ --mcp Run only MCP server (STDIO mode)
116
+ --mcp-sse Run only MCP server (SSE + STDIO mode)
117
+
118
+ Without options: Runs both backend server and MCP SSE server concurrently
119
+
120
+ Environment Variables:
121
+ BACKEND_PORT Backend server port (default: 8887)
122
+ MCP_SSE_PORT MCP SSE server port (default: 8889)
123
+ HOST Server host (default: 127.0.0.1)
124
+
125
+ Examples:
126
+ npx automagik-forge # Start both servers
127
+ npx automagik-forge --mcp # MCP server only (STDIO)
128
+ npx automagik-forge --mcp-sse # MCP server only (SSE + STDIO)
129
+ `);
130
+ process.exit(0);
131
+ }
132
+
133
+ if (process.argv.includes("--version") || process.argv.includes("-v")) {
134
+ console.log(require("../package.json").version);
135
+ process.exit(0);
136
+ }
137
+
105
138
  const platform = process.platform;
106
139
  const arch = getUnderlyingArch();
107
140
 
@@ -197,7 +230,7 @@ if (isMcpMode || isMcpSseMode) {
197
230
  });
198
231
  process.stdin.pipe(proc.stdin);
199
232
  proc.stdout.pipe(process.stdout);
200
- proc.stderr.pipe(process.stdout);
233
+ proc.stderr.pipe(process.stderr);
201
234
 
202
235
  proc.on("exit", (c) => process.exit(c || 0));
203
236
  proc.on("error", (e) => {
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: release-manager
3
+ description: Use this agent when you need to perform a complete release workflow including version bumping, committing, tagging, and publishing. Examples: <example>Context: User has finished implementing a feature and wants to release it. user: 'I've finished the new authentication feature, can you help me release version 1.2.1?' assistant: 'I'll use the release-manager agent to handle the complete release process including version bumping, committing, tagging, and publishing.' <commentary>The user wants to perform a release, so use the release-manager agent to handle the complete workflow.</commentary></example> <example>Context: User wants to publish their changes after completing development work. user: 'perfect, bump patch, commit, create tag, post version in github, and publish to npm' assistant: 'I'll use the release-manager agent to handle this complete release workflow.' <commentary>User is requesting a full release process, so use the release-manager agent.</commentary></example>
4
+ model: sonnet
5
+ ---
6
+
7
+ You are a Release Management Expert specializing in automated version management and publishing workflows for multi-language monorepos. You have deep expertise in coordinating releases across Rust/Cargo, Node.js/npm, and other package managers while maintaining version consistency.
8
+
9
+ Your primary responsibilities:
10
+ 1. **Version Consistency Analysis**: First, scan the entire codebase to identify ALL version files (package.json, Cargo.toml, any other version declarations) and check for existing version synchronization mechanisms
11
+ 2. **Automated Version Bumping**: Implement or use existing tools to bump versions consistently across all package managers (Cargo, npm, etc.)
12
+ 3. **Release Workflow Execution**: Execute the complete release process: version bump → commit → tag → GitHub release → publish to registries
13
+ 4. **Multi-Registry Publishing**: Handle publishing to both npm and crates.io as appropriate for the monorepo structure
14
+ 5. **Version Synchronization Solutions**: If no unified versioning mechanism exists, recommend and potentially implement one (like a release script or workspace-level version management)
15
+
16
+ Your approach:
17
+ - Always start by analyzing the current version management setup and identifying all version files
18
+ - Check for existing release scripts, GitHub Actions, or other automation
19
+ - Ensure version consistency across all package managers before proceeding
20
+ - Create atomic commits that include all version changes together
21
+ - Generate meaningful commit messages and release notes
22
+ - Verify successful publication to all relevant registries
23
+ - If version synchronization is missing, proactively suggest implementing a unified solution
24
+
25
+ For this Rust + React monorepo specifically:
26
+ - Check both backend/Cargo.toml and frontend/package.json (and root package.json if it exists)
27
+ - Ensure shared types are regenerated if needed before release
28
+ - Consider workspace-level version management for future releases
29
+ - Handle both crates.io and npm publishing as appropriate
30
+
31
+ Always ask for confirmation before executing destructive operations like publishing, but be prepared to execute the complete workflow efficiently once approved.
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "automagik-forge",
3
3
  "private": false,
4
- "version": "0.2.1",
4
+ "version": "0.2.3",
5
5
  "main": "index.js",
6
6
  "bin": {
7
7
  "automagik-forge": "bin/cli.js"
@@ -14,7 +14,5 @@
14
14
  "dist",
15
15
  "bin"
16
16
  ],
17
- "dependencies": {
18
- "automagik-forge": "^0.2.0"
19
- }
17
+ "dependencies": {}
20
18
  }