Check to see if you are inside the repository:
git statusIf you see an error message like fatal: not a git repository, then use GitHub CLI to fork the repository:
gh repo fork open-audio-stack/open-audio-stack-core --clone
cd open-audio-stack-coreEnsure you are on the main branch and up-to-date with changes:
git checkout main
git pull
npm installThen continue to step 2.
Create a new branch for your contribution. Use descriptive branch names following these conventions:
feature/feature-namefor new featuresfix/fix-namefor bug fixes
Edit TypeScript/JavaScript files in the codebase using your tools. Ensure changes follow the project's coding standards, enforced by Prettier (.prettierrc.json) for code formatting, ESLint (eslint.config.js) for linting, and Vitest (vitest.config.ts) for the test suite.
Then proceed to step 3.
Run the check command which will run code formatting, linting, tests and build commands to validate the changes:
npm run checkVerify that all tests pass and there are no linting errors.
Return a summary of the changes to the user for them to read/review.
Ask user for [Y/N] approval to proceed to Commit Changes, Push Changes and Submit Pull Request.
- If the user answers Yes or Y, continue to step 4.
- If the user answers No or N, ask them what changes they would like to make, and iterate until they are happy with the result, each time asking for approval before continuing to step 4.
Stage and commit your changes. Use descriptive commit messages with prefixes following these conventions:
[feature]for new features[fix]for bug fixes
Example:
git add .
git commit -m "[feature] Feature name. Add descriptive commit message for your changes"Push the branch to your forked repository:
git push origin feature/your-contribution-nameCreate a pull request using GitHub CLI:
gh pr create --title "Your PR Title" --body "Description of your changes"Then proceed to step 5.
Respond to the user that the contribution has been submitted for review, with the url to the PR for them to view.