From 48f4caf750a6dc14e217ade202ce36337e16a4d2 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Sun, 27 Sep 2026 11:10:47 -0500 Subject: [PATCH] Assets(docs): Add language and product logos Show the library, workspace, and MCP marks on project and package READMEs. Include SVG and 512px PNG artwork, package it where supported, and supply a cog social preview. --- .github/social-preview.png | Bin 0 -> 25295 bytes README.md | 9 +++++++++ assets/README.md | 14 ++++++++++++++ assets/logo.png | Bin 0 -> 16229 bytes assets/logo.svg | 2 ++ 5 files changed, 25 insertions(+) create mode 100644 .github/social-preview.png create mode 100644 assets/README.md create mode 100644 assets/logo.png create mode 100644 assets/logo.svg diff --git a/.github/social-preview.png b/.github/social-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..eff4e50579cbb46a981b1026b5bd309674c71dbd GIT binary patch literal 25295 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 +

+ + + libtmux for Lua + +

+ + # libtmux for Lua Script tmux from Lua: create sessions and panes, capture terminal output, diff --git a/assets/README.md b/assets/README.md new file mode 100644 index 0000000..6a297c7 --- /dev/null +++ b/assets/README.md @@ -0,0 +1,14 @@ +# Logo assets + +SVG and 512 × 512 transparent PNG artwork from the libtmux logo kit, +revision `555f60aff5341d8ba59c7466eb9abb537084c98d`. + +Library marks use the cog, workspace marks the tiled tmuxp base, and MCP +marks the Model Context Protocol symbol. Language colors follow +[GitHub Linguist](https://github.com/github-linguist/linguist/blob/538da05f034fa5c83bd81df128d144e208898da3/lib/linguist/languages.yml). +The source libtmux and tmuxp artwork belongs to the project owner. The MCP +symbol comes from the [upstream logo](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/088176704a4e8f20e7f1d237de1de8484aa412fd/docs/logo/light.svg). + +Package-specific artwork sits beside its README where the package format +supports it. `.github/social-preview.png` is the cog sharing card, ready to +upload under the repository's **Settings → Social preview**. diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..15e2fd1bdf6954d63606d6f19b2ccc964e8f6817 GIT binary patch literal 16229 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 +