diff --git a/.claude/skills/worktree.md b/.claude/skills/worktree.md deleted file mode 100644 index a97f2891..00000000 --- a/.claude/skills/worktree.md +++ /dev/null @@ -1,35 +0,0 @@ -# Worktree Management Skill - -## Creating Worktrees - -When creating git worktrees for this project, ALWAYS use the path format: -``` -../yaak-worktrees/ -``` - -For example: -- `git worktree add ../yaak-worktrees/feature-auth` -- `git worktree add ../yaak-worktrees/bugfix-login` -- `git worktree add ../yaak-worktrees/refactor-api` - -## What Happens Automatically - -The post-checkout hook will automatically: -1. Create `.env.local` with unique ports (YAAK_DEV_PORT and YAAK_PLUGIN_MCP_SERVER_PORT) -2. Copy gitignored editor config folders (.zed, .idea, etc.) -3. Run `npm install && npm run bootstrap` - -## Deleting Worktrees - -```bash -git worktree remove ../yaak-worktrees/ -``` - -## Port Assignments - -- Main worktree: 1420 (Vite), 64343 (MCP) -- First worktree: 1421, 64344 -- Second worktree: 1422, 64345 -- etc. - -Each worktree can run `npm run app-dev` simultaneously without conflicts. diff --git a/.codex/skills/worktree-management/SKILL.md b/.codex/skills/worktree-management/SKILL.md deleted file mode 100644 index e1968611..00000000 --- a/.codex/skills/worktree-management/SKILL.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: worktree-management -description: Manage Yaak git worktrees using the standard ../yaak-worktrees/ layout, including creation, removal, and expected automatic setup behavior and port assignments. ---- - -# Worktree Management - -Use the Yaak-standard worktree path layout and lifecycle commands. - -## Path Convention - -Always create worktrees under: - -`../yaak-worktrees/` - -Examples: -- `git worktree add ../yaak-worktrees/feature-auth` -- `git worktree add ../yaak-worktrees/bugfix-login` -- `git worktree add ../yaak-worktrees/refactor-api` - -## Automatic Setup After Checkout - -Project git hooks automatically: -1. Create `.env.local` with unique `YAAK_DEV_PORT` and `YAAK_PLUGIN_MCP_SERVER_PORT` -2. Copy gitignored editor config folders -3. Run `npm install && npm run bootstrap` - -## Remove Worktree - -`git worktree remove ../yaak-worktrees/` - -## Port Pattern - -- Main worktree: Vite `1420`, MCP `64343` -- First extra worktree: `1421`, `64344` -- Second extra worktree: `1422`, `64345` -- Continue incrementally for additional worktrees diff --git a/plugins/action-copy-grpcurl/src/index.ts b/plugins/action-copy-grpcurl/src/index.ts index bec5dde0..b332957d 100644 --- a/plugins/action-copy-grpcurl/src/index.ts +++ b/plugins/action-copy-grpcurl/src/index.ts @@ -11,7 +11,7 @@ export const plugin: PluginDefinition = { async onSelect(ctx, args) { const rendered_request = await ctx.grpcRequest.render({ grpcRequest: args.grpcRequest, - purpose: 'preview', + purpose: 'send', }); const data = await convert(rendered_request, args.protoFiles); await ctx.clipboard.copyText(data); @@ -103,7 +103,7 @@ export async function convert(request: Partial, allProtoFiles: stri // Add form params if (request.message) { - xs.push('-d', `${quote(JSON.stringify(JSON.parse(request.message)))}`); + xs.push('-d', quote(request.message)); xs.push(NEWLINE); } diff --git a/plugins/action-copy-grpcurl/tests/index.test.ts b/plugins/action-copy-grpcurl/tests/index.test.ts index 31910c98..51d43d02 100644 --- a/plugins/action-copy-grpcurl/tests/index.test.ts +++ b/plugins/action-copy-grpcurl/tests/index.test.ts @@ -151,7 +151,26 @@ describe('exporter-curl', () => { [ `grpcurl -import-path '/'`, `-proto '/foo.proto'`, - `-d '{"foo":"bar","baz":1}'`, + `-d '{\n "foo": "bar",\n "baz": 1\n}'`, + 'yaak.app', + ].join(' \\\n '), + ); + }); + + test('Sends data with unresolved template tags', async () => { + expect( + await convert( + { + url: 'https://yaak.app', + message: '{"timestamp": ${[ faker "timestamp" ]}, "foo": "bar"}', + }, + ['/foo.proto'], + ), + ).toEqual( + [ + `grpcurl -import-path '/'`, + `-proto '/foo.proto'`, + `-d '{"timestamp": \${[ faker "timestamp" ]}, "foo": "bar"}'`, 'yaak.app', ].join(' \\\n '), );