AgentSkillsCN

Namespace Aliases

导入路径别名(@Ciri 用于后端,@Jade 用于前端,@arcade 用于端到端测试)

SKILL.md
--- frontmatter
description: Import path aliases (@Ciri for BE, @Jade for FE, @arcade for E2E)
category: Convention
boundary: Monorepo (be/, fe/, e2e/)
version: 2.2

Namespace Aliases

Use short namespace imports to avoid deep relative paths.

Backend: @Ciri

Applies to: code inside be/core

typescript
// ✅ Do this
import { UserService } from "@Ciri/services/user.service";

// ❌ Not this
import { UserService } from "../../../services/user.service";

Config:

  • be/tsconfig.jsonpaths: { "@Ciri/*": ["core/*"] }

Exception: Keep Prisma imports as relative paths:

typescript
import { prisma } from "../generated/prisma/client";

Frontend: @Jade

Applies to: code inside fe/src

typescript
// ✅ Do this
import CommonButton from "@Jade/core-design/input/CommonButton";

// ❌ Not this
import CommonButton from "../../core-design/input/CommonButton";

Config:

  • fe/tsconfig.app.jsonpaths: { "@Jade/*": ["*"] }
  • fe/vite.config.tsresolve.alias["@Jade"] = src

Exception: Library imports stay as package names:

typescript
import { useQuery } from "@tanstack/react-query";

E2E: @arcade

Applies to: code inside e2e/

typescript
// ✅ Do this
import { logger } from "@arcade/support/utils/logger";

// ❌ Not this
import { logger } from "../support/utils/logger";

Config:

  • e2e/tsconfig.jsonpaths: { "@arcade/*": ["*"] }

Quick Reference

WorkspaceAliasBase Path
Backend@Ciri/*be/core/*
Frontend@Jade/*fe/src/*
E2E@arcade/*e2e/*