Skip to content

AdaiasMagdiel/felix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Felix the Recursive Cat Banner

🐱 Felix — A Recursive Cat

Go Version License: GPL v3 Build

Felix is a small but powerful command-line tool written in Go 🧰
It recursively reads files that match wildcard patterns (like *.md, **/*.txt, etc.)
and prints their contents — just like the Unix cat, but recursive and smart 🐾

“Felix” comes from Latin, meaning happy or lucky.

It’s also a nod to our feline friends — perfect for a recursive cat. 🐾


✨ Features

  • 📂 Recursive glob pattern support (**/*.md)
  • 🧾 Multiple file patterns (*.md, *.txt, etc.)
  • ⚙️ Output redirection (-o output.txt)
  • 🚫 Automatic binary file detection and skip
  • 💙 Pure Go — no external dependencies besides doublestar

🚀 Installation

Prerequisites

Install directly from GitHub

go install github.com/AdaiasMagdiel/felix@latest

🧰 Usage

felix [options] <pattern1> [<pattern2> ...]

Examples:

felix **/*.md
felix *.txt *.log
felix -o combined.txt **/*.md

Output:

===== docs/readme.md =====
# Introduction
Welcome to Felix!

===== notes/todo.txt =====
- [x] Implement recursive globbing
- [x] Detect and skip binary files
- [x] Add output redirection

⚙️ Build from source

git clone https://github.com/AdaiasMagdiel/felix.git
cd felix
go build ./cmd/felix

🧱 Project structure

felix/
├── assets/
│   └── banner.jpg
├── main.go
├── go.mod
├── go.sum
├── COPYRIGHT
├── LICENSE
└── README.md

📜 License

Licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.

About

Felix is a small yet powerful command-line utility written in Go. It recursively reads and prints files matching wildcard patterns (*.md, **/*.txt, etc.), skips binary files automatically, and supports output redirection with the -o flag.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages