# Contributing to Aikido Safe Chain Thank you for your interest in contributing! Please discuss significant changes in an issue first to avoid duplication of work. ## Reporting Issues Report issues on our [GitHub Issues page](https://github.com/AikidoSec/safe-chain). Check existing issues first and include: - Steps to reproduce - Expected vs actual behavior - Environment details (Node.js version, OS, package manager) - Relevant logs/errors ## Contributing Code 1. Fork and clone the repository 2. Create a descriptive branch name 3. Make your changes following the existing code style 4. Add tests for your changes 5. Run `npm test` and `npm run lint` 6. Push and create a pull request ## Development **Workspace Structure:** - `packages/safe-chain/` - Main CLI package - `test/e2e/` - End-to-end tests **Setup:** ```bash npm install # Installs dependencies for all workspaces ``` **Commands:** - `npm test` - Run unit tests - `npm run test:e2e` - Run end-to-end tests - `npm run lint` - Check code style - `npm run test --workspace=packages/safe-chain` - Test specific workspace **Requirements:** - Node.js 18+ - Follow .editorconfig formatting