How shiwildy/gecko works
Gecko is a Windows-oriented CLI for managing a local web-development stack. The principal workflow is to launch the CLI, choose a service or project-management action, and have Gecko configure or operate local services and project files; PHP projects can also receive a local virtual host. Separate capabilities include PostgreSQL, security/development-mode controls, SSL certificates, port changes, and Ngrok/Cloudflare tunnels. The graph reflects sampled calls and README capabilities; some service internals and Cloudflare wiring were not excerpted, so uncertain links are omitted or marked unverified.
Main entry points: main.go Gecko entry · config_manager.go Configuration · security_manager.go Access settings · port_manager.go Port settings
Components 17
CLI
- Gecko entry
cmd/gecko/main.go - Terminal menu
internal/cli/menu.go
Local Stack
- Configuration
internal/service/config_manager.go - Apache control
internal/service/apache.go - MySQL control
internal/service/mysql.go - PostgreSQL control
internal/service/postgresql_manager.go - PHP information
internal/service/php_manager.go - Service status
internal/service/status.go - Port settings
internal/service/port_manager.go - Access settings
internal/service/security_manager.go
Project Setup
- Project manager
internal/service/project_manager.go - Project templates
internal/service/template_manager.go - Virtual hosts
internal/service/vhost.go
Network Access
- SSL certificates
internal/service/openssl_manager.go - Ngrok tunnels
internal/service/ngrok_manager.go - Cloudflare tunnels
internal/service/cloudflare_manager.go
Other components
- Developer
Connections 26
- Developer → Gecko entry: runs
README.md - Gecko entry → Terminal menu: presents
- Gecko entry → Configuration: loads
cmd/gecko/main.go - Terminal menu → Service status: queries
internal/cli/menu.go - Terminal menu → Configuration: reads
internal/cli/menu.go - Gecko entry → Apache control: controls
cmd/gecko/main.go - Gecko entry → MySQL control: controls
cmd/gecko/main.go - Gecko entry → PostgreSQL control: controls
- Gecko entry → Ngrok tunnels: starts or stops
cmd/gecko/main.go - Gecko entry → Cloudflare tunnels: starts or stops
cmd/gecko/main.go - Gecko entry → Project manager: creates projects
cmd/gecko/main.go - Project manager → Project templates: dispatches creation
internal/service/project_manager.go - Project manager → Virtual hosts: creates host
internal/service/project_manager.go - Project manager → Configuration: deletes database
- Port settings → Configuration: saves ports
internal/service/port_manager.go - Port settings → Apache control: restarts if running
internal/service/port_manager.go - Port settings → MySQL control: restarts if running
internal/service/port_manager.go - Port settings → PostgreSQL control: restarts if running
internal/service/port_manager.go - Access settings → Configuration: updates mode
internal/service/security_manager.go - Access settings → Apache control: restarts if running
internal/service/security_manager.go - Access settings → MySQL control: restarts if running
internal/service/security_manager.go - Access settings → PostgreSQL control: restarts if running
internal/service/security_manager.go - PostgreSQL control → Access settings: applies settings
internal/service/postgresql_manager.go - Ngrok tunnels → Apache control: forwards port
internal/service/ngrok_manager.go - Ngrok tunnels → Configuration: reads port
internal/service/ngrok_manager.go - Virtual hosts → SSL certificates: uses certificates