Guides Fulldev client projects using Astro, Fulldev UI, content/schema/layout architecture, reusable components, blocks, theming, and shadcn-compatible Fulldev registry installs.
Use when working in Fulldev client projects, installing or composing @fulldev components, shaping content-driven Astro pages, or deciding where project responsibilities belong.
Stronger alternatives
This repository is archived — consider an actively maintained alternative.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars604
Default branchmain
Open issues1
Status
Archived
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md8,416 B
docsSUMMARY.md370 B
History
First seen on skills.sh
First recorded snapshot · 44 installs
SKILL.md
Fulldev
Fulldev projects are content-driven Astro sites that use Fulldev UI components through the shadcn-compatible @fulldev registry. This skill is for using Fulldev in client projects, not for maintaining the Fulldev UI registry itself.
Project Model
Inspect the current repo before enforcing conventions. Fulldev architecture is the target for client projects, but do not silently migrate an existing different architecture.
Before changing core doctrine around content/schema/layout separation, layout-owned orchestration, component/block boundaries, or Fulldev UI usage, surface the tradeoff first.
Principles
Preserve ownership boundaries. Content owns authored copy and semantic configuration; schemas own contracts; layouts own page orchestration; components and blocks own DOM, behavior, accessibility, styling, and implementation details.
Keep routes and shell boring.src/pages/[...page].astro stays a handoff route, src/components/layout-renderer.astro stays generic, and src/layouts/base.astro stays shell-only.
Install before inventing. Prefer existing @fulldev components through the shadcn CLI before creating local reusable UI.
Compose locally when needed. Project-specific components and blocks are fine, but they are local application code, not Fulldev registry items.
Keep the feedback loop light. During development, prefer a running dev server and occasional log checks. Save full build/check validation for release prep or clearly risky changes.
Critical Rules
These rules are always enforced. Load the linked file for detailed examples and edge cases.
Do not add page orchestration to routes, content files, base.astro, or reusable blocks.
Do not move implementation details into content.
Do not create local reusable UI before checking whether a Fulldev component already exists.
Do not silently restructure a client project into Fulldev architecture without surfacing the migration.
Workflows
Standard Change
Identify the touched responsibility tier.
Load the matching rule files from rules/.
Inspect nearby implementation and existing naming/composition patterns.
Make the smallest coherent change that preserves the project architecture.
Use the dev server/logs for feedback when presentation or routing is affected.
Run full validation only for release prep, risky structural changes, or when the user asks.
Add Fulldev UI to a Project
Load cli.md and customization.md.
Inspect whether the project already has components.json.
If needed, initialize shadcn-compatible component installation.
Ensure @fulldev is configured as a registry.
Install requested components with npx shadcn@latest add @fulldev/<name>.
Read installed files and adapt imports only when the project requires it.
New or Changed Page Type
Load rules/source-ownership.md, rules/layouts.md, and rules/validation.md.
Add or update the layout schema in src/schemas/layouts.
Add it to the union in src/schemas/page.ts.
Create or update the layout in src/layouts.
Add or update content under src/content/pages.
Keep route files unchanged.
Local Component or Block
Check whether an existing @fulldev component covers the need.
Load rules/components.md or rules/blocks.md.
Keep the API small, semantic, and content-first.
Keep content and schema concerns out of reusable components/blocks.
Treat the result as local app code unless repo-specific instructions say otherwise.
Docs or Examples
Load the rules for the thing being documented.
Treat docs as descriptions of the API, not the source of truth for the API.
If docs and implementation disagree, fix the implementation or local contract first.
Progressive Disclosure
Detailed project doctrine lives in rules/. Load only the files relevant to the current change:
rules/source-ownership.md for src/content, src/schemas, content schemas, icons, and content/code boundaries.
rules/layouts.md for src/layouts, src/components/layout-renderer.astro, src/layouts/base.astro, and src/pages/[...page].astro.
rules/components.md for src/components/ui, local reusable UI, Fulldev component usage, and Astro component conventions.
rules/blocks.md for src/components/blocks, block prop naming, block portability, and layout-to-block mapping.
cli.md for installing Fulldev UI through shadcn-compatible tooling.
customization.md for theming, CSS variables, and component customization.
mcp.md for using shadcn-compatible MCP tooling with the @fulldev registry.
rules/validation.md before finishing changes, to choose the right pnpm commands.
rules/anti-patterns.md when reviewing architecture, investigating drift, or deciding whether a proposed shortcut violates Fulldev doctrine.
If a change crosses boundaries, load every relevant file. Component installation commonly needs cli.md, customization.md, rules/components.md, and rules/validation.md.