Metadata-Version: 2.4
Name: kostria
Version: 0.2.5
Summary: Auditoria local de custo de IA: atribui gasto a projeto, feature e conta
Author-email: Pedro Henrique Quadro <184245414+PedroHenrique0713@users.noreply.github.com>
License-Expression: LicenseRef-Kostria-Proprietary
Project-URL: Homepage, https://kostria.hypermind.space
Project-URL: Pricing, https://kostria.hypermind.space/pricing
Project-URL: Privacy, https://kostria.hypermind.space/privacy
Keywords: ai,llm,cost,audit,attribution,claude-code,opencode,codex,token-usage,developer-tools,observability
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Monitoring
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Dynamic: license-file

# Kostria

<p align="center">
  <img src="https://kostria.hypermind.space/static/brand/og-default.png" alt="Kostria" width="480">
</p>

<p align="center">
  <strong>Pasta não é projeto.</strong> O Kostria segue o arquivo que a IA
  editou de verdade, resolve o repositório certo e extrai dali feature e
  ticket do Jira — em 30 segundos, sem proxy, sem SDK, sem mudar código.
</p>

<p align="center">
  <a href="https://pypi.org/project/kostria/"><img src="https://img.shields.io/pypi/v/kostria" alt="PyPI"></a>
  <a href="https://kostria.hypermind.space"><img src="https://img.shields.io/badge/license-free%20to%20use-blue" alt="Gratis para usar"></a>
  <a href="#"><img src="https://img.shields.io/badge/dependencies-0-brightgreen" alt="zero dependencies"></a>
  <a href="#"><img src="https://img.shields.io/badge/python-3.11+-blue" alt="Python 3.11+"></a>
</p>

---

## O que e

Ferramentas de IA (Claude Code, OpenCode, Codex CLI) custam caro e crescem
rápido. O painel do fornecedor mostra custo por conta — não por projeto, não
por feature, não por ticket. Planilha juntada na mão e lenda com erro.

O **Kostria** lê os logs que essas ferramentas já deixam no disco, segue o
arquivo editado até o commit que o fechou, e extrai dali o escopo da feature e
o ticket. O board do time agrega isso pra todo mundo, sem a sessão bruta sair
do disco de ninguém.

```
$ pip install kostria
$ kostria scan

custo total: $2,480.00   tokens: 1.2B   sessões: 89

by feature:
   checkout-pix (PROJ-118)     $942.40   38%
   onboarding (PROJ-204)       $719.20   29%
   busca (PROJ-091)            $496.00   20%
```

**Por que atribuir por cwd mente:** 65% das edições do Claude Code acontecem
em repos que NÃO são o diretório de trabalho. Worktree, monorepo, sessão de
terminal — o `cwd` joga o custo no projeto errado. O Kostria segue o arquivo.

---

## Quickstart

```bash
pip install kostria
kostria init      # detecta suas pastas de trabalho
kostria scan      # 30 segundos ate o primeiro resultado
kostria serve     # dashboard em http://127.0.0.1:8787
```

Zero dependências. Só Python 3.11+ e stdlib.

---

## O que o Kostria responde

- **Quanto cada projeto consumiu?** Por arquivo editado, não por diretório.
- **Quanto cada feature custou?** Arquivo → commit → escopo + ticket.
- **Qual modelo é mais eficiente?** Custo por edição entregue, não por token.
- **Quanto da assinatura foi usado?** Separa consumo real do fixo (Claude
  Pro/Max).
- **Tem conta ociosa?** Sinaliza contas sem atividade nos últimos 14 dias.
- **O orçamento vai estourar?** Projeção mensal + previsão de fechamento do mês.

---

## Suporta

| Ferramenta | Coletor | Preço |
|---|---|---|
| Claude Code | `~/.claude*/projects/**/*.jsonl` | Tabela Anthropic publica (medido) |
| OpenCode | `~/.local/share/opencode/opencode.db` | Auto-reportado (confiável) |
| Codex CLI | `~/.codex/sessions/rollout-*.jsonl` | Tokens (sem tabela OpenAI) |

---

## Planos

| Plano | Preço | Inclui |
|---|---|---|
| **Local** | Grátis | Motor de atribuição completo, painel local, 1 máquina, 90 dias de histórico |
| **Pro** | US$ 9/mês (ou US$ 90/ano) | Até 5 máquinas, integração Jira/Linear/GitHub Issues, 1 ano de histórico |
| **Time** | US$ 9 · 7 · 5 por pessoa/mês | Board agregado do time, alerta de orçamento, máquinas sem limite |
| **Enterprise** | sob consulta | Acima de 50 pessoas, ou API própria acima de US$ 5 mil/mês |

O Time é cobrado **por pessoa monitorada**, com desconto por volume (1-5:
US$ 9 · 6-20: US$ 7 · 21-50: US$ 5). Conta só quem o Kostria mede de verdade,
não quem foi convidado — e o número sai do próprio produto, sem formulário.
Um time de 3 paga US$ 27; um de 10, US$ 70.

O motor é **gratuito para usar** (inclusive dentro da sua empresa) e o código é
proprietário. O board do time é opcional e hospedado.

---

## Comandos

```bash
kostria scan                          # resumo no terminal
kostria scan --since 30d --compare    # contra mes anterior
kostria scan --budget 3000            # alerta de orcamento
kostria scan --anonymize              # mascara nomes (compartilhavel)

kostria report                        # HTML (abre no navegador)
kostria report --format json -o dados.json
kostria report --format csv  -o custos.csv

kostria serve                         # dashboard local em 127.0.0.1:8787
kostria watch                         # vigia ao vivo no terminal
kostria doctor                        # 11 checagens de integridade
kostria badge -o badge.svg            # selo shields.io local

kostria sync                          # envia agregado pro board do time
kostria agendar                       # sync recorrente pelo agendador do SO
kostria agendar --mostrar             # lê o que seria instalado, sem instalar
```

Depois do `kostria login`, os comandos do dia a dia (`scan`, `report`) já
sobem o agregado sozinhos de 6 em 6 horas — sem refazer a varredura, só o
envio do que acabou de ser calculado. Desligue com `--sem-autosync` (ou
`autosync = false` no `kostria.toml`). O `kostria agendar` cobre o caso de
quem passa o dia dentro do agente e nunca digita `kostria`.

---

## Privacidade

- Roda 100% local. O motor e o relatório não dependem de rede nenhuma; só o
  `sync` fala com o board, e só depois de você conectar a máquina com
  `kostria login`.
- O `sync` envia o agregado: projeto, dia, custo, tokens, escopo de feature e
  ticket, os totais por modelo/fornecedor/ferramenta, o nome desta máquina e o
  seu plano de IA (valor pago e equivalente em API) com a conta **mascarada**
  (`a***@dominio`). Nunca caminho de arquivo, nunca conteúdo de sessão, nunca
  o e-mail completo.
- Não quer mandar o plano? `kostria sync --sem-assinatura`.
- `--anonymize` troca nomes por hash estável para relatórios compartilháveis.
- **Não acredite: confira.** `kostria sync --dry-run -v` imprime o JSON exato
  que subiria — e não envia nada. É a resposta certa para "o que essa
  ferramenta manda do meu trabalho para fora?", e vale a pena rodar antes do
  primeiro `sync`.

```bash
$ kostria sync --dry-run
[dry-run] endpoint: https://kostria.hypermind.space/sync
[dry-run] 255 entries -> workspace 0000…
[dry-run] 3 assinatura(s): a***@empresa.com.br (claude_max_20x, $200.00/mes), …
```

---

## Por que o Kostria é diferente

Não é um proxy (Helicone). Não é tracing de qualidade (Langfuse). Não é FinOps
de cloud (Vantage). É o único que lê os logs que já estão no disco, segue o
arquivo até o commit e extrai dali feature e ticket — sem SDK, sem proxy, sem
mudar uma linha de código.

---

## Links

- [Site e board do time](https://kostria.hypermind.space)
- [Planos e preços](https://kostria.hypermind.space/pricing)
- [Privacidade](https://kostria.hypermind.space/privacy)
- Suporte e segurança: hypermind.ia@gmail.com

---

## Licença

Proprietária e **gratuita para usar**, inclusive comercialmente dentro da sua
empresa: sem cadastro, sem contagem de assento, sem expiração. O que não se
pode é redistribuir, modificar ou usar o código para construir um concorrente
(texto completo em `LICENSE`).

Até a versão 0.2.3 o pacote saiu sob MIT, e aquele direito não é revogado —
vale para aquelas versões. A licença atual vale da 0.2.4 em diante.

Feito em Vicosa, MG por [Pedro Henrique](https://github.com/PedroHenrique0713).
