compas-dev / compas-dev/compas_pb

✨ Set up Copilot instructions

Open
#35 0 comments 1 reaction 1 assignee Assigned to @Copilot View on GitHub
Dominant language
Python
Stars
4
Forks
2
Avg merge
15m
Merged PRs (30d)
2

Description

## Code Standards

### Required Before Each Commit
- Run `make fmt` before committing any changes to ensure proper code formatting
- This will run gofmt on all Go files to maintain consistent style

### Development Flow
- make a virtual environment and install with developer setting using `pip install -e .[dev]`
- use `invoke lint` for linting check
- use `invoke format` for auto formatting
- use `invoke tests` to run the unittests
- use `invoke generate-proto-classes -t python` to create the python classes for the `.proto` definitions.

## Repository Structure
- `src/`: is where the library code is
- `src/core.py`: contains core library logic
- `src/conversions.py`: contains conversion functions between COMPAS types to their protobuf representation.
- `src/api.py`: contains
- `src/generated`: contains the auto-generated python class definitions created from the IDL files.
- `IDL` contains protobuf definitions for types in the compas library, typically geometry primitives etc importable from `compas.geometry`.

## Key Guidelines
1. Follow python's best practices and idiomatic patterns
2. Maintain existing code structure and organization
3. Write unit tests for new functionality. prefer one or two concise tests rather than many different ones
4. Add numpy style docstrings to public API functions and classes.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.