Skip to content
Chris Dedman Rollet edited this page Apr 17, 2025 · 16 revisions

Welcome to the CodeAstra wiki!

This wiki is designed for old and new contributors and CodeAstra developers, who wish to learn everything necessary to easily install and contribute to CodeAstra.

Installation Guide

Important

CodeAstra officially support MacOS only. Although it should work on Windows using WSL, it could have unexpected behavior or errors. Consequentially, this guide has been constructed around MacOS.

Scroll down for Windows/WSL installation.

For Mac Users

The installation on macOS is quite straightforward. Open your terminal, and follow these steps:

  1. Clone the repository:

    git clone https://github.com/sandbox-science/CodeAstra.git
  2. Change into the project directory:

    cd CodeAstra
  3. Run make to install all necessary dependencies and build the software:

    make
  4. Run the following in your terminal to open the app:

    make run

This will compile the software and install everything you need to get started. You may need to install CMake. Once installed, run make clean and re-run make one more time.


For Windows Users (Recommended: Use WSL)

The software was not tested on Windows directly, but you can use Windows Subsystem for Linux (WSL) to install and run the software on Windows. Follow these steps:

Step 1: Install WSL

  1. Open PowerShell as Administrator and run the following command to install WSL (Ubuntu):

    wsl --install
  2. Restart your computer when prompted.

Step 2: Install Required Packages on WSL

Once you have WSL installed and running, open WSL (Ubuntu) terminal and follow these steps to install the necessary packages:

  1. Update the package list:

    sudo apt update
  2. Install make:

    sudo apt install make
  3. Install cmake:

    sudo apt install cmake
  4. Install the C++ compiler (g++):

    sudo apt install g++ -y
  5. Install essential build tools and dependencies:

    sudo apt-get install build-essential libgl1-mesa-dev
  6. Install Qt development libraries:

    sudo apt install qt6-base-dev

Step 3: Clone the Repository and Build the Software

After installing the required packages, you can now clone the repository and build the software:

  1. Clone the repository:

    git clone https://github.com/sandbox-science/CodeAstra.git
  2. Change into the project directory:

    cd CodeAstra
  3. Run make to build and install the software:

    make

This will compile the software inside WSL, and you should be able to use it as you would on a native Linux system.

Development Guide

Project Structure

CodeAstra
  ├── build           # Build output directory
  ├── config          # YAML Files for syntax highlighter
  ├── include         # Header files
  ├── resource        # UI and other resources
  ├── src             # Source code
  └── tests           # Unit Test files

Coding Standards

  • Follow modern C++ best practices (C++20 or later).
  • Use consistent naming conventions.
  • Comment your code where necessary.

Contribution Guidelines

Thank you for your interest in contributing to this project! We appreciate your support and efforts in making this project better. Please follow the guidelines below to ensure a smooth contribution process.

How to Contribute

Note

For more information about Git and GitHub, I recommend to read this article

  1. Fork the Repository: Click the "Fork" button at the top right of the repository page to create a copy of the repository in your account.
  2. Clone the Repository: Clone your forked repository to your local machine using:
    git clone https://github.com/your-username/CodeAstra.git

Tip

Follow the installation guide for detailed instructions.

  1. Create a New Branch: Before making changes, create a new branch for your work:

    git checkout -b feature-or-bugfix-name
  2. Make Your Changes:

    • Follow the existing project structure and keep your code modular.
    • Document your code with comments where necessary.
    • Avoid committing unnecessary files (e.g., compiled binaries, logs).
    • Add modified or new files before committing:
      git add src/new_feature.cpp include/new_feature.h
  3. Test Your Changes:

    • Run the build process and test your feature or bug fix.
    • Ensure that your changes do not break existing functionality.
  4. Commit Your Changes:

    • Use a clear and concise commit message:
      git commit -m "Add feature/fix bug - short description"
  5. Fetch Latest Changes & Push Your Changes:

    • Before pushing, sync your branch with the latest main branch:
      git fetch
      git merge main
    • Push your changes to your forked repository:
      git push origin feature-or-bugfix-name
    • If it’s your first time pushing, set the upstream branch:
      git push --set-upstream origin feature-or-bugfix-name
  6. Create a Pull Request:

    • Submit a pull request (PR) to the main repository.
    • Provide a detailed description of your changes.

Code Style

  • Follow the project's existing coding style and conventions.
  • Ensure your code is well-documented and easy to understand.
  • Use meaningful commit messages.

Issues

  • Before opening a new issue, check if it has already been reported.
  • Provide detailed information when creating an issue.

Reporting Bugs

If you find a bug, please:

  • Open an issue and provide steps to reproduce the problem.
  • Include screenshots or error logs if applicable.
  • Suggest possible solutions if you have any.

Feature Requests

If you have an idea for a new feature:

  • Open an issue with a clear and detailed explanation of the feature.
  • Describe the problem that the feature will solve.
  • Provide any relevant references or examples.

Code of Conduct

By contributing to this project, you agree to adhere to our Code of Conduct. Please be respectful and considerate of others in the community.

Licensing

By contributing, you agree that your contributions will be licensed under the same license as the project.


Thank you for your contributions! 🚀