Skip to content

Commit b10b447

Browse files
improvement(repo): update ship skills, flatten internal tools contracts dir (#4379)
* improvement(repo): update ship skills, flatten internal tools contracts dir * update baselines * address comments
1 parent a9c12a2 commit b10b447

40 files changed

Lines changed: 71 additions & 67 deletions

File tree

‎.agents/skills/ship/SKILL.md‎

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,20 @@ When the user runs `/ship`:
1313

1414
1. **Check git status** - See what files have changed
1515
2. **Generate a commit message** following this format: `type(scope): description`
16-
- Types: `fix`, `feat`, `improvement`, `chore`
17-
- Scope: short identifier (e.g., `undo-redo`, `api`, `ui`)
18-
- Keep it concise
19-
20-
3. **Run lint** - Run `bun run lint` from the repo root to fix formatting issues before staging
21-
16+
- Types: `fix`, `feat`, `improvement`, `chore`
17+
- Scope: short identifier (e.g., `undo-redo`, `api`, `ui`)
18+
- Keep it concise
19+
3. **Run pre-ship checks** from the repo root before staging:
20+
- `bun run lint` to fix formatting issues
21+
- `bun run check:api-validation:strict` to catch boundary contract failures before CI
2222
4. **Stage and commit** the changes with the generated message
23-
2423
5. **Push to origin** using the current branch name
25-
2624
6. **Create a PR** to staging with a description in the user's voice
2725

2826
## Commit Message Format
2927

3028
Based on the repo's commit history:
29+
3130
```
3231
fix(scope): description for bug fixes
3332
feat(scope): description for new features
@@ -61,6 +60,7 @@ Tested manually (or describe testing)
6160
## PR Creation Command
6261

6362
Use this command structure:
63+
6464
```bash
6565
gh pr create --base staging --title "COMMIT_MESSAGE" --body "PR_BODY"
6666
```
@@ -77,6 +77,7 @@ gh pr create --base staging --title "COMMIT_MESSAGE" --body "PR_BODY"
7777

7878
- Short, direct bullet points
7979
- No unnecessary explanation
80-
- "Tested manually" is acceptable for testing section
80+
- "Tested manually" is acceptable for testing section; include lint and boundary validation results when run
8181
- Checkboxes filled in appropriately
8282
- No screenshots section unless UI changes
83+

‎.claude/commands/ship.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ When the user runs `/ship`:
1717
- Scope: short identifier (e.g., `undo-redo`, `api`, `ui`)
1818
- Keep it concise
1919

20-
3. **Run lint** - Run `bun run lint` from the repo root to fix formatting issues before staging
20+
3. **Run pre-ship checks** from the repo root before staging:
21+
- `bun run lint` to fix formatting issues
22+
- `bun run check:api-validation:strict` to catch boundary contract failures before CI
2123

2224
4. **Stage and commit** the changes with the generated message
2325

@@ -77,6 +79,6 @@ gh pr create --base staging --title "COMMIT_MESSAGE" --body "PR_BODY"
7779

7880
- Short, direct bullet points
7981
- No unnecessary explanation
80-
- "Tested manually" is acceptable for testing section
82+
- "Tested manually" is acceptable for testing section; include lint and boundary validation results when run
8183
- Checkboxes filled in appropriately
8284
- No screenshots section unless UI changes

‎.cursor/commands/ship.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ When the user runs `/ship`:
1212
- Scope: short identifier (e.g., `undo-redo`, `api`, `ui`)
1313
- Keep it concise
1414

15-
3. **Run lint** - Run `bun run lint` from the repo root to fix formatting issues before staging
15+
3. **Run pre-ship checks** from the repo root before staging:
16+
- `bun run lint` to fix formatting issues
17+
- `bun run check:api-validation:strict` to catch boundary contract failures before CI
1618

1719
4. **Stage and commit** the changes with the generated message
1820

@@ -72,6 +74,6 @@ gh pr create --base staging --title "COMMIT_MESSAGE" --body "PR_BODY"
7274

7375
- Short, direct bullet points
7476
- No unnecessary explanation
75-
- "Tested manually" is acceptable for testing section
77+
- "Tested manually" is acceptable for testing section; include lint and boundary validation results when run
7678
- Checkboxes filled in appropriately
7779
- No screenshots section unless UI changes

‎apps/sim/app/api/tools/a2a/cancel-task/route.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { Task } from '@a2a-js/sdk'
22
import { createLogger } from '@sim/logger'
33
import { type NextRequest, NextResponse } from 'next/server'
44
import { createA2AClient } from '@/lib/a2a/utils'
5-
import { a2aCancelTaskContract } from '@/lib/api/contracts/tools/internal/a2a'
5+
import { a2aCancelTaskContract } from '@/lib/api/contracts/tools/a2a'
66
import { getValidationErrorMessage, parseRequest } from '@/lib/api/server'
77
import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid'
88
import { generateRequestId } from '@/lib/core/utils/request'

‎apps/sim/app/api/tools/a2a/delete-push-notification/route.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { createLogger } from '@sim/logger'
22
import { type NextRequest, NextResponse } from 'next/server'
33
import { createA2AClient } from '@/lib/a2a/utils'
4-
import { a2aDeletePushNotificationContract } from '@/lib/api/contracts/tools/internal/a2a'
4+
import { a2aDeletePushNotificationContract } from '@/lib/api/contracts/tools/a2a'
55
import { getValidationErrorMessage, parseRequest } from '@/lib/api/server'
66
import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid'
77
import { generateRequestId } from '@/lib/core/utils/request'

‎apps/sim/app/api/tools/a2a/get-agent-card/route.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { createLogger } from '@sim/logger'
22
import { type NextRequest, NextResponse } from 'next/server'
33
import { createA2AClient } from '@/lib/a2a/utils'
4-
import { a2aGetAgentCardContract } from '@/lib/api/contracts/tools/internal/a2a'
4+
import { a2aGetAgentCardContract } from '@/lib/api/contracts/tools/a2a'
55
import { getValidationErrorMessage, parseRequest } from '@/lib/api/server'
66
import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid'
77
import { generateRequestId } from '@/lib/core/utils/request'

‎apps/sim/app/api/tools/a2a/get-push-notification/route.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { createLogger } from '@sim/logger'
22
import { type NextRequest, NextResponse } from 'next/server'
33
import { createA2AClient } from '@/lib/a2a/utils'
4-
import { a2aGetPushNotificationContract } from '@/lib/api/contracts/tools/internal/a2a'
4+
import { a2aGetPushNotificationContract } from '@/lib/api/contracts/tools/a2a'
55
import { getValidationErrorMessage, parseRequest } from '@/lib/api/server'
66
import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid'
77
import { generateRequestId } from '@/lib/core/utils/request'

‎apps/sim/app/api/tools/a2a/get-task/route.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { Task } from '@a2a-js/sdk'
22
import { createLogger } from '@sim/logger'
33
import { type NextRequest, NextResponse } from 'next/server'
44
import { createA2AClient } from '@/lib/a2a/utils'
5-
import { a2aGetTaskContract } from '@/lib/api/contracts/tools/internal/a2a'
5+
import { a2aGetTaskContract } from '@/lib/api/contracts/tools/a2a'
66
import { getValidationErrorMessage, parseRequest } from '@/lib/api/server'
77
import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid'
88
import { generateRequestId } from '@/lib/core/utils/request'

‎apps/sim/app/api/tools/a2a/resubscribe/route.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import type {
99
import { createLogger } from '@sim/logger'
1010
import { type NextRequest, NextResponse } from 'next/server'
1111
import { createA2AClient, extractTextContent, isTerminalState } from '@/lib/a2a/utils'
12-
import { a2aResubscribeContract } from '@/lib/api/contracts/tools/internal/a2a'
12+
import { a2aResubscribeContract } from '@/lib/api/contracts/tools/a2a'
1313
import { getValidationErrorMessage, parseRequest } from '@/lib/api/server'
1414
import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid'
1515
import { generateRequestId } from '@/lib/core/utils/request'

‎apps/sim/app/api/tools/a2a/send-message/route.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { toError } from '@sim/utils/errors'
44
import { generateId } from '@sim/utils/id'
55
import { type NextRequest, NextResponse } from 'next/server'
66
import { createA2AClient, extractTextContent, isTerminalState } from '@/lib/a2a/utils'
7-
import { a2aSendMessageContract } from '@/lib/api/contracts/tools/internal/a2a'
7+
import { a2aSendMessageContract } from '@/lib/api/contracts/tools/a2a'
88
import { getValidationErrorMessage, parseRequest } from '@/lib/api/server'
99
import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid'
1010
import { validateUrlWithDNS } from '@/lib/core/security/input-validation.server'

0 commit comments

Comments
 (0)