Skip to content

fireflylabss/fly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fly — Firefly Labs Package Manager

Gerenciador de pacotes unificado para projetos Firefly Labs, escrito em Rust.

Funcionalidades

  • Presets Automáticos: Apps FireflyLabs já pré-configurados
  • Detecção Automática: Detecta tipo de projeto (Rust, Node.js, Tauri, Electron)
  • Build Inteligente: Executa comandos de build apropriados
  • Symlinks Automáticos: Cria links em /usr/local/bin/
  • Gerenciamento de Config: Diretórios em /firefly/config/
  • Atualização Simples: Atualize apps individualmente ou todos
  • Rastreamento de Versões: Controle via Git

Instalação

Método Recomendado (Installer Script)

# Baixar e rodar o instalador automático
curl -fsSL https://raw.githubusercontent.com/fireflylabss/fly/main/install-fly.sh | bash

# Ou clonar e rodar manualmente
git clone https://github.com/fireflylabss/fly.git
cd fly
./install-fly.sh

O instalador automático:

  • ✅ Detecta seu sistema automaticamente
  • ✅ Instala todas as dependências (Rust, Git, Node.js, Bun, FFmpeg)
  • ✅ Instala o fly
  • ✅ Verifica conflitos com instalações existentes
  • ✅ Suporta modo --force para sobrescrever sem perguntar

Opções do Instalador

# Modo normal (pergunta se houver conflitos)
./install-fly.sh

# Modo force (sobrescreve tudo sem perguntar)
./install-fly.sh --force

# Mostrar ajuda
./install-fly.sh --help

Método Manual

cd fly
cargo build --release
sudo ln -sf $(pwd)/target/release/fly /usr/local/bin/fly

Configuração Inicial

fly setup

Isso cria:

  • /firefly/apps/ — Apps instalados
  • /firefly/config/ — Configurações
  • ~/.fly/installed.json — Apps instalados

Uso

Ver Presets Disponíveis

fly check

Instalar Apps

# Instalar usando preset (pergunta se já existe)
fly install firetasks
fly install firemusic
fly install aensh

# Instalar forçando sobrescrita (sem perguntar)
fly install firetasks --force
fly install firemusic --force

Gerenciar Apps Instalados

# Listar apps instalados
fly list

# Atualizar app específico
fly update firetasks

# Atualizar todos os apps
fly update --all

# Remover app
fly remove firetasks

Presets Disponíveis

Apps FireflyLabs pré-configurados:

  • aensh — Shell Unix em Rust
  • aurora — Aplicação Discord
  • firekeep — Cofre de credenciais
  • firetasks — Gerenciador de tarefas
  • dragonfly — App agentico web-first
  • eterscript — Linguagem de script
  • fireworker — App desktop (Tauri)
  • jully — Aplicação Discord
  • firemusic — Player CLI
  • void — Super-app monolítico

Tipos de Projeto Suportados

Detecta automaticamente e executa os comandos apropriados:

  • Rust (Cargo.toml): cargo build --release
  • Node.js (package.json): npm install && npm run build
  • Tauri (tauri.conf.json): npm install && npm run tauri build
  • Electron (electron): bun install && bun run build

Estrutura de Arquivos

/firefly/
├── apps/          ← Source code dos apps instalados
│   └── firetasks/
│       ├── target/release/firetasks
│       └── ...
└── config/        ← Configurações
    └── firetasks/
        └── tasks.json

~/.fly/
└── installed.json ← Metadados dos apps instalados

Exemplo Completo

# 1. Setup inicial
fly setup

# 2. Ver presets disponíveis
fly check

# 3. Instalar apps
fly install firetasks
fly install firemusic

# 4. Listar apps instalados
fly list

# 5. Atualizar apps
fly update firetasks
fly update --all

# 6. Remover app (se necessário)
fly remove firemusic

Desenvolvimento

Estrutura do Código

src/
├── main.rs          ← Entry point
├── cli/             ← CLI com clap
├── types/           ← Estruturas de dados e presets
├── filesystem/      ← Gerenciamento do filesystem
└── apps/            ← Instalação, atualização, remoção

Build

# Build debug
cargo build

# Build release
cargo build --release

# Executar
cargo run -- --help

Dependências

  • Rust (cargo)
  • Git
  • Para projetos Node.js: npm/node
  • Para projetos Tauri: npm/node + dependências do sistema
  • Para projetos Electron: bun

Licença

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages