Skip to content

Commit a303346

Browse files
committed
feat: Add checking package.json for plugins
1 parent 1e91cf1 commit a303346

File tree

39 files changed

+139
-85
lines changed

39 files changed

+139
-85
lines changed

.cursor/rules/backend/backend.mdc

Lines changed: 0 additions & 8 deletions
This file was deleted.

.cursor/rules/docs.mdc

Lines changed: 0 additions & 13 deletions
This file was deleted.

.cursor/rules/frontend/frontend.mdc

Lines changed: 0 additions & 10 deletions
This file was deleted.

.cursor/rules/frontend/i18n.mdc

Lines changed: 0 additions & 9 deletions
This file was deleted.

.cursor/rules/global.mdc

Lines changed: 0 additions & 15 deletions
This file was deleted.

.github/copilot-instructions.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# VitNode Development Guidelines
2+
3+
VitNode is a comprehensive framework designed to simplify and accelerate application development with Next.js and Hono.js. Built as a monorepo solution managed by Turborepo, VitNode provides a structured environment that makes development faster and less complex. The framework includes an integrated AdminCP and plugin system to extend its core functionality.
4+
5+
## Global Rules
6+
7+
- Write ESModule only
8+
- Always use snake_case for file names
9+
- Use pnpm as package manager
10+
- Use Zod 3 for schema validation
11+
- Use react-hook-form 7 for forms
12+
- Use Shadcn UI & Tailwind CSS 4 for UI
13+
- Respect Prettier configuration in `packages/eslint/prettierrc.mjs` and ESLint configuration in `packages/eslint/eslint.config.mjs`
14+
- Use TypeScript 5, React 19 & Hono.js 4
15+
16+
## Frontend Development (Next.js & React)
17+
18+
- Use Next.js 15
19+
- Use App Router and Server Components
20+
- Use server actions for form handling and data mutations from Server Components
21+
- Leverage Next.js Image component with proper sizing for core web vitals optimization
22+
- Navigation API is in `vitnode/lib/navigation` file. Avoid using `next/navigation` directly
23+
24+
### Internationalization (i18n)
25+
26+
- Use `next-intl` for internationalization
27+
- Use `t('key')` for translation keys
28+
- Use `getTranslation` function for server components but `useTranslation` for client components
29+
- Language keys should be added in `apps/web/src/plugins/core/langs/en.json` file
30+
31+
## Backend Development (Hono.js)
32+
33+
- Use @hono/zod-openapi or Zod 3 for schema validation
34+
- Use PostgreSQL with Drizzle ORM
35+
- Use `t.serial().primaryKey()` for all database IDs
36+
37+
## Documentation (\*.mdx files)
38+
39+
- Use Fumadocs framework
40+
- Write docs in `.mdx` files
41+
- `apps/docs/content/docs/dev/index.mdx` contains the main documentation
42+
- Use easy, clear and funny language for documentation to make it accessible to a wide audience (exclude title and description)
43+
- Use clear and concise examples to illustrate concepts
44+
- Use `// [!code ++]` to highlight code snippets and `// [!code --]` to hide code snippets
45+
- Don't add h1 tag in markdown
46+
- Don't use emoji on headings

apps/web/src/app/[locale]/(main)/(plugins)/(blog)/blog/page.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import { Link } from 'vitnode/lib/navigation';
2+
13
import { Test } from 'vitnode-blog/views/test';
24
import { TestClient } from 'vitnode-blog/views/test/client';
3-
import { Link } from 'vitnode/lib/navigation';
45

56
export default function Page() {
67
return (
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Link } from 'vitnode/lib/navigation';
2+
3+
export default function Page() {
4+
return (
5+
<>
6+
<Link href="/blog">Go to blog</Link>
7+
</>
8+
);
9+
}

apps/web/src/app/[locale]/(main)/(vitnode)/login/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { Metadata } from 'next/dist/types';
22

33
import { getTranslations } from 'next-intl/server';
4+
45
import { SignInView } from 'vitnode/views/auth/sign-in/sign-in-view';
56

67
export const generateMetadata = async ({

apps/web/src/app/[locale]/(main)/(vitnode)/register/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { Metadata } from 'next/dist/types';
22

33
import { getTranslations } from 'next-intl/server';
4+
45
import { SignUpView } from 'vitnode/views/auth/sign-up/sign-up-view';
56

67
export const generateMetadata = async ({

0 commit comments

Comments
 (0)