Spaces:
Runtime error
Runtime error
A newer version of the Gradio SDK is available:
6.9.0
Contributing Guidelines
Thank you for your interest in contributing to NexDatawork! We welcome all kinds of contributions, from bug reports to feature implementations.
Table of Contents
- Code of Conduct
- How to Contribute
- Reporting Issues
- Git Workflow
- Development Setup
- Code Style
- Pull Request Process
Code of Conduct
Please be respectful and inclusive. We are committed to providing a welcoming environment for everyone.
How to Contribute
There are many ways to contribute:
| Contribution Type | Description |
|---|---|
| Bug Reports | Found a bug? Let us know! |
| Feature Requests | Have an idea? Share it with us |
| Documentation | Help improve our docs |
| Code | Submit bug fixes or new features |
| Testing | Help test new releases |
Reporting Issues
Before Filing an Issue
- Check existing bug reports
- Check feature requests
- Search closed issues for similar problems
Bug Reports
File a bug report at: Bug Report
Include:
- A reproducible test case or series of steps
- The version of the code used (commit ID)
- Any relevant modifications you made
- Your environment details (OS, Node version, Python version)
Feature Requests
Submit feature ideas at: Feature Request
Git Workflow
We use a feature branch workflow. Here is how to contribute code:
1. Fork the Repository
# Fork via GitHub UI, then clone your fork
git clone https://github.com/YOUR_USERNAME/data-agents.git
cd data-agents
# Add upstream remote
git remote add upstream https://github.com/NexDatawork/data-agents.git
2. Create a Feature Branch
# Sync with upstream
git fetch upstream
git checkout main
git merge upstream/main
# Create your feature branch
git checkout -b feature/your-feature-name
# For bug fixes, use:
git checkout -b fix/bug-description
Branch Naming Conventions
| Prefix | Use Case | Example |
|---|---|---|
feature/ |
New features | feature/add-excel-support |
fix/ |
Bug fixes | fix/csv-parsing-error |
docs/ |
Documentation | docs/update-readme |
refactor/ |
Code refactoring | refactor/agent-structure |
test/ |
Adding tests | test/sql-agent-tests |
3. Make Your Changes
# Make changes to the code
# Stage your changes
git add .
# Commit with a descriptive message
git commit -m "feat: add Excel file support for data upload"
Commit Message Format
Use conventional commit format:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation onlystyle: Formatting, no code changerefactor: Code restructuringtest: Adding testschore: Maintenance tasks
4. Push and Create PR
# Push to your fork
git push origin feature/your-feature-name
Then open a Pull Request via GitHub.
5. Keep Your Branch Updated
# If main has been updated, rebase your branch
git fetch upstream
git rebase upstream/main
# If there are conflicts, resolve them, then:
git add .
git rebase --continue
# Force push if needed (only on your feature branch!)
git push -f origin feature/your-feature-name
Development Setup
Prerequisites
Environment Setup
# Clone the repository
git clone https://github.com/NexDatawork/data-agents.git
cd data-agents
# Copy environment file
cp .env.example .env
# Edit .env with your API keys
# Install Node.js dependencies
npm install
# Create Python virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install Python dependencies
pip install -r requirements.txt
Running the Application
# Start Next.js development server
npm run dev
# Run Jupyter notebook (in separate terminal)
jupyter notebook examples/data_agent_demo.ipynb
Code Style
JavaScript/TypeScript
- Use Prettier for formatting
- Follow ESLint rules
- Use TypeScript for new code
Python
- Follow PEP 8
- Use type hints where possible
- Document functions with docstrings
General
- Write self-documenting code
- Add comments for complex logic
- Keep functions small and focused
Pull Request Process
- Ensure your code works - Test locally before submitting
- Update documentation - If you changed functionality, update relevant docs
- Write clear PR description - Explain what and why
- Link related issues - Use "Closes #123" to auto-close issues
- Request review - Tag maintainers for review
- Address feedback - Make requested changes promptly
PR Checklist
- Code follows project style guidelines
- Self-review completed
- Tests pass locally
- Documentation updated (if needed)
- Commit messages follow convention
- PR description is clear and complete
Questions?
- Open a Discussion
- Join our Discord
- Check the Wiki
Thank you for contributing to NexDatawork!