TKO
Distribuição de tarefas de programação com Git, desenvolvimento na IDE do aluno e análise contínua do processo de aprendizagem.
O TKO é um ecossistema de ensino de programação centrado em prática, versionamento e evidências de aprendizagem. Ele distribui atividades via Git, permite desenvolvimento na IDE local e acompanha progresso de turmas com dados reais de evolução.
Visão Geral
O TKO resolve o problema de acoplar ensino de programação a ambientes artificiais de navegador. Em vez disso, o aluno trabalha no próprio fluxo profissional: editor, terminal, compilador e controle de versão.
Para o professor, o sistema viabiliza distribuição de tarefas personalizadas e acompanhamento de execução com sinais de desenvolvimento, como tempo de resolução, histórico de versões e progresso por atividade.
Fluxo rápido:
- Professor cria ou publica repositórios de questões.
- Aluno baixa a atividade e desenvolve na própria IDE.
- Aluno executa os testes localmente e itera com feedback imediato.
- Aluno envia para o professor via Git, normalmente por um repositório compartilhado no GitHub.
- Professor acompanha evolução, métricas de aprendizado, tentativas e progresso da turma.
Quick Start
Ubuntu / WSL / Codespaces
curl -fsSL https://raw.githubusercontent.com/senapk/tko/main/install.sh | bash
tko --version
tko --help
Saída esperada:
- O comando
tko --versiondeve mostrar a versão instalada. - O comando
tko --helpdeve listar os comandos principais (task,index,collect,config, ...).
Se tko não for encontrado, adicione ~/.local/bin ao PATH e abra um novo terminal:
export PATH="$HOME/.local/bin:$PATH"
Instalações existentes via pipx continuam suportadas:
pipx install tko
Windows
Use o guia recomendado para setup com VS Code, WSL e Ubuntu:
Comandos principais
tko
├── init, open, run
├── task build, show, open, list, tests, download
├── index build, download, update
├── config
│ ├── set, list, reset, self-update, uninstall, clear-cache
│ ├── profile link, status, update, unlink
│ └── source list, add, remove, set
├── collect repo, tasks, skills
├── audit on, off, start, preview, unpack
└── tool mdpp, convert-tests, older, diff, rebase, filter, html, migrate, pull
# No repositório do aluno
tko task download course@labs/fila
tko task show course/labs/fila
tko task open course/labs/fila
# Dentro da pasta da atividade, o caminho é implícito
tko task tests
tko run --language py --diff-mode side --failures first
# Escolher outra atividade explicitamente
tko task open --fzf
# Diretório efetivo para qualquer comando
tko -C caminho/do/repositorio tool migrate --dry-run
tko -C caminho/do/repositorio tool migrate
task show, task open e task tests aceitam caminhos existentes. Sem caminho,
usam a atividade da pasta atual ou abrem um seletor quando não há atividade atual.
task download recebe uma chave, pois a atividade ainda não foi baixada.
--fzf/-f abre o seletor; --filter/-F filtra código antes da execução.
O idioma da interface usa --ui-language pt|en antes do comando; a linguagem de
programação usa --language/-l em init, run e collect skills.
Veja a referência da CLI para parâmetros e exemplos completos.
Casos de Uso
- Distribuição de listas e atividades de programação via Git.
- Desenvolvimento local na IDE do aluno, sem dependência de browser.
- Correção automática com testes e iteração rápida.
- Acompanhamento docente com indicadores de progresso e histórico.
Documentação por Perfil
- Conceitos e arquitetura: TKO: conceitos e organização
- Professor da disciplina (distribui conteúdo e coleta repositórios dos alunos via Git/GitHub): Uso pelos professores, Guia para criar repositórios de tarefas
- Aluno da disciplina: Uso do TKO pelos alunos, Fazendo as atividades
- Aluno em estudo autônomo (fora de disciplina): Testando sem estar em uma disciplina, Repositórios de referência
- Instalação e ambiente: Instalação
- Desenvolvedores: Uso pelos desenvolvedores
- Ferramentas auxiliares: Ferramentas
Repositórios de referência:
Instalação
- Guia recomendado: Windows com WSL e Ubuntu
- Ubuntu / WSL: Git, Python e TKO
- GitHub Codespaces
- VS Code no Ubuntu / WSL
- Linguagens - Java, C, C++, Python, TypeScript, Go
- Outros sistemas operacionais
- Windows sem WSL - legado
Uso do TKO pelos alunos
- Testando sem estar em uma disciplina
- Como organizar seus repositórios da disciplina
- Fazendo as atividades
Uso pelos professores
- Conceitos e organização do TKO
- Gestão de repositórios de turma
- Guia para criar repositórios de tarefas
- Marcadores e tipos de atividades
- Criando testes e conversões
- Gamificação e progressão
- Relizando provas com modo auditoria
- Analisando a timeline de execução de uma tarefa
Uso pelos desenvolvedores
Ferramentas
- Filtragem e Rascunhos
- Markdown Preprocessor
- Rebase de links markdown
- Build task: pipeline de mdpp, filter e drafts
- Build index: manter e atualizar índices
Referência e suporte
- Índice da documentação
- Guia de contribuição
- Arquitetura técnica
- FAQ
- Referência rápida da CLI
- Especificação de formatos
- Exemplos end-to-end
- Ciclo de vida de tarefas
- Suporte a linguagens
- Guia de testes e QA
Atualizando o TKO
Para a instalação recomendada, use:
tko config self-update
Para instalações existentes via pipx, use:
pipx upgrade tko
Contribuição
Contribuições são bem-vindas via pull request.
Fluxo mínimo para validar mudanças localmente:
uv run pytest -q
Se possível, mantenha mudanças pequenas, com descrição clara do problema e da solução no PR.
Licença
Este projeto está sob a licença MIT. Veja LICENSE.
Release files for tko 12.0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tko-12.0.10.tar.gz | 262.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tko-12.0.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 600.0 kB
Release files / tko-12.0.10.tar.gz
| Download URL | tko-12.0.10.tar.gz |
|---|---|
| Size | 262.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72bbff16dbe6364e981e945c68c0cf30074f5c1338dc65d9699355449c043837
|
|
BLAKE2b-256 checksum How to use checksums |
c5233d487d8c316f11935f255878ee85aac12c2c7d58125c19434c3f9b6ec281
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / tko-12.0.10-py3-none-any.whl
| Download URL | tko-12.0.10-py3-none-any.whl |
|---|---|
| Size | 337.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ea48fc47fa6abf7aa9ec43d9b26a6c33be5f6b9bb6f8e863bf4548c3f9bf2e32
|
|
BLAKE2b-256 checksum How to use checksums |
0cc367d1b6f39a8301a83c874db6679bec5e43d9192a049487b421e8e130d15c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|