Skip to content

Commit 65cf67b

Browse files
committed
Write CONTRIBUTING.md, and update README.md to refer to it.
1 parent 3084a3b commit 65cf67b

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

CONTRIBUTING.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Contribution Guide
2+
3+
This guide is intended for people who want to contribute to content of the Git repository.
4+
5+
## Layout
6+
7+
The repository is laid out as such:
8+
9+
* `scripts/`: Python scripts to manipulate the crosswalk table
10+
* `properties_description.csv`: A CSV files with human-readable information about each CodeMeta property.
11+
* `crosswalks/*.csv`: Two-column CSV files, that map between CodeMeta's properties and platform-specific terms.
12+
* `crosswalk.csv`: An aggregated table of all CSV files mentionned above; intended to be the main resource for readers.
13+
14+
## About pull requests
15+
16+
Do not commit changes to `crosswalk.csv`, as these will very likely create conflicts with other pull requests, and make either these PRs or yours unmergeable.
17+
18+
`crosswalk.csv` will be updated by repository maintainers when appropriate.
19+
20+
## Editing an existing mapping
21+
22+
Open the CSV file in `crosswalks/` that contains your mapping.
23+
You may change the second column (ie. what comes after the comma on each line) to match the terms of the platform your new mapping covers.
24+
25+
Then, run `scripts/aggregate.py`. This will build the new `crosswalk.csv` using the updated version of your mapping; and raise an error if you made a mistake (such as editing the first column).
26+
27+
You can now commit your changes and send a pull request. Don't forget to **exclude** `crosswalk.csv` from the commit.
28+
29+
## Contributing a new mapping
30+
31+
To add a new platform mapping to CodeMeta, you have to add a new CSV file to `crosswalks/`. The filename is free-form, but please to avoid non-ASCII characters. The name is not used to build the aggregated table.
32+
33+
You may copy any other CSV file from `crosswalks/` to write yours; the refer to the "Editing an existing mapping" section.
34+
35+
## Adding a new CodeMeta property
36+
37+
To do so, you should first edit `properties_description.csv` and add a line with the appropriate cells there; and edit `codemeta.jsonld` as well.
38+
39+
Then, add that line to each `crosswalks/*.csv` file, in the same position as in `properties_description.csv`.
40+
41+
Then, run `scripts/aggregate.py`. This will build the new `crosswalk.csv` with the new property; and raise an error if you made a mistake (such as editing the first column).
42+
43+
You may then create a commit and send a pull request. Don't forget to **exclude** `crosswalk.csv` from the commit.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ CodeMeta is a community project with many contributors spanning research, educat
2424
## How you can help
2525
Join us! We welcome help formalizing a schema and creating mappings between existing software metadata schemas and the proposed schema. And writing documentation. And evangelizing. And other stuff, however you might be able to contribute.
2626

27-
* Send us a pull request if you have any updates to our [schema](https://github.com/codemeta/codemeta/blob/master/codemeta.jsonld) or [mappings](https://github.com/codemeta/codemeta/blob/master/crosswalk.csv)!
27+
* Send us a pull request if you have any updates to our [schema](https://github.com/codemeta/codemeta/blob/master/codemeta.jsonld) or [mappings](https://github.com/codemeta/codemeta/tree/master/crosswalks/)! See the [contribution guide](https://github.com/codemeta/codemeta/blob/master/CONTRIBUTING.md).
2828
* Take a look at the [issue tracker](https://github.com/codemeta/codemeta/issues)
2929
* Join the discussion!
3030
- [Join the CodeMeta chat gitter.im](https://gitter.im/codemeta/codemeta) (May not always be active, best to ping us directly in the GitHub issues if you don't get a response).

0 commit comments

Comments
 (0)