{"id":16373380,"url":"https://github.com/antham/cultura","last_synced_at":"2025-08-10T00:03:38.685Z","repository":{"id":159236247,"uuid":"625672129","full_name":"antham/cultura","owner":"antham","description":"Enhance your knowledge day by day, directly from your terminal","archived":false,"fork":false,"pushed_at":"2025-04-04T21:15:00.000Z","size":228,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-03T18:27:20.960Z","etag":null,"topics":["bash","culture","fish","terminal","zsh"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antham.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}},"created_at":"2023-04-09T20:36:14.000Z","updated_at":"2025-04-04T21:15:02.000Z","dependencies_parsed_at":"2023-12-25T13:09:43.848Z","dependency_job_id":"12dff486-a4fc-4aa5-937a-d11f525177ca","html_url":"https://github.com/antham/cultura","commit_stats":{"total_commits":115,"total_committers":4,"mean_commits":28.75,"dds":0.05217391304347829,"last_synced_commit":"8d28a6a1835ca15ed582fc6e826ce35b72621d24"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/antham/cultura","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antham%2Fcultura","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antham%2Fcultura/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antham%2Fcultura/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antham%2Fcultura/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antham","download_url":"https://codeload.github.com/antham/cultura/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antham%2Fcultura/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269654977,"owners_count":24454351,"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","status":"online","status_checked_at":"2025-08-09T02:00:10.424Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bash","culture","fish","terminal","zsh"],"created_at":"2024-10-11T03:14:09.695Z","updated_at":"2025-08-10T00:03:38.658Z","avatar_url":"https://github.com/antham.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"Cultura helps you to improve your culture :nerd_face: day after day by providing interesting fact taken from various sources such as reddit, wikipedia and so on :book:.\n\n![example of cultura in a terminal](https://github.com/antham/cultura/blob/master/pictures/example.png?raw=true)\n\n---\n\n- [Install](#install)\n- [Configuration](#configuration)\n- [Troubleshoot](#troubleshoot)\n- [Submitting a new provider](#submitting-a-new-provider)\n\n---\n\n# Install\n\n## How to install\n\n### From rust\n\nRun :\n\n```\ncargo install cultura\n```\n\n:warning: It could be necessary to install the `libssl-dev` package.\n\n### From GitHub\n\nDownload the binary from the release page =\u003e https://github.com/antham/cultura/releases/latest and install it in your binary path.\n\n### From docker\n\nPull the image from `docker.io/antham/cultura`, see [the shell config section](#shell-config) for more information.\n\n## Shell config\n\nTo set up Cultura in your shell, please refer to the following configuration specific to your shell\n\n### Bash\n\nIt could depend how bash is setup.\n\nIn your bash config file add:\n\n```\nsource \u003c(cultura init bash)\n```\n\nIf you use the docker container, download the file `scripts/docker.bash` and in your bash config file add:\n\n```\nsource \u003cpath_of_the_script\u003e/docker.bash\n```\n\n### Fish\n\nIn your fish config file add:\n\n```\ncultura init fish | source\n```\n\nIf you use the docker container, download the file `scripts/docker.fish` and in your fish config file add:\n\n```\nsource \u003cpath_of_the_script\u003e/docker.fish\n```\n\n### Zsh\n\nIt could depend how zsh is setup.\n\nIn your zsh config file add:\n\n```\nsource \u003c(cultura init zsh)\n```\n\nIf you use the docker container, download the file `scripts/docker.zsh` and in your zsh config file add:\n\n```\nsource \u003cpath_of_the_script\u003e/docker.zsh\n```\n\n:information_source: If you have some slowdown issue with p10k, ensure that you moved the init command before the init of the p10k instant prompt\n\n# Configuration\n\nThe config can be edited with the provided commands or could be directly edited through the config file, run `cultura config get-config-file-path` to get the path of the config file.\n\nIt must be necessary to stop the daemon to take the config in account, so simply run after finishing the edition, `cultura daemon stop`.\n\nIf you are using cultura with Docker, you can replace the cultura command with `docker exec cultura-af2fce60 cultura`. Make sure the container is already running before executing the command.\n\n## The fact rendering\n\nYou can customize the way a fact is rendered by using the command `cultura config set-template`.\n\nLet see an example :\n\n```\n__A new fact__:cyan:bold __=\u003e__ $fact:yellow\n```\n\nYour text must be enclosed between 4 underscores, you can provide a color and use styles like in the example.\n\nThe `$fact` variable is a special one and will be interpolated with the fact.\n\n| Colors  | Styles    |\n| ------- | --------- |\n| blue    | bold      |\n| red     | dimmed    |\n| green   | italic    |\n| black   | underline |\n| yellow  |           |\n| white   |           |\n| purple  |           |\n| cyan    |           |\n| magenta |           |\n\n## The providers\n\nYou can define which fact provider you want to use, default is to display all, if you want to customize which one to use for instance do `cargo run config set-providers TIL,DYK` and it will use both `DYK` and `TIL` as fact provider.\n\nThe available providers:\n| Provider | Site |\n|----------|----------------------------------------------------------|\n| DYK | https://en.wikipedia.org/wiki/Wikipedia:Recent_additions |\n| TIL | https://www.reddit.com/r/todayilearned/ |\n\n# Troubleshoot\n\n## Debugging issues on the daemon\n\nWith the binary:\n\n- run `cultura daemon start true` to start the daemon in foreground and check for errors.\n\nWith docker:\n\n- run `docker logs cultura-af2fce60`\n\n## Check the providers\n\nWith the binary:\n\n- you can ensure providers are running properly by calling `cultura doctor run-providers`, you will see for each provider if the parser is working properly.\n\nWith docker:\n\n- you can ensure providers are running properly by calling `docker exec cultura-af2fce60 cultura doctor run-providers`, you will see for each provider if the parser is working properly.\n\n## Reset the application\n\nWith the binary:\n\n- you can reset the application by running `cultura doctor reset`, it will remove the whole existing config and database.\n\nWith docker:\n\n- remove the container with `docker rm -f cultura-af2fce60`.\n\n# Submitting a new provider\n\nIf you have an idea for a source of facts that could be added to cultura, feel free to create an issue and provide the necessary details and reasoning behind your suggestion.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantham%2Fcultura","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantham%2Fcultura","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantham%2Fcultura/lists"}