nuxt-features
1
总安装量
1
周安装量
#53105
全站排名
安装命令
npx skills add https://github.com/leeovery/claude-nuxt --skill nuxt-features
Agent 安装分布
amp
1
opencode
1
kimi-cli
1
codex
1
gemini-cli
1
Skill 文档
Nuxt Features
Domain-based feature modules with three-layer pattern: queries, mutations, actions.
Core Concepts
queries.md – Reactive data fetching with filters mutations.md – Pure API operations with loading states actions.md – Business logic with UI feedback
Pattern Flow
Component â Action â Mutation â Repository â API
â
Query (reactive data fetching)
Directory Structure
features/{domain}/
âââ queries/
â âââ get-posts-query.ts # List with filters
â âââ get-post-query.ts # Single item
âââ mutations/
â âââ create-post-mutation.ts
â âââ update-post-mutation.ts
â âââ delete-post-mutation.ts
âââ actions/
âââ create-post-action.ts
âââ update-post-action.ts
âââ delete-post-action.ts
Quick Examples
Query – Reactive data fetching:
export default function getPostsQueryFactory() {
const postApi = useRepository('posts')
return (filters: MaybeRef<GetPostsFilters>) => {
return useFilterQuery('posts', () => postApi.list(params), filters)
}
}
Mutation – Pure API call:
export default function createPostMutationFactory() {
const postApi = useRepository('posts')
const { start, stop, waitingFor } = useWait()
return async (data: CreatePostData) => {
start(waitingFor.posts.creating)
try { return (await postApi.create(data)).data }
finally { stop(waitingFor.posts.creating) }
}
}
Action – Business logic + UI:
export default function createPostActionFactory() {
const createPost = createPostMutationFactory()
const flash = useFlash()
return async (data: CreatePostData) => {
const post = await createPost(data)
flash.success('Post created!')
return post
}
}