-
Notifications
You must be signed in to change notification settings - Fork 65
Style Guide
Arsenii Petrovich edited this page May 7, 2026
·
11 revisions
To visualize the entities relation, use the following structure:
provider -> offer -> listing
Folder structure:
-
references/providers/providers.csv: provider identities. Answers the question "what companies provide services in Web3?" -
references/offers/<category>.csv: reusable offer templates. Answers the question "What services are being provided by those mentioned in providers?" -
listings/specific-networks/<network>/<category>.csv: network-specific listings. Answers the question "On which networks may I get these services?" -
listings/all-networks/<category>.csv: listings propagated to every network output. Does not answer a particular question, but helps to make database a bit more redundant - if offer is completely network-agnostic, it should be put here.
<category> is one of many categories in Chain.Love database. Check Chain.Love website to learn about data we provide and read about categories definitions. New categories may be added via a DBIP issue.
- Only actively maintained providers and offers are accepted.
- This repo is somewhat complicated. There is a wizard that will simplify a contribution process for you tenfold. Use it as a starting point.
- Add only data you are 100% sure about. If uncertain, leave blank or skip until verified.
- Keep data useful for developers and researchers. Do not add decorative or redundant text.
- Reuse existing wording where possible (for example security feature names) to keep filtering consistent.
- Keep provider identity and offer identity separated:
-
provider= who provides the service. -
offer= what specific product/plan/tool is being listed.
-
- In
listings, always use!offer:<slug>inoffercolumn. Historically, there may be some entries that exist without a reference inoffers, but all new offers should only mentionoffersand provide override for any columns necessary. - Avoid duplicating information across columns.
- Avoid adding tools that are in deprecated, archived state or have not been updated for over a year.
- Keep each CSV A-Z sorted by
slug. - For adding new columns or new categories, open a DBIP issue first.
- Verify links and whether provider is supported on specific networks before submitting.
- For most columns, Markdown is supported when you need emphasis or inline links in free-text fields (follow each category page for which columns apply).
The link formatting is a bit tricky for now, as the offers are having support for custom buttons names, while providers are having a predefined set of buttons.
- In
references/providers/providers.csv:-
website,docs-> full URLs. -
logoPath-> image filename only (for examplealchemy.png). Consumers prependreferences/providers/images/when building URLs. -
x,github,discord,telegram,linkedin-> value after domain only.- Example:
https://github.com/Chain-Love/chain-love->Chain-Love/chain-love.
- Example:
-
- In offer/listing CSVs (
actionButtonscolumn), use Markdown links:[Website](https://example.com)[Docs](https://example.com/docs)
- Always use uppercase
TRUE/FALSE.
- Always validate JSON with jsonformatter.org.
-
TBDcan be used only by the internal Chain.Love team for transitional schema rollouts.