{"id":13458033,"url":"https://github.com/vezel-dev/cathode","last_synced_at":"2025-04-06T22:11:20.765Z","repository":{"id":37377034,"uuid":"247848027","full_name":"vezel-dev/cathode","owner":"vezel-dev","description":"A terminal-centric replacement for the .NET console APIs.","archived":false,"fork":false,"pushed_at":"2024-10-29T14:12:28.000Z","size":1140,"stargazers_count":91,"open_issues_count":19,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-29T17:21:41.717Z","etag":null,"topics":["console","csharp","dotnet","terminal"],"latest_commit_sha":null,"homepage":"https://docs.vezel.dev/cathode","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vezel-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-0BSD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"vezel-dev","open_collective":"vezel"}},"created_at":"2020-03-17T00:58:29.000Z","updated_at":"2024-10-29T14:12:24.000Z","dependencies_parsed_at":"2023-07-13T12:29:40.603Z","dependency_job_id":"6000e197-0f84-46d6-b5db-3393a2d0dd78","html_url":"https://github.com/vezel-dev/cathode","commit_stats":{"total_commits":794,"total_committers":3,"mean_commits":264.6666666666667,"dds":"0.10705289672544083","last_synced_commit":"f0927be8de6caf50ebf0fe0dfc55aee82cafe215"},"previous_names":["alexrp/cathode","alexrp/system-terminal"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vezel-dev%2Fcathode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vezel-dev%2Fcathode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vezel-dev%2Fcathode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vezel-dev%2Fcathode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vezel-dev","download_url":"https://codeload.github.com/vezel-dev/cathode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247557767,"owners_count":20958047,"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":["console","csharp","dotnet","terminal"],"created_at":"2024-07-31T09:00:42.921Z","updated_at":"2025-04-06T22:11:20.741Z","avatar_url":"https://github.com/vezel-dev.png","language":"C#","funding_links":["https://github.com/sponsors/vezel-dev","https://opencollective.com/vezel"],"categories":["C\\#"],"sub_categories":[],"readme":"# Cathode\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"cathode.svg\"\n         width=\"128\"\n         alt=\"Cathode\" /\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cstrong\u003e\n        A terminal-centric replacement for the .NET console APIs.\n    \u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![License](https://img.shields.io/github/license/vezel-dev/cathode?color=brown)](LICENSE-0BSD)\n[![Commits](https://img.shields.io/github/commit-activity/m/vezel-dev/cathode/master?label=commits\u0026color=slateblue)](https://github.com/vezel-dev/cathode/commits/master)\n[![Build](https://img.shields.io/github/actions/workflow/status/vezel-dev/cathode/build.yml?branch=master)](https://github.com/vezel-dev/cathode/actions/workflows/build.yml)\n[![Discussions](https://img.shields.io/github/discussions/vezel-dev/cathode?color=teal)](https://github.com/vezel-dev/cathode/discussions)\n[![Discord](https://img.shields.io/badge/discord-chat-7289da?logo=discord)](https://discord.gg/wtzCfaX2Nj)\n[![Zulip](https://img.shields.io/badge/zulip-chat-394069?logo=zulip)](https://vezel.zulipchat.com)\n\n\u003c/div\u003e\n\n--------------------------------------------------------------------------------\n\n**Cathode** is a toolkit for writing terminal-based applications. It is\neffectively a complete replacement for the .NET console APIs.\n\nWith Windows Terminal having replaced the old Windows console host, it makes\nlittle sense for console interaction to still be centered around the old console\nhost and the many limitations it had. **Cathode** provides an API centered\naround a [VT100 terminal](https://vt100.net) with some extensions from later\nmodels and modern terminal emulators. It works on all desktop platforms that\n.NET supports.\n\nPlease note that, since **Cathode** replaces a very fundamental component of the\nframework, the use of certain framework APIs (e.g. `System.Console`) becomes\nproblematic. An analyzer will automatically diagnose usage of such APIs and\nsuggest working replacements.\n\n## Usage\n\nThis project offers the following packages:\n\n| Package | Description | Downloads |\n| -: | - | :- |\n| [![Vezel.Cathode][core-img]][core-pkg] | Provides the core terminal API. | ![Downloads][core-dls] |\n| [![Vezel.Cathode.Extensions][extensions-img]][extensions-pkg] | Provides terminal hosting and logging for the .NET Generic Host. | ![Downloads][extensions-dls] |\n\n[core-pkg]: https://www.nuget.org/packages/Vezel.Cathode\n[extensions-pkg]: https://www.nuget.org/packages/Vezel.Cathode.Extensions\n\n[core-img]: https://img.shields.io/nuget/v/Vezel.Cathode?label=Vezel.Cathode\n[extensions-img]: https://img.shields.io/nuget/v/Vezel.Cathode.Extensions?label=Vezel.Cathode.Extensions\n\n[core-dls]: https://img.shields.io/nuget/dt/Vezel.Cathode?label=\n[extensions-dls]: https://img.shields.io/nuget/dt/Vezel.Cathode.Extensions?label=\n\nTo install a package, run `dotnet add package \u003cname\u003e`.\n\nSee the [sample programs](src/samples) for examples of what the API can do. The\nsamples can be run with\n[`dotnet example`](https://github.com/patriksvensson/dotnet-example).\n\nFor more information, please visit the\n[project home page](https://docs.vezel.dev/cathode).\n\n## Building\n\nYou will need the .NET SDK installed. Simply run `./cake`\n(a [Bash](https://www.gnu.org/software/bash) script) to build artifacts. You can\nalso use `./cake pack` if you do not want to build the documentation (which\nrequires Node.js).\n\nThese commands will use the `Debug` configuration by default, which is suitable\nfor development and debugging. Pass `-c Release` instead to get an optimized\nbuild.\n\n## License\n\nThis project is licensed under the terms found in\n[`LICENSE-0BSD`](LICENSE-0BSD).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvezel-dev%2Fcathode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvezel-dev%2Fcathode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvezel-dev%2Fcathode/lists"}