Thank you for wanting to contribute to this project. Here you can learn how to do it.
This project is a monorepo, which means there is multiple projects (Documentation and utility class components registry) within this project.
Documentation is inside apps/docs
and utility class components registry is inside apps/util-registry
.
Documentation site is hosted on neobrutalism.dev
, and it's used for docs obviously and css variables components registry, while the other project is used for utility class components registry. Utility class components registry is hosted on util.neobrutalism.dev
.
src
├── app
└── components
├── app
├── css-vars
├── examples
├── ui
└── data
├── colors.ts
├── components.ts
├── reviews.ts
├── showcase.ts
├── sidebar-links.ts
├── templates.ts
├── theme.jsonc
├── lib/utils.ts
├── layouts
├── markdown
├── styling
registry.json
app
- All pages are inside this directory.components/app
- Components for the website.components/ui
- Components that will be displayed on each component page in code blocks (utility classes).components/css-vars
- Components that will be displayed on each component page in code blocks (css variables).components/examples
- Components examples that will be displayed on each component page (components above code blocks).data/components.ts
- Array of all components and their markdown files.data/theme.jsonc
- Theme for code blocks.lib/utils.ts
- Utility functions.markdown
- All mdx files are here. They will be imported from/app
.registry.json
- This json file is used for building components registry.
The rest of the files are pretty much self-explanatory.
src
└── scripts
├── rm.ts
registry.json
registry.json
- This json file is used for building components registry.scripts/rm.ts
- Used for removing all components and hooks after we build the registry.
You can fork this repo by clicking the fork button in the top right corner of the repo page.
git clone https://github.com/your-username/neobrutalism-components.git
git checkout -b my-new-branch
pnpm install
pnpm run dev:docs
pnpm run dev:util
pnpm run dev
There's no commit/branch naming convention. Just make sure they briefly describe themselves.
Please either make an issue on github or contact me on twitter and we can talk about it, thanks.
You'll be adding new component inside docs project.
Make a new utility classes component (we'll be converting later to css variables component inside src/components/css-vars
with a script).
pnpm run generate-cssvars-components
pnpm run registry:build
pnpm run copy
pnpm run registry:build
Try installing it like this to test it:
pnpm dlx shadcn@latest add https://localhost:3000/r/your-component.json
pnpm dlx shadcn@latest add https://localhost:3001/r/your-component.json
This is assuming docs project would be on port 3000, and util-registry on 3001.
If you'd like to add your neobrutalism templates to this project, here is how you can do it.
- Template must be made for React, or React compatible frameworks (Next.js, Astro, Gatsby, etc.)
- Template must be written in Tailwind CSS
- Template must be original (you can create templates for existing use cases, but make sure they are original)
Message me on twitter or send me an email @ samuelbreznjak35@gmail.com, and I'll send you an invite for neobrutalism-templates organization. All templates are inside this organization.
Choose one of these starter templates for your template:
As I said earlier make sure it looks good. Check the articles section in the resources page or dribble/behance for inspiration.
After you're done add a brief guide to readme on how to use the template. Contact me after you're done, and hopefully I'll add your template to this project (with credits and so on).