{"id":21346868,"url":"https://github.com/queer/makeup","last_synced_at":"2025-07-24T01:39:41.902Z","repository":{"id":63255523,"uuid":"565063992","full_name":"queer/makeup","owner":"queer","description":"Stylish CLIs/TUIs for Rust!","archived":false,"fork":false,"pushed_at":"2024-10-24T12:53:45.000Z","size":458,"stargazers_count":51,"open_issues_count":11,"forks_count":1,"subscribers_count":5,"default_branch":"mistress","last_synced_at":"2025-07-19T06:51:22.076Z","etag":null,"topics":[],"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/queer.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":"2022-11-12T08:14:16.000Z","updated_at":"2024-07-26T15:58:48.000Z","dependencies_parsed_at":"2023-12-18T23:03:38.850Z","dependency_job_id":"1d101810-ddab-48ec-abd4-8f8735c326bd","html_url":"https://github.com/queer/makeup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/queer/makeup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queer%2Fmakeup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queer%2Fmakeup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queer%2Fmakeup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queer%2Fmakeup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/queer","download_url":"https://codeload.github.com/queer/makeup/tar.gz/refs/heads/mistress","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queer%2Fmakeup/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266092832,"owners_count":23875545,"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-11-22T02:11:48.923Z","updated_at":"2025-07-24T01:39:41.880Z","avatar_url":"https://github.com/queer.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# makeup\n\nPretty CLI / TUI interfaces.\n\nMSRV 1.70.\n\n\n## READ ME FIRST\n\nmakeup is still early-stage!!! Treat it like the alpha project it is.\n\n[crates.io](https://crates.io/crates/makeup)\n\n### Usage examples\n\nSee [`examples/`](https://github.com/queer/makeup/tree/mistress/makeup/examples)!\n\n### Demos\n\n`cargo run --example wave`\n\n## Setup\n\nInstall [pre-commit](https://pre-commit.com/).\n\n```bash\npre-commit install\npre-commit autoupdate\ncargo install cargo-audit\n```\n\n## Features\n\n- 60fps by default.\n- Input and render are fully decoupled, ie input can NEVER block rendering.\n- Message-passing-like architecture\n  - Components are updated and rendered asynchronously.\n  - Components must not reference each other directly, but instead communicate\n    via message passing.\n  - Component updates are just reading the message queue from the mailbox, and\n    updating the component's state accordingly. makeup assumes that **any**\n    potentially-blocking task will be moved out of the update/render loop via\n    `tokio::spawn` or similar, and managed via message-passing.\n- Render-backend-agnostic.\n  - Render backends are async.\n  - Default backends are memory and UNIX-compatible terminal.\n  - Render backends can be implemented for other protocols!\n    - Provided to the UI on instantiation.\n    - Ideas: WASM + `\u003ccanvas\u003e`? Multiplex over the network?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqueer%2Fmakeup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqueer%2Fmakeup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqueer%2Fmakeup/lists"}