diff --git a/.github/workflows/auto-approve.yml b/.github/workflows/auto-approve.yml new file mode 100644 index 0000000..bb2a146 --- /dev/null +++ b/.github/workflows/auto-approve.yml @@ -0,0 +1,24 @@ +name: Auto-approve release PRs + +on: + pull_request: + types: [opened] + +permissions: + pull-requests: write + +jobs: + approve: + if: | + github.actor == 'github-actions[bot]' && + startsWith(github.event.pull_request.title, 'chore(main): release') + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Approve PR + run: | + gh pr review "${{ github.event.pull_request.number }}" \ + --approve \ + --body "Auto-approved: release-please version bump" + env: + GH_TOKEN: ${{ github.token }} diff --git a/internal/init/orchestrate.go b/internal/init/orchestrate.go index 84f7798..a5ba478 100644 --- a/internal/init/orchestrate.go +++ b/internal/init/orchestrate.go @@ -13,11 +13,10 @@ import ( "github.com/alebak/jkit" "github.com/alebak/jkit/internal/agents" "github.com/alebak/jkit/internal/devcontainer" - "github.com/alebak/jkit/internal/generator" "github.com/alebak/jkit/internal/mcp" ) -// Orchestrate runs the full init pipeline: DEVC → AGNT → EXTG → MCPS. +// Orchestrate runs the full init pipeline: DEVC → AGNT → MCPS. // Fails fast on first error; performs best-effort cleanup on failure. func Orchestrate(ctx context.Context, cfg InitConfig) error { if err := ctx.Err(); err != nil { @@ -82,13 +81,7 @@ func Orchestrate(ctx context.Context, cfg InitConfig) error { } } - // Step 3: EXTG — Generate default component extension - extData := generator.NewExtensionData(cfg.ProjectName, "jkit", generator.TypeComponent) - if _, err := generator.Generate(ctx, extData, cwd); err != nil { - return rollback(createdFiles, fmt.Errorf("EXTG generate: %w", err)) - } - - // Step 4: MCPS — Deploy MCP for playwright + mariadb to first agent's config + // Step 3: MCPS — Deploy MCP for playwright + mariadb to first agent's config if len(cfg.Agents) > 0 { firstAgent := cfg.Agents[0] configPath, err := mcp.MCPConfigPathFor(ctx, firstAgent) @@ -113,7 +106,7 @@ func Orchestrate(ctx context.Context, cfg InitConfig) error { } } - // Step 5: Create .gitignore and builds/ directory + // Step 4: Create .gitignore and builds/ directory gitignorePath := filepath.Join(cwd, ".gitignore") if err := appendGitignore(gitignorePath); err != nil { return rollback(createdFiles, fmt.Errorf("creating .gitignore: %w", err))