| clients | ||
| commands | ||
| libraries | ||
| modules/community/github.com | ||
| resources | ||
| tools | ||
| .gitignore | ||
| commands.json | ||
| COPYRIGHT | ||
| groups.json | ||
| languages.json | ||
| LICENSE | ||
| Makefile | ||
| modules.json | ||
| README.md | ||
| resp2_replies.json | ||
| resp3_replies.json | ||
| tool_types.json | ||
Redict documentation
Clients
All clients are listed under language specific sub-folders of clients
The path follows the pattern: clients/{language}/github.com/{owner}/{repository}.json.
The {language} component of the path is the path-safe representation
of the full language name which is mapped in languages.json.
Commands
Redict commands are described in the commands.json file that is auto generated
from the Redict repo based on the JSON files in the commands folder.
See: https://codeberg.org/redict/redict/src/branch/unstable/src/commands
For each command there's a Markdown file with a complete, human-readable description. We process this Markdown to provide a better experience, so some things to take into account:
-
Inside text, all commands should be written in all caps, in between backticks. For example:
INCR. -
You can use some magic keywords to name common elements in Redict. For example:
@multi-bulk-reply. These keywords will get expanded and auto-linked to relevant parts of the documentation.
Each command will have a description and both RESP2 and RESP3 return values. Regarding the return values, these are contained in the files:
resp2_replies.jsonresp3_replies.json
Each file is a dictionary with a matching set of keys. Each key is an array of strings that, when processed, produce Markdown content. Here's an example:
{
...
"ACL CAT": [
"One of the following:",
"* [Array reply](/docs/reference/protocol-spec#arrays): an array of [Bulk string reply](/docs/reference/protocol-spec#bulk-strings) elements representing ACL categories or commands in a given category.",
"* [Simple error reply](/docs/reference/protocol-spec#simple-errors): the command returns an error if an invalid category name is given."
],
...
}
Styling guidelines
Please use the following formatting rules (aiming for smaller diffs that are easier to review):
- No need for manual lines wrapping at any specific length, doing so usually means that adding a word creates a cascade effect and changes other lines.
- Please avoid writing lines that are too long, this makes the diff harder to review when only one word is changed.
- Start every sentence on a new line.