We're so excited you're interested in helping with Oku! We are happy to help you get started, even if you don't have any previous open-source experience 😊
- Take a look at How to Contribute to an Open Source Project on GitHub
- Check our Github Issues to see if someone has already answered your question.
- Join our community on Discord and feel free to ask us your questions
- [Min Nodejs 18] & PNPM > 8.7.0 installed
- IDE: VSCode(recommended) or equivalent IDE
Note: If you have nvm, you can run nvm i
to install the required version.
Note: What is Terminals Maganger and Commands -> oku-ui#34 (comment)
- Fork the oku-ui repository
- Install the project dependencies
pnpm install
- Build the project
pnpm build
pnpm story
Vue components or utils package, go topackages/vue/src
change. Storybook live reload support.
Note: If only working on the core package
pnpm dev label # Run only label component (packages/components) check files name
pnpm dev core utils # Run only core and utils package (packages/core) check files name
pnpm build label # Build only label component (packages/components) check files name
pnpm build core utils # Build only core and utils package (packages/core) check files name
pnpm dev
pnpm build # Build all packages with cache (packages/components)
pnpm build:skip # Build without cache (packages/components)
pnpm story # Run Storybook and live reload support (packages/vue/src)
pnpm build:storybook # Build Storybook
pnpm lint # Run ESLint
pnpm lint:fix # Run ESLint and fix errors
pnpm test # Run tests
pnpm test:watch # Run tests in watch mode
pnpm test testfilename # Run a specific test file name
pnpm play # Run the playground
pnpm play:vue # Run the playground with Vue
pnpm play:nuxt # Run the playground with Nuxt
pnpm play:gencomponents # Run the playground with GenComponents
pnpm clean: all # Clean all node_modules
pnpm clean:dist # Clean dist folder in all packages
pnpm clean:dts # Clean dts folder in all packages
pnpm oku # Run Oku CLI (packages/cli) // pnpm oku publish (publish packages)
- We use Vitest for testing
- To run the tests
pnpm test
- Watch mode
pnpm test:watch
- To run a specific test file name
pnpm test testfilename
- Watch mode for a specific test file name
pnpm test:watch testfilename
- To run the linter
pnpm lint
- All linting errors will be automatically fixed on commit
pnpm lint:fix
- Before submitting a pull request make sure all tests have passed
- Reference the relevant issue or pull request and give a clear description of changes/features added when submitting a pull request
- Make sure the PR title follows conventional commits specification
Oku is made possible by a passionate team and a strong community of developers. If you have any questions or would like to get more involved in the Oku community you can check out: