A comprehensive Nuxt Layer providing reusable components, composables, layouts, and utilities for Finework applications.
npm install @finema/finework-layerA comprehensive Nuxt Layer providing reusable components, composables, layouts, and utilities for Finework applications.


- Quick Start Guide - Get started in 5 minutes
- Component Examples - Real-world usage examples
- API Reference - Complete API documentation
- Architecture - System design and patterns
- Troubleshooting - Common issues and solutions
- LLM Guide - Comprehensive guide for AI code generation
- ā
Authentication System - Complete auth flow with permissions
- ā
Layout Components - Admin and User layouts
- ā
Data Loading - Smart loading states with StatusBox
- ā
Form Handling - Validation with Valibot
- ā
Type Safety - Full TypeScript support
- ā
Auto-imports - Components, composables, and constants
- ā
Middleware - Auth, permissions, and route guards
- ā
UI Components - Built on @nuxt/ui
``bash`
pnpm add @finema/finework-layer
`typescript
// nuxt.config.ts
export default defineNuxtConfig({
extends: ["@finema/finework-layer"],
runtimeConfig: {
public: {
baseAPI: process.env.NUXT_PUBLIC_BASE_API,
},
},
});
`
`vue
Welcome, {{ data.name }}!
`
``
@finema/finework-layer/
āāā app/
ā āāā components/ # Reusable components
ā ā āāā Button/ # Button variants
ā ā āāā Layout/ # Layout components
ā ā āāā InfoItemList.vue
ā ā āāā StatusBox.vue
ā āāā composables/ # Vue composables
ā ā āāā useAuth.ts
ā ā āāā useRequestOptions.ts
ā āāā constants/ # App constants
ā ā āāā routes.ts
ā āāā middleware/ # Route middleware
ā ā āāā auth.ts
ā ā āāā permissions.ts
ā ā āāā guest.ts
ā āāā app.config.ts # App configuration
āāā .playground/ # Development playground
āāā docs/ # Documentation
Handles loading, error, and empty states automatically.
`vue`
Display key-value information in a clean layout.
`vue`
{ label: 'Name', value: user.name },
{ label: 'Email', value: user.email },
{ label: 'Active', value: user.is_active, type: 'boolean' },
]"
/>
Pre-built layouts for admin and user interfaces.
`vue`
Built-in authentication system with permission management.
`typescript
const auth = useAuth();
// Check authentication
if (auth.isAuthenticated.value) {
console.log("User:", auth.me.value);
}
// Check permissions
if (auth.hasPermission(UserModule.PMO, Permission.ADMIN)) {
// User has PMO admin access
}
`
`bashInstall dependencies
pnpm install
$3
The
.playground directory is used for development and testing. It imports the layer itself, allowing you to test changes in real-time.`bash
Start playground
pnpm dev
`š Publishing
`bash
Update version and create changelog
pnpm releaseOr manually
npm publish --access public
``1. Create a feature branch
2. Make your changes
3. Run tests and linting
4. Submit a pull request
MIT License - see LICENSE file for details
- Nuxt Documentation
- Nuxt UI Documentation
- @finema/core
For issues and questions:
1. Check the Troubleshooting Guide
2. Review Component Examples
3. Consult the API Reference
---
Version: 0.2.50
Last Updated: 2025-11-07
Maintained by: Finema Team