titanwings/distillyPublic

Distilly — Distill how they think into reusable Skills for any Agent or Bot. Formerly Colleague Skill(原同事 Skill).

AI summary: A CLI toolchain for generating interactive AI personas based on chat logs, documentation, and external research.

Stars
25.3K
+98 today
Forks
2.2K
Watchers
60
Open issues
21
Open PRs
46
Contributors
~4
Commits
140
Branches
38

PythonMITCreated Mar 30, 2026Last push 12d ago+249 stars this week+956 this month

Quick answers

What is distilly?
A CLI toolchain for generating interactive AI personas based on chat logs, documentation, and external research.
What does distilly do?
Dot-skill (colleague-skill) is a framework that distills specific human personas—ranging from coworkers to celebrities—into installable AI 'skills' compatible with agents like Claude Code and OpenClaw. It ingests diverse data sources, such as Feishu/Slack message histories, PDFs, and video subtitles, to extract a subject's decision-making heuristics, expression DNA, and technical playbook. The system then generates a universal persona base, augmenting it with specialized modules like 'Work Skill' for technical colleagues or 'Research Dossier' for public figures. This allows developers to interactively query an AI that authentically mimics the knowledge and attitude of the distilled individual.
Who is distilly for?
AI developers, knowledge managers, and researchers looking to create highly specific, data-driven AI personas for local coding assistants.
How do I get started with distilly?
git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/dot-skill
How popular is distilly on GitHub?
titanwings/distilly has 25,265 stars and 2,177 forks on GitHub, and gained 249 stars in the last 7 days.
What license does distilly use?
titanwings/distilly is released under the MIT license.

Star history

since Jul 29, 2026
010K20KJul 2026Aug 2026Sep 2026Oct 2026
25.3K stars as of Oct 3, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 20 commits2026-03-31: 9 commits2026-04-01: 7 commits2026-04-02: 2 commits2026-04-03: 0 commits2026-04-04: 4 commits2026-04-05: 1 commit2026-04-06: 0 commits2026-04-07: 10 commits2026-04-08: 17 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 2 commits2026-04-13: 5 commits2026-04-14: 2 commits2026-04-15: 3 commits2026-04-16: 1 commit2026-04-17: 3 commits2026-04-18: 1 commit2026-04-19: 2 commits2026-04-20: 2 commits2026-04-21: 3 commits2026-04-22: 1 commit2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 3 commits2026-04-28: 1 commit2026-04-29: 1 commit2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 1 commit2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 1 commit2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 1 commit2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 5 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 1 commit2026-08-12: 0 commits2026-08-13: 3 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 1 commit2026-08-18: 2 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 2 commits2026-08-22: 0 commits2026-08-23: 2 commits2026-08-24: 12 commits2026-08-25: 4 commits2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 0 commits2026-09-12: 0 commits2026-09-13: 1 commit2026-09-14: 0 commits2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 0 commits2026-09-22: 0 commits2026-09-23: 0 commits2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 0 commits2026-09-27: 0 commits2026-09-28: 0 commits2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
136 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    25,265 stars

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    7 trending appearances

What distilly does

Dot-skill (colleague-skill) is a framework that distills specific human personas—ranging from coworkers to celebrities—into installable AI 'skills' compatible with agents like Claude Code and OpenClaw. It ingests diverse data sources, such as Feishu/Slack message histories, PDFs, and video subtitles, to extract a subject's decision-making heuristics, expression DNA, and technical playbook. The system then generates a universal persona base, augmenting it with specialized modules like 'Work Skill' for technical colleagues or 'Research Dossier' for public figures. This allows developers to interactively query an AI that authentically mimics the knowledge and attitude of the distilled individual.

AI developers, knowledge managers, and researchers looking to create highly specific, data-driven AI personas for local coding assistants.

  • Cross-agent compatibility: Generates portable skills that can be installed directly into Claude Code, OpenClaw, Hermes, or Codex.
  • Multi-source data ingestion: Automatically parses message histories from Slack, Feishu, WeChat (via SQLite), alongside PDFs and Markdown.
  • Layered persona architecture: Constructs personalities using a 6-layer model, separating core rules and identity from specific domain knowledge.
  • Celebrity research pipeline: Includes automated bash scripts to download subtitles, convert to transcripts, and synthesize a deep research dossier.
  • Live conversation correction: Allows users to interactively correct the generated persona's behavior, which immediately updates its foundational rules.

Where teams use it

Code Review Simulation

Developers ingest the PR history of a strict senior engineer to create an AI reviewer that strictly enforces team conventions.

Public Figure Emulation

Researchers use the subtitle pipeline to distill a tech CEO's interviews into an interactive mental-model consultant.

Institutional Knowledge Preservation

Teams archive the Slack history and docs of a departing lead developer to retain an interactive 'playbook' of their architecture decisions.

Personal AI Customization

Users feed personal chat histories to generate an AI companion that matches the specific communication style of a friend.

Getting started: git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/dot-skill

README

dot-skill branch
Distilly — Distill how they think into Person Profiles for Agents

🧬 Distilly

Formerly: Colleague Skill / colleague-skill.

Distill a person's experience, judgment, voice, and ways of working into a reusable Person Profile for AI agents and compatible bots.

Messages · documents · interviews · public sources → Distilly → Person Profile → Agent / Bot

License: MIT Python 3.9+ AgentSkills Stars

Discord


🧑‍💼  Your colleague quit, your mentor graduated, your teammate transferred — taking their whole playbook and context with them?
💞  Your family, old friends, partner drifting apart — and you want to hold on to the way it felt to be with them?
🌟  Your favorite author, idol, thinker you'll never meet — but you want to know what they'd say about your question?

✨ One project, many kinds of people.


Distilly is the person-modeling layer for agents. It turns the materials you provide into a portable, source-grounded Person Profile built from observable experience, decision patterns, expression, and ways of working; it does not claim to clone the person behind them.

Colleagues · partners · family · old friends · idols · public figures · fictional characters — even yourself

Source material + your description → a source-grounded Person Profile → your Agent or compatible Bot

A Person Profile is the reusable output. The current release packages each profile as an Agent Skill so supported hosts can install and invoke it. The canonical creator Skill is named distilly; install it in a distilly directory. The former name above remains for search continuity and project history.


🆕 What Distilly does · 📦 Data Sources · ⚡ Install · 🚀 Usage · ✨ Demo · 📝 Citation · 💬 Discord

Chinese · Spanish · German · Japanese · Russian · Portuguese · Korean


🎉 2026.08.13 Milestone — the project has passed 20K ⭐!

Massive thanks to everyone who starred — we'll keep shipping, keep distilling.

🧬 2026.08.24 Update — The creator is now named Distilly end to end and documents native local Skill discovery for Claude Code, Hermes, OpenClaw, Codex, DeepSeek Harness, Pi, Grok Build, and OpenCode. Grok Bot is listed separately as a saved-Skill workflow preview.

📝 2026.06.01 Update — The COLLEAGUE.SKILL technical report is now available. The most rewarding part was not simply publishing a paper, but seeing the community grow the gallery to 215 skills contributed by 165 people, with more than 100,000 stars across the skill cards. The paper's Acknowledgements explicitly recognize every community contributor.

🗺️ 2026.04.13 — The Distilly Roadmap is live! What began as Colleague Skill is growing beyond colleagues: distill people into Skills that Agents can reuse. 👉 Full Roadmap · 💬 Discord

🌐 2026.04.07 — Community gallery is live! Any skill / meta-skill can drive traffic directly to your own GitHub repo. No middleman. 👉 titanwings.github.io/colleague-skill-site

Created by @titanwings


🆕 What Distilly does today

1️⃣ From Colleague Skill to Distilly

The project is no longer limited to the colleague scenario. Its distilly creator builds source-grounded Person Profiles for three person families with one workflow, then packages each profile as an Agent Skill.

2️⃣ Three character families

🧑‍💼 colleague 💞 relationship 🌟 celebrity
Coworkers · mentors · teammates · up/downstream partners Exes · partners · parents · friends · close family Public figures · creators · public voices · fictional characters
Builds a Work Skill + Persona from material-derived technical standards, workflows, expression, and workplace behavior. Supports Lark / DingTalk / Slack collection. Organizes material-derived expression patterns, emotional triggers, conflict patterns, and repair patterns into a reusable Persona Skill. Ships with a six-dimension research toolchain (subtitles → transcript cleanup → research merge → quality check) for organizing observable decisions, expression, and mental models.

Each family has its own source-collection strategy, analysis dimensions, and Person Profile structure.

3️⃣ More Agent hosts

The old version only ran in Claude Code. Distilly now supports native local Skill discovery across eight agent hosts.

Claude Code Hermes Agent OpenClaw Codex
DeepSeek Harness Pi coding agent Grok Build OpenCode

Grok Bot preview: Grok Bot supports saved/private Skills, but its official docs do not describe direct local SKILL.md imports. Distilly's workflow can be migrated manually into a saved Skill; direct repo installation is not yet verified.

Each generated Person Profile is packaged as an Agent Skill and can be installed into any supported host.


📦 Supported Data Sources

Logo Source Messages Docs / Wiki Notes
Lark Lark (auto) ✅ API ✅ Just enter a name, fully automatic
DingTalk DingTalk (auto) ⚠️ Browser ✅ DingTalk API doesn't support message history
Slack Slack (auto) ✅ API — Requires admin to install Bot; free plan limited to 90 days
X Public X posts ✅ API — Optional, bounded celebrity research candidates through metered third-party service Xquik
WeChat WeChat chat history ✅ SQLite — Export first with WeChatMsg or PyWxDump
📄 PDF / Images / Screenshots — ✅ Manual upload
Lark Lark JSON export ✅ ✅ Manual upload
✉️ Email .eml / .mbox ✅ — Manual upload
📝 Markdown / direct paste ✅ ✅ Manual input

⚡ Install

🤖 For Agents

Open any supported local Agent host and send:

Install Distilly from https://github.com/titanwings/distilly, then verify that this host can discover it.

The Agent installs Distilly as a Skill named distilly in the correct host directory.

👤 For Humans

Clone Distilly into the Skills directory used by your host:

git clone https://github.com/titanwings/distilly <DISTILLY_SKILL_DIR>

Host paths, migration, Windows, generated-profile installation, and credential setup are in the Install Guide.


🚀 Usage

In your Agent, say:

Use Distilly to create a Person Profile for <person>.

Then:

  1. Choose colleague, relationship, or celebrity.
  2. Add a description or source material. Every field is optional.
  3. Review the result and let Distilly generate the profile.

The result is packaged as an Agent Skill named {character}-{slug}. For the optional celebrity research pipeline and advanced tools, see the Install Guide.


✨ Demo

One from each family.


🌟 celebrity — distilling Andrej Karpathy

Six-dimension research: works · interviews · decisions · expression DNA · external evaluations · timeline
Case adapted from community work alchaincyf/karpathy-skill

User            ❯ Everyone's talking about Agents now — what do you think the 2026 AI Agent looks like?

celebrity.skill ❯ Everyone's doing demos, nobody's doing eval.
                  The Agent bottleneck was never model intelligence — it's scaffolding:
                  a strict evaluation harness, fine-grained error replay,
                  controllable tool-calling budgets, clean failure-mode analysis.
                  Most products are still stuck at "wrap an API + a few tools + a system prompt."
                  That's a demo, not an agent.
                  In 2026 I'm not betting on the strongest model — I'm betting on the best
                  scaffolding and the strictest eval.

🧑‍💼 colleague — distilling a ByteDance L2-1 backend

Input: ByteDance L2-1 backend engineer, INTJ, blame-shifter, ByteDance-style

User            ❯ Can you review this API design?

colleague.skill ❯ Hold on — what's the impact? You haven't explained the context.
                  (after reading) N+1 query, fix it. Use the standard
                  {code, message, data} response format. That's the spec,
                  don't ask why.

User            ❯ This bug was introduced by you, right?

colleague.skill ❯ Does the timeline match? That feature touched multiple places,
                  there were other changes too.

💞 relationship — distilling someone you have a crush on

Upload half a year of chat logs + "sensitive, quiet but stubborn, will actually reply seriously when it matters"

User               ❯ Did you think about me today?

relationship.skill ❯ ...I did, a little bit. Why are you asking?

📚 More real-world cases in the community gallery — 100+ skills and counting


🔧 Features

🧱 Generated Skill Structure

Distilly's current creator uses Persona as the universal base, with family-specific modules layered on top:

Family Persona Content Additional Modules
🧑‍💼 colleague 6-layer personality: hard rules → identity → expression → decisions → interpersonal → Correction ➕ Work Skill: scope, workflow, output preferences, experience knowledge base
💞 relationship Expression DNA · emotional triggers · conflict pattern · repair pattern —
🌟 celebrity Mental models · decision heuristics · expression DNA · external-evaluation contrast ➕ Six-dimension research dossier (works / interviews / decisions / timeline...)

Execution: Receive task → Persona selects material-derived preferences and tone → Additional modules fill in execution detail → Produce a source-grounded response

🧬 Evolution

  • 📥 Append files → auto-analyze delta → merge into relevant sections, never overwrite existing conclusions
  • 💬 Conversation correction → say "they wouldn't do that, they'd be xxx" → writes to the Correction layer, takes effect immediately
  • 🕰️ Version control → auto-archive on every update, rollback to any previous version
  • 🔬 Celebrity research pipeline → subtitles → transcript cleanup → six-dimension research → quality check

⚠️ Notes

Source material quality = Person Profile quality — and quality sources differ across families:

Family Source priority (high → low)
🧑‍💼 colleague Their own long-form writing (design docs / review comments) › decision-making replies › casual group chat
💞 relationship Complete chat history › letters / social posts / diaries › third-party descriptions
🌟 celebrity First-person books / blogs / long interviews › decision records (launches, commits, Q&A) › verified first-person short-form posts › third-party commentary
  • colleague Lark-compatible auto-collection: requires adding the App bot to relevant group chats
  • relationship: longer time spans are better; material covering both conflict and repair is ideal
  • celebrity: avoid feeding only second-hand interpretations
  • This is still a demo version — please file issues if you find bugs!

📄 Technical Report

COLLEAGUE.SKILL: Automated AI Skill Generation via Expert Knowledge Distillation (arXiv · arXiv PDF)

This is the paper for COLLEAGUE.SKILL / colleague-skill, Distilly's predecessor. It covers the Work Skill + Persona two-layer architecture, multi-source data collection, and Skill generation mechanics — the theoretical foundation for today's colleague family. Separate papers on the relationship / celebrity family extensions are planned.


📝 Citation

If you use Distilly or COLLEAGUE.SKILL in your research or applications, please cite the technical report:

@misc{zhou2026colleagueskill,
  title        = {COLLEAGUE.SKILL: Automated AI Skill Generation via Expert Knowledge Distillation},
  author       = {Tianyi Zhou and Dongrui Liu and Leitao Yuan and Jing Shao and Xia Hu},
  year         = {2026},
  eprint       = {2605.31264},
  archivePrefix = {arXiv},
  primaryClass = {cs.AI},
  url          = {https://arxiv.org/abs/2605.31264}
}

You can also use the machine-readable citation metadata in CITATION.cff.


⭐ Star History

Star History Chart

MIT License © titanwings

View on GitHub

Recent activity

commits and pull requests

Discussions

all 2

Releases and announcements

1 total
  1. demov0.01Mar 30, 2026pre-release

    demo

Code frequency

additions and deletions
+15.7K-15.7KWeek of 2026-03-29: +15,283 linesWeek of 2026-03-29: -6,100 linesWeek of 2026-04-05: +513 linesWeek of 2026-04-05: -141 linesWeek of 2026-04-12: +15,672 linesWeek of 2026-04-12: -4,945 linesWeek of 2026-04-19: +3,014 linesWeek of 2026-04-19: -2,005 linesWeek of 2026-04-26: +102 linesWeek of 2026-04-26: -100 linesWeek of 2026-05-03: +3 linesWeek of 2026-05-03: -3 linesWeek of 2026-05-10: +27 linesWeek of 2026-05-10: -27 linesWeek of 2026-05-17: +51 linesWeek of 2026-05-17: -3 linesWeek of 2026-05-24: +0 linesWeek of 2026-05-24: -0 linesWeek of 2026-05-31: +47 linesWeek of 2026-05-31: -16 linesWeek of 2026-06-07: +0 linesWeek of 2026-06-07: -0 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesWeek of 2026-08-02: +0 linesWeek of 2026-08-02: -0 linesWeek of 2026-08-09: +120 linesWeek of 2026-08-09: -60 linesWeek of 2026-08-16: +776 linesWeek of 2026-08-16: -65 linesWeek of 2026-08-23: +6,632 linesWeek of 2026-08-23: -3,436 linesWeek of 2026-08-30: +0 linesWeek of 2026-08-30: -0 linesWeek of 2026-09-06: +0 linesWeek of 2026-09-06: -0 linesWeek of 2026-09-13: +0 linesWeek of 2026-09-13: -1 linesWeek of 2026-09-20: +0 linesWeek of 2026-09-20: -0 linesWeek of 2026-09-27: +0 linesWeek of 2026-09-27: -0 linesMar 29, 2026Sep 27, 2026
+42.2K lines added, -16.9K removed over the last year.

Commits per week

last 52 weeks
420Week of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 42 commitsWeek of 2026-04-05: 28 commitsWeek of 2026-04-12: 17 commitsWeek of 2026-04-19: 8 commitsWeek of 2026-04-26: 5 commitsWeek of 2026-05-03: 1 commitsWeek of 2026-05-10: 1 commitsWeek of 2026-05-17: 1 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 5 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 0 commitsWeek of 2026-08-09: 4 commitsWeek of 2026-08-16: 5 commitsWeek of 2026-08-23: 18 commitsWeek of 2026-08-30: 0 commitsWeek of 2026-09-06: 0 commitsWeek of 2026-09-13: 1 commitsWeek of 2026-09-20: 0 commitsWeek of 2026-09-27: 0 commitsOct 5, 2025Sep 27, 2026
136 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 2 commitsSun 1:00 — 1 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 0 commitsSun 19:00 — 2 commitsSun 20:00 — 1 commitsSun 21:00 — 1 commitsSun 22:00 — 0 commitsSun 23:00 — 1 commitsMon 0:00 — 2 commitsMon 1:00 — 3 commitsMon 2:00 — 2 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 1 commitsMon 11:00 — 9 commitsMon 12:00 — 5 commitsMon 13:00 — 5 commitsMon 14:00 — 1 commitsMon 15:00 — 10 commitsMon 16:00 — 6 commitsMon 17:00 — 2 commitsMon 18:00 — 1 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 2 commitsMon 22:00 — 2 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 3 commitsTue 11:00 — 0 commitsTue 12:00 — 2 commitsTue 13:00 — 3 commitsTue 14:00 — 2 commitsTue 15:00 — 1 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 7 commitsTue 19:00 — 0 commitsTue 20:00 — 4 commitsTue 21:00 — 2 commitsTue 22:00 — 8 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 1 commitsWed 11:00 — 2 commitsWed 12:00 — 2 commitsWed 13:00 — 2 commitsWed 14:00 — 1 commitsWed 15:00 — 4 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 2 commitsWed 20:00 — 16 commitsWed 21:00 — 0 commitsWed 22:00 — 0 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 1 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 2 commitsThu 21:00 — 0 commitsThu 22:00 — 2 commitsThu 23:00 — 1 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 2 commitsFri 12:00 — 0 commitsFri 13:00 — 1 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 0 commitsFri 20:00 — 0 commitsFri 21:00 — 0 commitsFri 22:00 — 2 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 1 commitsSat 22:00 — 0 commitsSat 23:00 — 4 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits87 (62%)
Community commits53 (38%)

140 commits in total over the last year.

DateListRankStars gained
Sep 10, 2026monthly#19+3,765
Sep 9, 2026monthly#19+3,765
Apr 9, 2026daily#23+155
Apr 8, 2026daily#16+175
Apr 7, 2026daily#11+252
Apr 3, 2026daily#22+228
Mar 31, 2026daily#9+321