Resources
Contributing
How to contribute to Arkpad.
We welcome contributions! This guide will help you set up your development environment and understand the contribution process.
Prerequisites
- Node.js v20 or higher
- npm v10 or higher
- Git
- A code editor (VS Code recommended)
Setup
1. Fork and Clone
git clone https://github.com/arkcabin/arkpad.git
cd arkpad2. Install Dependencies
npm install3. Build Packages
npm run build -w @arkpad/core4. Run the Dev Server
npm run devDevelopment Workflow
Branch Strategy
main— Stable release branch- Create feature branches from
main - Use descriptive names:
feat/extension-name,fix/bug-description
Code Style
- TypeScript strict mode with
noUncheckedIndexedAccess - Follow existing code patterns and conventions
- Use Prettier for formatting:
npm run format - Run ESLint:
npm run lint
Testing
npm run test # Run core tests
npm run test:all # Run all tests including extensionsType Checking
npm run build -w @arkpad/core
npm run typecheck --workspacesPull Request Process
- Ensure your code builds and passes all tests
- Update documentation if adding new features
- Include tests for new functionality
- Describe your changes clearly in the PR description
- Reference any related issues
PR Checklist
- Code builds successfully
- All tests pass
- TypeScript type checks pass
- Linting passes
- Documentation updated (if applicable)
- Tests added (if applicable)
Package Structure
packages/
├── core/ # Core editor engine
├── react/ # React component wrapper
├── extension-*/ # Individual extensions
├── starter-kit/ # Meta-package
apps/
├── arkpad/ # Demo application
└── docs/ # Documentation siteNeed Help?
Open an issue on GitHub for bugs, feature requests, or questions.