rccheruti/ci3-cli

Ferramenta de linha de comando para CodeIgniter 3, inspirada no Artisan.

Maintainers

Package info

github.com/rccheruti/ci3_cli

pkg:composer/rccheruti/ci3-cli

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-06-24 12:13 UTC

This package is not auto-updated.

Last update: 2026-06-25 10:45:57 UTC


README

Ferramenta de linha de comando para CodeIgniter 3, inspirada no php artisan do Laravel.
Gere controllers, models, views, libraries, helpers e migrations diretamente pelo terminal.

Sumário

Requisitos

Requisito Versão mínima
PHP 7.4+
CodeIgniter 3.x

PHP precisa estar disponível no terminal (php -v deve funcionar).

Instalação

Composer (recomendado)

Instale globalmente para disponibilizar o comando ci3 em todos os projetos:

composer global require rccheruti/ci3-cli

Descubra o diretório global de executáveis do Composer:

composer global config bin-dir --absolute

Esse diretório precisa estar no PATH do sistema. Em instalações comuns, ele fica em:

# Linux / macOS
~/.config/composer/vendor/bin

# Windows
%APPDATA%\Composer\vendor\bin

Feche e reabra o terminal depois de alterar o PATH. Em seguida, verifique a instalação:

ci3 help

Para atualizar ou remover:

composer global update rccheruti/ci3-cli
composer global remove rccheruti/ci3-cli

O PHP, o Composer e o diretório global de executáveis do Composer precisam estar disponíveis no PATH.

Instalação manual

Linux / macOS

1. Baixe os arquivos do projeto.

2. Crie um launcher executável chamado ci3 em um diretório do PATH:

sudo cp bin/ci3 ci3.php /usr/local/bin/
sudo chmod +x /usr/local/bin/ci3

Ou sem sudo, usando ~/.local/bin/:

mkdir -p ~/.local/bin
cp bin/ci3 ci3.php ~/.local/bin/
chmod +x ~/.local/bin/ci3

# Adiciona ao PATH se ainda não estiver
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

3. Verifique:

ci3 help

Windows

São necessários dois arquivos: ci3.bat e ci3.php.

1. Crie uma pasta para os scripts globais, por exemplo:

C:\tools\ci3\

2. Coloque os dois arquivos nessa pasta:

C:\tools\ci3\ci3.bat
C:\tools\ci3\ci3.php

3. Adicione a pasta ao PATH do sistema:

  • Abra o menu Iniciar e pesquise "Variáveis de ambiente"
  • Em Variáveis do sistema → selecione Path → clique em Editar
  • Clique em Novo e adicione: C:\tools\ci3
  • Clique em OK em todas as janelas abertas
  • Feche e reabra o terminal

4. Verifique:

ci3 help

Atenção: O PHP também precisa estar no PATH. Se usar XAMPP, adicione C:\xampp\php ao PATH da mesma forma. Verifique com php -v.

Detecção automática do projeto

O CI3 CLI não precisa ser executado na raiz do projeto. Ele sobe automaticamente na árvore de diretórios até encontrar uma pasta que contenha application/ junto com system/ ou um index.php com assinatura do CodeIgniter.

/var/www/
└── meu-projeto/          ← raiz detectada aqui
    ├── application/
    ├── system/
    └── index.php

# Você pode estar aqui e funciona:
$ cd /var/www/meu-projeto/application/controllers
$ ci3 make:controller Produto

Se o projeto não for encontrado, o erro abaixo é exibido:

✖ Projeto CodeIgniter 3 não encontrado.
⚠ Execute ci3 dentro da pasta do projeto (que contenha application/ e system/ ou index.php).

Comandos

make:controller

Cria um controller em application/controllers/.

ci3 make:controller <Nome> [opções]
Opção Descrição
--rest Gera métodos REST: index, show, store, update, destroy
-m ou --model Cria o Model correspondente junto
-v ou --views Cria as views index, create e edit junto
-r ou --resource Equivalente a --rest + --views

Suporta subpastas usando / no nome:

ci3 make:controller Admin/Usuario
# Cria: application/controllers/Admin/Usuario.php

make:model

Cria um model em application/models/ com CRUD básico (get_all, get_by_id, insert, update, delete).

ci3 make:model <Nome> [--table=nome_tabela]
Opção Descrição
--table=nome Define o nome da tabela manualmente. Padrão: nome em snake_case + s

Exemplo:

ci3 make:model Produto --table=tbl_produtos

make:view

Cria uma view em application/views/. Suporta subpastas.

ci3 make:view <caminho/da/view>

Exemplos:

ci3 make:view produto/index
ci3 make:view admin/usuario/index

make:resource

Gera Controller + Model + Views de uma só vez. Ideal para começar um CRUD completo.

ci3 make:resource <Nome>

O que é criado:

application/
├── controllers/Produto.php       ← com métodos REST
├── models/Produto_model.php      ← com CRUD básico
└── views/produto/
    ├── index.php
    ├── create.php
    └── edit.php

make:library

Cria uma library em application/libraries/.

ci3 make:library <Nome>

A classe gerada já obtém a instância do CI via get_instance().

make:helper

Cria um helper em application/helpers/.

ci3 make:helper <nome>
# Cria: application/helpers/nome_helper.php

O arquivo gerado usa function_exists() para evitar redeclaração, seguindo o padrão do CI3.

make:migration

Cria uma migration numerada automaticamente em application/migrations/.

ci3 make:migration <NomeDaMigration>

A numeração é calculada com base nas migrations existentes (001_, 002_, etc.).

Exemplo:

ci3 make:migration CreateProdutosTable
# Cria: application/migrations/001_create_produtos_table.php

O arquivo gerado inclui os métodos up() e down() com estrutura básica usando $this->dbforge.

list:routes

Lista todos os controllers encontrados no projeto com seus caminhos de URL correspondentes.

ci3 list:routes

info

Exibe informações do projeto detectado: raiz, versão do CodeIgniter e versão do PHP.

ci3 info

Exemplos práticos

# Controller básico
ci3 make:controller Produto

# Controller REST com model
ci3 make:controller Produto --rest -m

# Controller com subpasta e views
ci3 make:controller Admin/Usuario -v

# CRUD completo de uma vez
ci3 make:resource Pedido

# Model com tabela customizada
ci3 make:model NfeEmitida --table=nfe_emitidas

# View com subpasta
ci3 make:view nfe/detalhe

# Library
ci3 make:library DanfseGenerator

# Helper
ci3 make:helper formatacao_fiscal

# Migration
ci3 make:migration CreateNfeEmitidaTable

# Ver controllers do projeto
ci3 list:routes

# Info do projeto
ci3 info

Estrutura gerada

Um ci3 make:resource Produto produz:

application/
├── controllers/
│   └── Produto.php
│       └── métodos: index, show, store, update, destroy
│
├── models/
│   └── Produto_model.php
│       └── métodos: get_all, get_by_id, insert, update, delete
│       └── $table = 'produtos'
│
└── views/
    └── produto/
        ├── index.php
        ├── create.php
        └── edit.php

Arquivos que já existem não são sobrescritos — o CI3 CLI exibe um aviso e pula o arquivo.

Solução de problemas

command not found: ci3
O diretório onde o arquivo está não está no PATH. Revise a seção de instalação.

php: command not found
O PHP não está no PATH do sistema. Adicione o diretório do executável PHP ao PATH.

Projeto CI3 não encontrado
O script sobe no máximo 6 níveis de diretório. Certifique-se de estar dentro da pasta do projeto e que ela contém application/ e system/ (ou index.php com assinatura do CodeIgniter).

Arquivo já existe
O CI3 CLI nunca sobrescreve arquivos. Delete o arquivo existente manualmente antes de regerar.

Licença

MIT — use, modifique e distribua à vontade.