{"id":13880608,"url":"https://github.com/redis/redis-doc","last_synced_at":"2025-05-13T17:13:49.230Z","repository":{"id":1074433,"uuid":"915844","full_name":"redis/redis-doc","owner":"redis","description":"Redis documentation source code for markdown and metadata files, conversion scripts, and so forth","archived":false,"fork":false,"pushed_at":"2025-04-01T09:15:15.000Z","size":8542,"stargazers_count":2312,"open_issues_count":118,"forks_count":1710,"subscribers_count":124,"default_branch":"master","last_synced_at":"2025-05-13T04:25:53.588Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2010-09-16T15:34:02.000Z","updated_at":"2025-05-05T12:57:19.000Z","dependencies_parsed_at":"2023-07-06T10:32:57.833Z","dependency_job_id":"23774a02-a706-4fe1-a5dc-9994c3618a2d","html_url":"https://github.com/redis/redis-doc","commit_stats":{"total_commits":3255,"total_committers":966,"mean_commits":3.369565217391304,"dds":0.7726574500768049,"last_synced_commit":"3541d0e20cc4bb7873bdbf51a7717757b806577f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis%2Fredis-doc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis%2Fredis-doc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis%2Fredis-doc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis%2Fredis-doc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redis","download_url":"https://codeload.github.com/redis/redis-doc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990498,"owners_count":21995776,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-06T08:03:16.728Z","updated_at":"2025-05-13T17:13:44.212Z","avatar_url":"https://github.com/redis.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Redis documentation\n\n\u003e **Important**: This repository got replaced by the new [Redis docs](https://github.com/redis/docs) repository and will be archived soon.\n\n\n## License vs Trademarks\n\nOPEN SOURCE LICENSE VS. TRADEMARKS. The three-clause BSD license gives you the right to redistribute and use the software in source and binary forms, with or without modification, under certain conditions. However, open source licenses like the three-clause BSD license do not address trademarks. For further details please read the [Redis Trademark Policy](https://www.redis.com/legal/trademark-policy).\"\n\n## Clients\n\nAll clients are listed under language specific sub-folders of [clients](./clients)\n\nThe path follows the pattern: ``clients/{language}/github.com/{owner}/{repository}.json``.\nThe ``{language}`` component of the path is the path-safe representation\nof the full language name which is mapped in [languages.json](./languages.json).\n\nEach client's JSON object represents the details displayed on the [clients documentation page](https://redis.io/docs/clients).\n\nFor example [clients/python/github.com/redis](./clients/python/github.com/redis/redis-py.json):\n\n```\n{\n    \"name\": \"redis-py\",\n    \"description\": \"Mature and supported. Currently the way to go for Python.\",\n    \"recommended\": true\n}\n```\n\n## Commands\n\nRedis commands are described in the `commands.json` file that is auto generated\nfrom the Redis repo based on the JSON files in the commands folder.\nSee: https://github.com/redis/redis/tree/unstable/src/commands\nSee: https://github.com/redis/redis/tree/unstable/utils/generate-commands-json.py\n\nFor each command there's a Markdown file with a complete, human-readable\ndescription.\nWe process this Markdown to provide a better experience, so some things to take\ninto account:\n\n*   Inside text, all commands should be written in all caps, in between\n    backticks.\n    For example: `INCR`.\n\n*   You can use some magic keywords to name common elements in Redis.\n    For example: `@multi-bulk-reply`.\n    These keywords will get expanded and auto-linked to relevant parts of the\n    documentation.\n\nEach command will have a description and both RESP2 and RESP3 return values.\nRegarding the return values, these are contained in the files:\n\n* `resp2_replies.json`\n* `resp3_replies.json`\n\nEach file is a dictionary with a matching set of keys. Each key is an array of strings that,\nwhen processed, produce Markdown content. Here's an example:\n\n```\n{\n  ...\n  \"ACL CAT\": [\n    \"One of the following:\",\n    \"* [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.\",\n    \"* [Simple error reply](/docs/reference/protocol-spec#simple-errors): the command returns an error if an invalid category name is given.\"\n  ],\n  ...\n}\n```\n\n**Important**: when adding or editing return values, be sure to edit both files. Use the following\nlinks for the reply type. Note: do not use `@reply-type` specifiers; use only the Markdown link.\n\n```md\n@simple-string-reply: [Simple string reply](https://redis.io/docs/reference/protocol-spec#simple-strings)\n@simple-error-reply: [Simple error reply](https://redis.io/docs/reference/protocol-spec#simple-errors)\n@integer-reply: [Integer reply](https://redis.io/docs/reference/protocol-spec#integers)\n@bulk-string-reply: [Bulk string reply](https://redis.io/docs/reference/protocol-spec#bulk-strings)\n@array-reply: [Array reply](https://redis.io/docs/reference/protocol-spec#arrays)\n@nil-reply: [Nil reply](https://redis.io/docs/reference/protocol-spec#bulk-strings)\n@null-reply: [Null reply](https://redis.io/docs/reference/protocol-spec#nulls)\n@boolean-reply: [Boolean reply](https://redis.io/docs/reference/protocol-spec#booleans)\n@double-reply: [Double reply](https://redis.io/docs/reference/protocol-spec#doubles)\n@big-number-reply: [Big number reply](https://redis.io/docs/reference/protocol-spec#big-numbers)\n@bulk-error-reply: [Bulk error reply](https://redis.io/docs/reference/protocol-spec#bulk-errors)\n@verbatim-string-reply: [Verbatim string reply](https://redis.io/docs/reference/protocol-spec#verbatim-strings)\n@map-reply: [Map reply](https://redis.io/docs/reference/protocol-spec#maps)\n@set-reply: [Set reply](https://redis.io/docs/reference/protocol-spec#sets)\n@push-reply: [Push reply](https://redis.io/docs/reference/protocol-spec#pushes)\n```\n\n**Note:** RESP3 return schemas are not currently included in the `resp2/resp3_replies.json` files for Redis Stack modules.\n\n## Styling guidelines\n\nPlease use the following formatting rules (aiming for smaller diffs that are easier to review):\n\n* No need for manual lines wrapping at any specific length,\n  doing so usually means that adding a word creates a cascade effect and changes other lines.\n* Please avoid writing lines that are too long,\n  this makes the diff harder to review when only one word is changed. \n* Start every sentence on a new line.\n\n\n## Checking your work\n\nAfter making changes to the documentation, you can use the [spellchecker-cli package](https://www.npmjs.com/package/spellchecker-cli) to validate your spelling as well as some minor grammatical errors. You can install the spellchecker locally by running:\n\n```bash\nnpm install --global spellchecker-cli\n```\n\nYou can than validate your spelling by running the following\n\n```\nspellchecker --no-suggestions -f '**/*.md' -l en-US -q -d wordlist\n```\n\nAny exceptions you need for spelling can be added to the `wordlist` file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredis%2Fredis-doc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredis%2Fredis-doc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredis%2Fredis-doc/lists"}