Contributing & Citation
Thank you for your interest in contributing to MantisTable UI! This page provides guidelines for contributors and citation information.
How to contribute
We welcome contributions from the community. Here's how you can get involved:
Reporting Issues
- Use the GitHub Issues page to report bugs or request features
- Please provide detailed information including:
- Description of the issue
- Steps to reproduce
- Expected vs actual behaviour
- Environment details (OS, browser, etc.)
Submitting Pull Requests
- Fork the repository on GitHub
- Create a feature branch from the
main
branch - Make your changes following the coding style guidelines
- Test your changes thoroughly
- Submit a pull request with a clear description of your changes
Coding Style
- TypeScript: Follow the existing code style and use TypeScript for all new code
- Python: Follow PEP 8 guidelines for Python code in plugins
- JavaScript: Use modern ES6+ syntax where possible
- Commit Messages: Use clear, descriptive commit messages
- Documentation: Update relevant documentation for any changes
Branching Strategy
main
: Production-ready codedevelop
: Development branch for new features- Feature branches:
feature/description-of-feature
- Bug fix branches:
fix/description-of-bug
Development setup
To set up MantisTable UI for development:
Prerequisites
- Node.js (version 18 or higher)
- Python 3.8+
- Docker and Docker Compose
- Git
Installation Steps
-
Clone the repository:
git clone https://github.com/unimib-datAI/mantistable-ui.git
cd mantistable-ui -
Install dependencies:
npm install
# or
yarn install -
Set up environment variables:
cp .env.example.dev .env.local
# Edit .env.local with your configuration -
Start development environment:
# Using Docker Compose (recommended)
docker-compose -f docker-compose-dev.yml up
# Or using npm/yarn
npm run dev
# or
yarn dev
For detailed installation instructions, see the Installation Guide.
Licence
MantisTable UI is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
This licence ensures that:
- The software remains open source
- Any modifications must be shared back with the community
- Network use of the software is considered distribution
For the complete licence text, see the LICENSE file in the repository.
What this means for contributors
- By contributing to MantisTable UI, you agree that your contributions will be licensed under AGPL-3.0
- Your contributions will be available to the community under the same open source terms
- You retain copyright to your contributions while granting the project the right to use them