···4455We follow a commit style similar to the Go project. Please keep commits:
6677-* **atomic**: each commit should represent one logical change
77+* **atomic**: each commit should represent one logical change
88* **descriptive**: the commit message should clearly describe what the
99change does and why it's needed
10101111### message format
12121313-```
1313+```
1414<service/top-level directory>: <affected package/directory>: <short summary of change>
15151616···2626appview: state: fix token expiry check in middleware
27272828The previous check did not account for clock drift, leading to premature
2929-token invalidation.
2929+token invalidation.
3030```
31313232```
3333knotserver: git/service: improve error checking in upload-pack
3434```
35353636+The affected package/directory can be truncated down to just the relevant dir
3737+should it be far too long. For example `pages/templates/repo/fragments` can
3838+simply be `repo/fragments`.
3939+3640### general notes
37413842- PRs get merged "as-is" (fast-forward) -- like applying a patch-series
···5256Small fixes like typos, minor bugs, or trivial refactors can be
5357submitted directly as PRs.
54585555-For larger changes—especially those introducing new features,
5656-significant refactoring, or altering system behavior—please open a
5757-proposal first. This helps us evaluate the scope, design, and potential
5858-impact before implementation.
5959+For larger changes—especially those introducing new features, significant
6060+refactoring, or altering system behavior—please open a proposal first. This
6161+helps us evaluate the scope, design, and potential impact before implementation.
59626063### proposal format
61646265Create a new issue titled:
63666464-```
6565-proposal: <affected scope>: <summary of change>
6767+```
6868+proposal: <affected scope>: <summary of change>
6669```
67706871In the description, explain:
+6-5
readme.md
···44[Tangled](https://tangled.sh)—a code collaboration platform built
55on the [AT Protocol](https://atproto.com).
6677-Read the introduction to Tangled [here](https://blog.tangled.sh/intro).
77+Read the introduction to Tangled [here](https://blog.tangled.sh/intro). Join the
88+[Discord](https://chat.tangled.sh) or IRC at [#tangled on
99+libera.chat](https://web.libera.chat/#tangled).
810911## docs
10121111-* [knot hosting
1212-guide](https://tangled.sh/@tangled.sh/core/blob/master/docs/knot-hosting.md)
1313-* [contributing
1414-guide](https://tangled.sh/@tangled.sh/core/blob/master/docs/contributing.md)—**read this before opening a PR!**
1313+* [knot hosting guide](/docs/knot-hosting.md)
1414+* [contributing guide](/docs/contributing.md) **please read before opening a PR!**
1515+* [hacking on tangled](/docs/hacking.md)
15161617## security
1718