Move contributing guide to pantry.zero

This commit is contained in:
Max Howell 2022-11-07 10:33:11 -05:00
parent eb1c8e5aee
commit 996ece5c50
No known key found for this signature in database
GPG key ID: 741BB84EF5BB9EEC

View file

@ -10,75 +10,13 @@ request against [pantry.extra] first.
# Use with tea/cli
tea/cli clones/updates this pantry and [pantry.extra] when installed with the
installer or when you run `tea --sync`.
At this time pantries are not versioned.
installer or when you run `tea --sync`. At this time pantries are not
versioned.
# Contributing
Firstly, clone this repository, youll edit files here. *Dont work out of
`~/.tea/tea.xyz/var/pantry`, its not a git directory!*
See the contributing guide in [pantry.zero].
You also must (currently, we know it sucks) clone tea/cli to the same *parent*
directory. So youll have:
```sh
$ ls
cli
pantry.core
```
Keep tea/cli updated, currently there is unversioned revlock between the two.
Also you should update your installed tea/cli frequently!)†
> † `sh <(curl tea.xyz)` updates the installed tea/cli
> Note that packages are split across multiple pantries, so to see the
> `package.yml` files for all your dependencies you may want to open another
> editor at `~/.tea/tea.xyz/var/pantry`
Create new `package.yml` files namespaced as per our current patterns under
the [`./projects/`] folder. The `package.yml` format is not documented
(sorry!), but it is not complex, pick an existing entry for tips.
You should verify that your package builds before submitting it.
```sh
export GITHUB_TOKEN=… # you need a (zero permissions) [PAT]
./scripts/build.ts pkg.com
# ^^ you will need to have installed all dependencies *manually* first
# try `scripts/deps.ts -b pkg.com | xargs ../cli/scripts/install.ts`
```
Packages require a `test` YAML node. This script should thoroughly verify all
the functionality of the package is working. You can run the test with:
```sh
./scripts/test.ts pkg.com
```
tea requires all packages be relocatable. Our CI will verify this for you.
You can check locally by moving the installation from `~/.tea` to another tea
installation (eg. `~/.tea.build`‡ and running the test again.
Now make a pull request! Well test on all platforms we support in the PR. If
it passes both CI and review: well merge!
> ‡ `TEA_PREFIX=~/.tea.build sh <(curl tea.xyz)`
## Packaging Guide
Our [wiki] is our packaging knowledge base.
For other assistance, start a [discussion].
## After Your Contribution
We build “bottles” (tard binaries) and upload them to both our centralized
bottle storage and decentralized [IPFS].
tea automatically builds new releases of packages *as soon as they are
released* (usually starting the builds within seconds). There is no need to
submit PRs for updates.
&nbsp;
@ -105,10 +43,4 @@ for x in scripts/*.ts src/app.ts; do
done
```
[pantry.zero]: ../../../pantry.zero
[pantry.extra]: ../../../pantry.extra
[`./projects/`]: ./projects
[IPFS]: https://ipfs.tech
[PAT]: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
[wiki]: ../../../pantry.zero/wiki
[discussion]: https://github.com/orgs/teaxyz/discussions
[pantry.zero]: https://github.com/teaxyz/pantry.zero#contributing