Agent Skills
› fmaclen/canutin
› architecture
architecture
GitHub描述 Canutin 项目的整体架构,涵盖 SvelteKit 前端、PocketBase 后端、i18n 配置及核心命令。
Trigger Scenarios
询问项目技术栈
查询代码目录结构
了解数据流与路由组织
Install
npx skills add fmaclen/canutin --skill architecture -g -y
SKILL.md
Frontmatter
{
"name": "architecture",
"description": "How the codebase is organized: stack, structure, data flow, layout"
}
Architecture
Canutin is a SvelteKit + PocketBase personal finance application using Bun.
Backend: PocketBase
- Dev server URL, ports, and start commands: see local-servers.
- Types are generated in
src/lib/pocketbase.schema.ts. - Custom Go hooks for balance calculations live in
pocketbase/main.go. - Core collections: accounts, transactions, assets, assetBalances, accountBalances, balanceTypes, transactionLabels, accountShares, assetShares, users.
Frontend: SvelteKit with Svelte 5
Context stores live in src/lib/*.svelte.ts:
auth.svelte.ts- authentication statepocketbase.svelte.ts- PocketBase client wrapperaccounts.svelte.ts- account data with realtime updatesassets.svelte.ts- asset trackingtransactions.svelte.ts- transaction filtering and paginationbalance-types.svelte.ts- chart of accounts typescashflow.svelte.ts- cashflow calculations
Route structure:
src/routes/(app)/- protected routes that require authsrc/routes/(guest)/- public routes, including auth pages
i18n
- Paraglide JS via Inlang.
- Locales: English (
en) and Spanish (es). - Messages are imported from
$lib/paraglide/messages.js.
Commands
bun run quality # Format + lint + type-check
bun run test # Playwright E2E tests (desktop + mobile)
bun run build # Production build
bun run pb # PocketBase backend
Server ownership, ports, and start/stop rules live in the local-servers skill.
Version History
- 28eb754 Current 2026-09-23 01:21


