A template repo to kickstart your research projects with best practices in coding, version control, and documentation.
License | |
Documentation | |
Development | |
Community |
ENS Repo Template provides a standardized structure, tools, and practices to help researchers focus on development while ensuring best practices in coding, version control, and documentation. By using this template, researchers can create organized, maintainable, and collaborative projects that align with modern software engineering standards.
- Enforced coding standards and style checks.
- Automated CI/CD workflows for continuous integration.
- Comprehensive documentation setup.
To get started, follow these steps:
- Programming language (e.g., Python, R, Julia, etc.)
- Git for version control (download from https://git-scm.com/)
Clone the repository to your local machine:
git clone <repository_url>
Set up the virtual environment:
python -m venv venv # For Windows source venv\Scripts\activate # For Linux/MacOS source venv/bin/activate
Install dependencies:
pip install -r requirements.txt
This template is now ready to use! Follow the repository structure and guidelines below to begin your project.
- src/: Main project code. (Rename as needed.)
- tests/: Folder for tests; structured by functionality.
- docs/: Documentation source files. Use MkDocs to build and update.
- examples/: Example scripts and notebooks.
- data/: Data files used in the project. (optional)
- notebooks/: Jupyter notebooks for data exploration and analysis. (optional)
- scripts/: Utility scripts for data processing, model training, etc. (optional)
- code_examples/: Code examples, demonstrating the expected coding style and documentation practices. (Can be removed after the project is set up.)
Use this template to start new research projects by forking or cloning it. Customize the repository structure and documentation to fit your project's needs.
- Open an issue to discuss new features, bugs, or changes.
- Create a new branch for each feature or bug fix based on an issue.
- Write code and tests for the new feature or bug fix.
- Run tests to ensure the code works as expected.
- Create a pull request to merge the new feature or bug fix into the main branch.
- Review the code and tests in the pull request.
- Merge the pull request after approval.
The documentation is created with Markdown using MkDocs. All files are stored in the docs
folder of the repository.
Build the documentation using MkDocs:
mkdocs serve
The documentation will be available at http://127.0.0.1:8000/.
The CI/CD workflow is set up using GitLab CI/CD. The workflow runs tests, checks code style, and builds the documentation on every push to the repository. You can view workflow results directly in the repository's CI/CD section.
Everyone is invited to develop this repository with good intentions. Please follow the workflow described in the CONTRIBUTING.md.
This repository follows consistent coding styles. Refer to CONTRIBUTING.md for detailed standards.
Pre-commit hooks are configured to check code quality before commits, helping enforce standards.
The changelog is maintained in the CHANGELOG.md file. It lists all changes made to the repository. Follow instructions there to document any updates.