diff --git a/README.md b/README.md index 568ca0bda..f5ba731cd 100644 --- a/README.md +++ b/README.md @@ -51,5 +51,10 @@ For comprehensive guides, API references, and examples, refer to our [official d Join our vibrant community for support, discussions, and updates: + +## How to Contribute + +We welcome contributions from the community! Please refer to our [contributing guidelines](https://docs.synpress.io/docs/contribution). + - [Discord](https://discord.gg/XhZKSRGtWc) - [X (formerly Twitter)](https://twitter.com/Synpress_) diff --git a/docs/.vitepress/sidebar.ts b/docs/.vitepress/sidebar.ts index 329f62f67..52274c2c0 100644 --- a/docs/.vitepress/sidebar.ts +++ b/docs/.vitepress/sidebar.ts @@ -31,6 +31,10 @@ export const sidebar: DefaultTheme.Sidebar = { { text: 'Built-in Fixtures', link: '/docs/guides/fixtures' }, { text: 'CI', link: '/docs/guides/ci' } ] + }, + { + text: 'Contribution', + items: [{ text: 'Contribution Guide', link: '/docs/contribution' }] } ], '/api/': TypedocSidebar diff --git a/docs/docs/contribution.md b/docs/docs/contribution.md new file mode 100644 index 000000000..4cae42d14 --- /dev/null +++ b/docs/docs/contribution.md @@ -0,0 +1,73 @@ +# Contributing to Synpress + +This guide will help you set up Synpress for local development. + +## Prerequisites + +Before you begin, ensure you have: +- Node.js (v20 or higher) +- pnpm (v9 or higher) +- Git + +## First Setup + +1. Clone the repository: + ```bash + git clone https://github.com/Synthetixio/synpress.git + cd synpress + ``` + +2. Install dependencies: + ```bash + pnpm install + ``` + +3. Build the project: + ```bash + pnpm build + ``` + +## Development Workflow + +1. Create a new branch for your changes: + ```bash + git checkout -b feature/your-feature-name + ``` + +2. Make your changes and add tests (e2e and unit tests if needed): + ```bash + pnpm test + ``` + +3. Format and lint your code: + ```bash + pnpm lint + ``` + +4. Commit your changes using [gitmoji](https://gitmoji.dev/) convention: + ```bash + git add . + git commit -m "✨ feat: Add new feature" + ``` + +5. Push your changes and create a pull request: + ```bash + git push origin feature/your-feature-name + ``` + +## Project Structure + +- `release/` - Main Synpress package +- `packages/` - Core packages + - `cache/` - Browser state caching functionality + - `core/` - Core functionality + - `tsconfig/` - Shared TypeScript configuration +- `wallets/` - Wallet integrations + - `metamask/` - MetaMask integration + - `ethereum-wallet-mock/` - Ethereum Wallet Mock integration +- `docs/` - Documentation website +- `examples/` - Example projects + +## Need Help? + +Join our [Discord](https://discord.gg/XhZKSRGtWc) community for support and discussions.