Thank you for your interest in contributing to ArcLock Project! This guide will help you get started with the development process.
You're welcome to use AI tools to help you contribute. But there are two important ground rules:
When you write a comment, issue, or PR description, use your own words. Grammar and spelling don't matter – real connection does. AI-generated summaries tend to be long-winded, dense, and often inaccurate. Simplicity is an art. The goal is not to sound impressive, but to communicate clearly.
Feel free to use AI to write code, tests, or point you in the right direction. But always understand what it's written before contributing it. Take personal responsibility for your contributions. Don't say "ChatGPT says..." – tell us what you think.
PRs that we consider fully vibe-coded may be closed without further explanation.
For more context, see Using AI in open source.
We hold the same belief as github.com/antfu/contribute and thus we too abide by same said etiquette.
- Node: ^20.20.0
- PNPM: ^10.28.2
- Recommended to use NVM and do
nvm install 20 && nvm use 20
- Fork the repository
- Clone your fork:
git clone https://github.com/ArcLockProject/mono.git - Navigate to the project directory:
cd mono - Install dependencies:
pnpm install - Build packages and run dev docusaurus:
pnpm run dev
pnpm run docs:dev - This starts a docusaurus site at http://localhost:3000 to test components in real-time.
pnpm run packages:build - This builds all packages.
pnpm run dev - This runs packages:build then docs:dev.
- Create a new branch:
git checkout -b feat/your-feature-name - Start development mode:
pnpm run dev - Make your changes and test them live in the components dedicated index.stories.tsx
- Check and fix code style and formatting issues:
pnpm run typecheck - Build the storybook app:
pnpm run docs:build - Commit your changes using the conventions below
- Push your branch to your fork
- Open a pull request
We follow Conventional Commits for clear and structured commit messages:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style changes (formatting, etc.)refactor:Code changes that neither fix bugs nor add featuresperf:Performance improvementstest:Adding or updating testschore:Maintenance tasks, dependencies, etc.
Current Scopes:
(docs)Docusaurus documentation(common)@arclockproject/common(mmd-player)@arclockproject/mmd-player(mono)For anything else outside those scopes. Generally monorepo related.
- Update documentation if needed
- Ensure all tests pass
- Address any feedback from code reviews
- Once approved, your PR will be merged
Please be respectful and constructive in all interactions within our community.
If you have any questions, please open an issue for discussion.
Thank you for contributing to @arclockproject!