아이디어 정리, 구현, 오류 조사에 맞는 관련 스킬과 사용 순서를 안내합니다. 작업의 규모와 단계에 따라 다음 절차를 선택하도록 돕습니다.
- 아이디어부터 구현까지의 절차 선택
- 오류 조사를 시작할 지점 찾기
- 여러 세션에 걸친 개발 진행 방식 상담
Replace TypeScript type assertions in tests with functions from @total-typescript/shoehorn. Use partial objects when only a few properties matter, or deliberately invalid data for error tests, then run a type check to verify the migration.
한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
shoehorn lets you pass partial data in tests while keeping TypeScript happy. It replaces as assertions with type-safe alternatives.
Test code only. Never use shoehorn in production code.
Problems with as in tests:
as unknown as Type) for intentionally wrong datanpm i @total-typescript/shoehorn
Before:
type Request = {
body: { id: string };
headers: Record<string, string>;
cookies: Record<string, string>;
// ...20 more properties
};
it("gets user by id", () => {
// Only care about body.id but must fake entire Request
getUser({
body: { id: "123" },
headers: {},
cookies: {},
// ...fake all 20 properties
});
});
After:
import { fromPartial } from "@total-typescript/shoehorn";
it("gets user by id", () => {
getUser(
fromPartial({
body: { id: "123" },
}),
);
});
as Type → fromPartial()Before:
getUser({ body: { id: "123" } } as Request);
After:
import { fromPartial } from "@total-typescript/shoehorn";
getUser(fromPartial({ body: { id: "123" } }));
as unknown as Type → fromAny()Before:
getUser({ body: { id: 123 } } as unknown as Request); // wrong type on purpose
After:
import { fromAny } from "@total-typescript/shoehorn";
getUser(fromAny({ body: { id: 123 } }));
| Function | Use case |
|---|---|
fromPartial() | Pass partial data that still type-checks |
fromAny() | Pass intentionally wrong data (keeps autocomplete) |
fromExact() | Force full object (swap with fromPartial later) |
Gather requirements - ask user:
as assertions causing problems?Install and migrate:
npm i @total-typescript/shoehornas assertions: grep -r " as [A-Z]" --include="*.test.ts" --include="*.spec.ts"as Type with fromPartial()as unknown as Type with fromAny()@total-typescript/shoehorn아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
아이디어 정리, 구현, 오류 조사에 맞는 관련 스킬과 사용 순서를 안내합니다. 작업의 규모와 단계에 따라 다음 절차를 선택하도록 돕습니다.
한 세션에서 장기 목표를 향해 여러 하위 에이전트의 작업을 조율합니다. 사용자와 대화를 이어가면서 다음 작업에도 도움이 될 환경과 공통 규칙을 개선합니다.
진행 중인 대화를 인계용으로 요약하고 민감한 정보를 제외한 뒤 새 백그라운드 에이전트에 전달합니다. 다음 작업의 초점과 참고 자료를 정리해 현재 작업 위치에서 이어 갑니다.
지정한 커밋이나 브랜치를 기준으로 코드 변경을 검토합니다. 문서화된 개발 규칙 준수와 요구 사항 구현을 별도로 확인하고 두 관점의 지적 사항을 나누어 보고합니다.
호출자가 익혀야 할 사용법은 줄이고 복잡한 처리는 내부에 모으는 모듈 설계를 돕습니다. 공통 용어와 판단 기준으로 사용 편의성과 테스트 용이성을 검토합니다.
재현하기 어려운 오류와 성능 저하를 증상 감지 테스트나 스크립트로 조사합니다. 원인 후보를 검증하고 수정한 뒤 재발 방지 테스트까지 확인합니다.