Contributions
Bu açık kaynak protokol/SDK referansı TurkDex markasıyla sunulan uyarlamadır; sayfadaki entegrasyon örnekleri Turkchain’de etkin özelliklerin garantisi değildir. Ağ, kontrat ve işlem değerlerinde yalnızca bu kurulumun doğrulanmış ENV/registry bilgilerini kullanın.
Thank you for your interest in contributing to TurkDex AI! This guide will help you get started.
Prerequisites
- Node.js 22.x or later
- npm 11.7.0 or later
- Git
- Familiarity with TypeScript and Nx
Getting Started
1. Fork and clone
# Fork the repository on GitHub, then clone
git clone https://github.com/YOUR_USERNAME/uniswap-ai.git
cd uniswap-ai
2. Install dependencies
# Ensure you have the correct npm version
npm install -g npm@11.7.0
# Install dependencies
npm install
3. Verify setup
# Run tests
npx nx run-many --target=test
# Build all packages
npx nx run-many --target=build
# Start docs dev server
bun dev-portal dev
Development Workflow
Creating changes
- Create a branch from
main:
``bash git checkout -b feature/your-feature-name ``
- Make your changes following the code guidelines
- Test your changes:
```bash # Run affected tests npx nx affected --target=test
# Run affected linting npx nx affected --target=lint
# Check formatting npx nx format:check ```
- Commit using conventional commits:
``bash git commit -m "feat(hooks): add new feature" ``
Pull request process
- Push your branch and create a PR
- Ensure all CI checks pass
- Request review from maintainers
- Address any feedback
- Once approved, the PR will be merged
Code Guidelines
TypeScript
- Use strict TypeScript (
strict: true) - Never use
any- preferunknownwith type guards - Use explicit types at function boundaries
- Prefer union types over enums
Nx usage
- All packages must be Nx projects
- Use Nx commands for build, test, lint
- Leverage Nx caching and affected detection
Documentation
After making changes:
- Update relevant CLAUDE.md files
- Update README.md if needed
- Add/update documentation in
docs/ - Run
npm exec markdownlint-cli2 -- --fix "*/.md"
Creating New Packages
New plugin
# Plugins go in packages/plugins/
mkdir -p packages/plugins/my-plugin
Each plugin needs:
package.jsonwith plugin metadataproject.jsonfor Nx configuration.claude-plugin/plugin.jsonmanifestREADME.mddocumentation
New skill
Skills are defined in packages/plugins/*/skills/:
mkdir -p packages/plugins/uniswap-hooks/skills/my-skill
Each skill needs:
SKILL.md- The skill definition- Validation through lint, tests, and documentation updates
PR Workflow Highlights
Branch naming
Use descriptive branch names:
feature/add-v4-security-skill
fix/plugin-timeout-issue
docs/update-installation-guide
PR title and commit format
Use Conventional Commits for both commit messages and PR titles:
feat(hooks): add dynamic fee hook skill
fix(trading): improve swap integration guidance
docs: update installation guide
CI checks to expect
Typical checks include:
- Build
- Lint
- Format
- Tests
- Plugin validation
Commit Message Format
You can use Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types
| Type | Description |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Documentation only |
style | Formatting changes |
refactor | Code restructuring |
test | Adding/updating tests |
chore | Maintenance tasks |
Scopes
hooks- uniswap-hooks plugincca- uniswap-cca plugintrading- uniswap-trading pluginviem- uniswap-viem plugindriver- uniswap-driver plugindocs- Documentationci- CI/CD workflows
Getting Help
- Open an issue for bugs or feature requests
- Join the TurkDex Discord for discussions
- Check existing issues before creating new ones
Uyarlanmış geliştirici referansı. Kaynak: kaynak dokümantasyon reposu. Kaynak ve lisans bildirimi: NOTICE.