Skip to content

Latest commit

 

History

History
68 lines (42 loc) · 3.17 KB

README.md

File metadata and controls

68 lines (42 loc) · 3.17 KB

Development & Contributing

Setting Up Your Development Environment

  1. Please install the VSCode python virtual environment using sh development/create_python_virtual_environment.sh or sh development/create_python_virtual_environment.sh /path/to/python_binary.

If you are on Windows, please use Git Bash. Note: Python 3.11+ is required. Note 2: It might be a good idea to restart VSCode after installing the virtual environment. Note 3: If VSCode prompts you, please use the interpreter under development/dev_virtual_environment.

  1. Generate interface and sample provider files:
sh development/auto_generate_files.sh
  1. It's good practice to run tests and linting before committing. Please run sh ./development/install_git_hooks.sh to instll Git Hooks.

  2. Read the README for each provider for information on setting them up:

Running Scripts

Run scripts using sh development/{script_name}.sh.

The following are the available scripts:

Nightly/dev builds

We don't currently automatically release a nightly/dev build. However, here are some instructions on generating release files:

Capabilities.json and Jinja2 templates

CodeToCAD/capabilities.json is a schema used to generate the CodeToCAD interfaces.

Jinja2 templates are used to turn capabilities.json into an interface, as well as templates for CodeToCAD Providers and Tests.

You can generate the Jinja2 templates by running the "Capabilities.json to Python" task in VSCode, or sh development/capabilities_json_to_python/capabilities_to_py.sh

Architecture

CodeToCAD is an automation. Here is the high-level architecture for this tool.

Architecture

Contributing

If you would like to contribute to the project, please feel free to submit a PR.

Please join the Discord Server if you have any questions or suggestions: https://discord.gg/MnZEtqwt74