https://github.com/rdani2005/strapi-portfolio
This is going to be a personal portfolio using Next and Strapi
https://github.com/rdani2005/strapi-portfolio
next nextjs pnpm-monorepo pnpm-workspaces react strapi strapi-cms
Last synced: about 1 month ago
JSON representation
This is going to be a personal portfolio using Next and Strapi
- Host: GitHub
- URL: https://github.com/rdani2005/strapi-portfolio
- Owner: Rdani2005
- License: mit
- Created: 2025-05-12T18:02:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-20T17:21:23.000Z (12 months ago)
- Last Synced: 2025-06-20T18:32:22.317Z (12 months ago)
- Topics: next, nextjs, pnpm-monorepo, pnpm-workspaces, react, strapi, strapi-cms
- Language: TypeScript
- Homepage:
- Size: 1.74 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @strapi-portfolio Monorepo





This is a monorepo managed with [pnpm](https://pnpm.io/) that includes a headless CMS powered by Strapi and a frontend application built with Next.js. The structure supports scalable development using reusable packages and shared tooling.
## 🧰 Tooling
- **Monorepo manager**: [pnpm Workspaces](https://pnpm.io/workspaces)
- **Frontend**: [Next.js](https://nextjs.org/)
- **CMS**: [Strapi](https://strapi.io/)
- **Linting**: [ESLint](https://eslint.org/)
- **Formatting**: [Prettier](https://prettier.io/)
- **Git hooks**: [Husky](https://typicode.github.io/husky/)
- **Pre-commit checks**: [lint-staged](https://github.com/okonet/lint-staged)
---
## 🚀 Available Scripts
From the root of the monorepo, you can run:
| Command | Description |
| -------------- | ----------------------------------------- |
| `pnpm install` | Install all workspace dependencies |
| `pnpm dev` | Start dev mode (run this inside each app) |
| `pnpm format` | Format code using Prettier |
| `pnpm lint` | Run ESLint (fails on warnings or errors) |
| `pnpm prepare` | Initialize Husky for Git hooks |
---
## ✅ Linting & Formatting Rules
- `ESLint` and `Prettier` are integrated.
- The following file types are automatically checked and formatted on commit:
- JavaScript, TypeScript, JSX, TSX: `*.{js,cjs,mjs,ts,jsx,tsx}`
- JSON, Markdown, CSS: `*.{json,md,css}`
These checks are powered by `lint-staged` and enforced via Husky Git hooks.
---
## 📦 Package Publishing
The packages inside `packages/` are internal by default, but can be configured for external publishing if needed.
---
## 📄 License
[MIT](LICENSE) © [Rdani2005](https://rdani2005.com)