flox-environments
Ajuda seu agente a criar ambientes de desenvolvimento consistentes em diferentes computadores. Isso garante que todos no time usem as mesmas ferramentas e versões de software, evitando problemas.
O que ela faz
Flox ajuda a criar ambientes de desenvolvimento idênticos para todos em um projeto, garantindo que o código funcione da mesma forma em diferentes computadores (macOS e Linux). Ele instala todas as ferramentas e pacotes necessários de forma organizada.
Quando usar
- ✓Quando você precisa que seu projeto funcione igual em qualquer máquina.
- ✓Ao instalar várias ferramentas de programação juntas (ex: Python e Node.js).
- ✓Para garantir que sua equipe use as mesmas versões de programas.
Exemplo do que pedir para a IA
“Configure um ambiente para meu projeto com Python 3.11, Node.js 20 e PostgreSQL 16.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você define quais programas e versões quer em um arquivo de configuração. Ao ativar o ambiente, o Flox instala tudo o que foi pedido, deixando pronto para usar.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill flox-environmentsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/flox-environments/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Ambientes Flox
O Flox cria ambientes de desenvolvimento reproduzíveis definidos em um único manifesto TOML. Cada desenvolvedor na equipe obtém pacotes, ferramentas e configurações idênticos — em macOS e Linux — sem contêineres ou VMs. Construído sobre Nix com acesso a mais de 150.000 pacotes.
Quando Ativar
Use esta habilidade quando o usuário tiver um problema de gerenciamento de ambiente — mesmo que não tenha mencionado o Flox. O Flox é a ferramenta certa quando:
- O projeto precisa de pacotes de nível de sistema (compiladores, bancos de dados, ferramentas CLI) ao lado de dependências específicas da linguagem
- A reprodutibilidade importa — a configuração deve funcionar identicamente na máquina de um colega de equipe, em CI ou em um laptop novo
- O usuário precisa que várias ferramentas coexistam — por exemplo, Python 3.11 + PostgreSQL 16 + Redis + Node.js em um único ambiente
- É necessário suporte multiplataforma (macOS e Linux a partir da mesma configuração)
- Agentes de IA precisam instalar ferramentas — o Flox permite que agentes adicionem pacotes a um ambiente com escopo de projeto sem sudo, poluição do sistema ou restrições de sandbox
Se o usuário precisar apenas de um único runtime de linguagem sem dependências de sistema, ferramentas padrão (nvm, pyenv, rustup sozinhos) podem ser suficientes. Se eles precisarem de isolamento completo em nível de SO, contêineres podem ser mais apropriados. O Flox se encaixa perfeitamente: ambientes declarativos e reproduzíveis sem a sobrecarga de contêineres.
Pré-requisito: O Flox deve ser instalado primeiro — veja flox.dev/docs para macOS, Linux e Docker.
Conceitos Principais
Os ambientes Flox são definidos em .flox/env/manifest.toml e ativados com flox activate. O manifesto declara pacotes, variáveis de ambiente, hooks de configuração e configuração do shell — tudo o que é necessário para reproduzir o ambiente em qualquer lugar.
Caminhos chave:
.flox/env/manifest.toml— Definição do ambiente (faça commit disso)$FLOX_ENV— Caminho de tempo de execução para pacotes instalados (como/usr— contémbin/,lib/,include/)$FLOX_ENV_CACHE— Armazenamento local persistente para caches, venvs, dados (sobrevive a reconstruções)$FLOX_ENV_PROJECT— Diretório raiz do projeto (onde.flox/reside)
Comandos Essenciais
flox init # Create new environment
flox search <package> [--all] # Search for packages
flox show <package> # Show available versions
flox install <package> # Add a package
flox list # List installed packages
flox activate # Enter environment
flox activate -- <cmd> # Run a command in the environment without a subshell
flox edit # Edit manifest interactively
Estrutura do Manifesto
# .flox/env/manifest.toml
[install]
# Packages to install — the core of the environment
ripgrep.pkg-path = "ripgrep"
jq.pkg-path = "jq"
[vars]
# Static environment variables
DATABASE_URL = "postgres://localhost:5432/myapp"
[hook]
# Non-interactive setup scripts (run every activation)
on-activate = """
echo "Environment ready"
"""
[profile]
# Shell functions and aliases (available in interactive shell)
common = """
alias dev="npm run dev"
"""
[options]
# Supported platforms
systems = ["x86_64-linux", "aarch64-linux", "x86_64-darwin", "aarch64-darwin"]
Padrões de Instalação de Pacotes
Instalação Básica
[install]
nodejs.pkg-path = "nodejs"
python.pkg-path = "python311"
rustup.pkg-path = "rustup"
Fixação de Versão
[install]
nodejs.pkg-path = "nodejs"
nodejs.version = "^20.0" # Semver range: latest 20.x
postgres.pkg-path = "postgresql"
postgres.version = "16.2" # Exact version
Pacotes Específicos de Plataforma
[install]
# Linux-only tools
valgrind.pkg-path = "valgrind"
valgrind.systems = ["x86_64-linux", "aarch64-linux"]
# macOS frameworks
Security.pkg-path = "darwin.apple_sdk.frameworks.Security"
Security.systems = ["x86_64-darwin", "aarch64-darwin"]
# GNU tools on macOS (where BSD defaults differ)
coreutils.pkg-path = "coreutils"
coreutils.systems = ["x86_64-darwin", "aarch64-darwin"]
Resolvendo Conflitos de Pacotes
Quando dois pacotes instalam o mesmo binário, use priority (menor número vence):
[install]
gcc.pkg-path = "gcc12"
gcc.priority = 3
clang.pkg-path = "clang_18"
clang.priority = 5 # gcc wins file conflicts
Use pkg-group para agrupar pacotes cujas versões devem ser resolvidas juntas:
[install]
python.pkg-path = "python311"
python.pkg-group = "python-stack"
pip.pkg-path = "python311Packages.pip"
…
Perguntas frequentes
Preciso instalar o Flox antes?
Sim, o Flox precisa ser instalado no seu computador primeiro. As instruções estão no site oficial do Flox.
O que significa 'reprodutível'?
Significa que o ambiente criado será exatamente o mesmo em qualquer computador onde o Flox for ativado, evitando problemas de 'funciona na minha máquina'.
Posso usar em Windows?
Atualmente, o Flox suporta macOS e Linux. Para Windows, você pode usá-lo dentro de um ambiente Docker.
Detalhes
Descrição original do autor
Create reproducible, cross-platform (macOS/Linux) development environments with Flox, a declarative Nix-based environment manager. Use when setting up project toolchains, installing system-level dependencies (compilers, databases, native libs), pinning exact package versions for a team, onboarding developers, running local services (PostgreSQL, Redis, Kafka), or solving 'works on my machine' probl
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #191
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
git-workflow-and-versioning
Organiza o trabalho de código usando o Git. Ajuda a salvar o progresso, gerenciar diferentes versões e evitar conflitos ao trabalhar em equipe.
addyosmani/agent-skills
observability-and-instrumentation
Adiciona ferramentas para monitorar o que o código faz em produção. Ajuda a entender se algo deu errado e por quê, facilitando a correção.
addyosmani/agent-skills
github-pr-workflow
Prepara pull requests no GitHub, garantindo a qualidade do código e a documentação.
paperclipai/paperclip