Metadata-Version: 2.4
Name: bytinho
Version: 0.9.0
Summary: Bytinho , um pet digital pra devs que vive no terminal
Author-email: Andryus <admin@qantara.com.br>
License: MIT
Project-URL: Homepage, https://bytinho.com
Project-URL: Repository, https://github.com/andryus/bytinho
Project-URL: Issues, https://github.com/andryus/bytinho/issues
Keywords: tamagotchi,cli,terminal,pet,dev,ascii
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Terminals
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=13.7
Requires-Dist: typer>=0.12
Requires-Dist: httpx>=0.27
Requires-Dist: platformdirs>=4.2
Requires-Dist: websockets>=12.0
Requires-Dist: Pillow>=10.0
Dynamic: license-file

<div align="center">

# <img src="https://bytinho.com/logo.png" width="56" alt="" align="absmiddle">&nbsp; bytinho

**Um Tamagotchi pra dev. Mora no terminal, come `git commit`.**

[![PyPI](https://img.shields.io/pypi/v/bytinho.svg?color=ff79c6)](https://pypi.org/project/bytinho/)
[![Python](https://img.shields.io/pypi/pyversions/bytinho.svg?color=8be9fd)](https://pypi.org/project/bytinho/)
[![MIT](https://img.shields.io/badge/license-MIT-50fa7b.svg)](https://github.com/andryus/bytinho/blob/main/LICENSE)
[![Downloads](https://img.shields.io/pypi/dm/bytinho.svg?color=ffb86c)](https://pypi.org/project/bytinho/)
[![The Core](https://img.shields.io/badge/server-online-50fa7b)](https://bytinho.com/health)

</div>

---

Você commita todo dia. Por que não ter um companheiro te enchendo o saco
quando passa três dias sem aparecer?

![demo](https://raw.githubusercontent.com/andryus/bytinho/main/demo.gif)

---

## ⚡ Quick start

```bash
pipx install bytinho        # ou: pip install --user bytinho
bytinho nick seu-nick       # 1x: registra teu apelido
bytinho install-hook        # cada commit vira XP
bytinho                     # mostra teu pet
```

Pronto. Próximo `git commit` já alimenta o Bytinho.

> 💻 Linux · macOS · WSL · Python 3.10+
> 🔐 Sem login, sem senha. Só um UUID local em `~/.local/share/bytinho/`

---

## 🎮 Comandos

| Comando                | O que faz                                       |
| ---------------------- | ----------------------------------------------- |
| `bytinho`              | Pet animado, status atual                        |
| `bytinho talk "oi"`    | Conversa com contexto dos teus commits           |
| `bytinho stats`        | Sparkline 30d + faltam X XP pro próximo stage    |
| `bytinho next`         | O que dá pra desbloquear hoje                    |
| `bytinho streak`       | Dias seguidos commitando                         |
| `bytinho ranking`      | Top 10 da semana                                 |
| `bytinho achievements` | Conquistas desbloqueadas                         |
| `bytinho review`       | Auto-review do último commit (xinga ou elogia)   |
| `bytinho card`         | PNG estilo GitHub stats pra colar onde quiser    |
| `bytinho closet`       | Hats desbloqueados / equipar                     |
| `bytinho share`        | Markdown da badge pra colar no README            |
| `bytinho export`       | Backup do pet em JSON                            |
| `bytinho import`       | Restaura backup                                  |
| `bytinho install-hook` | Liga os hooks de git (`post-commit` + `pre-push`)|
| `bytinho remove-hook`  | Desliga                                          |
| `bytinho doctor`       | Valida server, hook, python, uuid                |
| `bytinho --help`       | Ver tudo                                         |

---

## 🔒 Privacidade

O hook lê o commit **na tua máquina** e manda **só agregados** pro servidor:

| Vai pro servidor                          | NÃO vai                          |
| ----------------------------------------- | -------------------------------- |
| Linguagem (`Rust`, `Python`...)           | ❌ Código fonte                  |
| Tipo (`feat:`, `fix:`, `chore:`...)       | ❌ Mensagem do commit            |
| Contagem de linhas (+/−)                  | ❌ Nome dos arquivos             |
| Hora UTC, dia da semana                   | ❌ Diff completo                 |
| SHA do commit (pra deduplicar)            | ❌ Branch privada / segredos     |

Se ainda assim te incomoda, `bytinho remove-hook` desliga em 1 segundo. O CLI
continua funcionando offline com o cache local.

**Anti-trapaça** (não dá pra inflar XP fakeando commits): SHA dedup, cap de
50 XP por commit, cap de 200 XP por dia, rate-limit de 5s entre commits e
timestamps clamped a [hoje−2 anos, hoje+24h] no `import`.

---

## 🏆 Conquistas

**126 conquistas**. Algumas favoritas:

- 🌅 **Madrugador**: commit antes das 7h
- 🦉 **Coruja**: commit antes das 5h
- 🛡️ **Guerreiro de Fds**: commit no sábado/domingo
- 🐍 **Poliglota**: 3+ linguagens em commits
- 🐛 **Bug Hunter**: 10 commits de `fix:`
- 💥 **Big Bang**: commit com 500+ linhas
- 🎯 **Cirurgião**: 10 commits com menos de 10 linhas
- 🌉 **Friday Shipper**: `feat:` na sexta
- 🔥 **Streak Master**: 3 / 7 / 30 / 100 dias seguidos
- 🔎 **Auto-Review**: rodou `bytinho review`
- 💬 **Tagarela**: mandou 1ª msg no chat global
- 🎩 **Estiloso**: equipou um hat

E muitas escondidas. `bytinho achievements` mostra as tuas; o perfil
público em `bytinho.com/u/<nick>` mostra `X / 126 desbloqueadas`.

---

## 🎖️ Badge pro teu repo

```markdown
[![Bytinho](https://bytinho.com/u/seu-nick.svg)](https://bytinho.com/u/seu-nick)
```

Atualiza sozinho com teu XP, streak e stage atual. O perfil público em
`bytinho.com/u/<nick>` tem barra de progresso XP, sparkline de 30 dias,
contador `X / 126` conquistas e copiar-badge num clique.

---

## 🛠️ Como funciona

```
git commit
   ↓
hook (cli/bytinho/git_meta.py) extrai agregados
   ↓
POST /api/sync → bytinho.com
   ↓
servidor calcula XP, streak, conquistas, "soul"
   ↓
bytinho talk → resposta com contexto dos teus commits
```

O servidor (The Core) é fechado, mas o CLI é 100% open source. Lê o código
em [github.com/andryus/bytinho](https://github.com/andryus/bytinho).

---

## 🐛 Problemas?

- Hook não dispara? → `bytinho install-hook --force`
- Pet morreu/zerou? → `bytinho import backup.json` (se tiver export)
- Server offline? → CLI cacheia tudo, sincroniza quando voltar

Issues e PRs em [github.com/andryus/bytinho](https://github.com/andryus/bytinho/issues).

---

## 📜 Licença

[MIT](https://github.com/andryus/bytinho/blob/main/LICENSE) © Andryus / Qantara
