-
Notifications
You must be signed in to change notification settings - Fork 70
Home
Sasha Lopoukhine edited this page May 24, 2024
·
7 revisions
Welcome to the xdsl wiki!
An incomplete list of contribution guidelines:
- if you would like to start working on an issue, please let us know by commenting on it or pinging us on Zulip
- the Zulip is an especially good place to get a discussion going on good approaches to get started
- it is really helpful to add the conclusion of any offline discussions to the issue
- when creating a branch, please prefix the branch name like so: "your-name/short-issue-description"
- this lets us keep a neat hierarchy of branches in the repository
- if you are working on something related on an open PR, or would like to help move a PR forward, please let comment on the PR to let us know
- please don't push directly to a branch created by another contributor without a prior discussion with them
- when opening a PR, please follow the naming guidelines outlined below
- please try to address or reply to all comments on a PR
- this lets us minimise the chances of missing something important in a proposed change
We strive to have a simple and machine readable commit and PR message format in this project.
Examples:
dialects: (arith) Add support for arithmetic operations
install: Update pypi installation
This is the preferred format:
- PR titles:
tag: specifier? title
specifier
should:
- be lowercase
- be enclosed by round brackets
- be a dialect, group of dialects, or area of the code base (e.g.
riscv
,scf
,parser
, ...)
title
should:
- start with an upper case letter
- start with a verb in first person
- be as short as possible
Commit messages will contain the PR description when the PR is merged.
tag
should:
- start with a lower case letter
- be one of the following words:
- core: changes on the core part of xDSL (ir, textual format, ...)
- rewriting: changes on xDSL rewrite engine
- frontend: changes on the Python embedding of xDSL
- dialects: (dialect_name) changes on this dialects
- transformations: changes to rewrite patterns or passes
- docs: update documentation
- tests: obv
- examples: obv
- builtins: obv
- bench: anything related to benchmarking and profiling
- misc: tools, pep8 fixups, etc
- ci: continuous integration-related
- reqs: package dependence updates
- install: related to installation (pip ...)
- backend: related to backend implementation
- interactive: related to interactive tools
- interpreter: related to the xDSL interpreter
- api: obv
- dependencies: obv
Please also select the corresponding label in the GitHub UI