{"id":16049848,"url":"https://github.com/codad5/cli-fs","last_synced_at":"2026-06-17T06:32:27.781Z","repository":{"id":182254892,"uuid":"668197795","full_name":"codad5/cli-fs","owner":"codad5","description":"A demonstration of the use case of fli building a cli based file system manager","archived":false,"fork":false,"pushed_at":"2023-07-22T11:43:13.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-22T03:13:43.716Z","etag":null,"topics":["cli","filesystem","fli"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codad5.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-19T08:49:53.000Z","updated_at":"2023-10-14T09:23:24.000Z","dependencies_parsed_at":"2023-07-19T10:15:10.542Z","dependency_job_id":null,"html_url":"https://github.com/codad5/cli-fs","commit_stats":null,"previous_names":["codad5/cli-fs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codad5/cli-fs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codad5%2Fcli-fs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codad5%2Fcli-fs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codad5%2Fcli-fs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codad5%2Fcli-fs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codad5","download_url":"https://codeload.github.com/codad5/cli-fs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codad5%2Fcli-fs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34437449,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","filesystem","fli"],"created_at":"2024-10-09T00:40:29.020Z","updated_at":"2026-06-17T06:32:27.767Z","avatar_url":"https://github.com/codad5.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cli-fs\r\n\r\ncli-fs is a simple CLI app for common file operations written in Rust. It uses the [**fli**](https://github.com/codad5/fli) crate, which provides a simple and intuitive way to define command-line interfaces for your Rust applications.\r\n\r\n## About cli-fs\r\n\r\ncli-fs was developed as a showcase of some of the use cases of the `fli` crate, which provides an easy-to-use framework for building command-line interfaces in Rust. It demonstrates how to perform common file operations such as listing the contents of a directory, moving files, creating files, speaking words, and writing to files.\r\n\r\n## Please Note\r\n\r\nThis project is primarily intended as a demonstration and learning tool for using the `fli` crate. While it provides basic functionality for file operations, it may not be suitable for production use without further enhancements and testing.\r\n## Usage\r\n\r\nTo use cli-fs, follow the steps below:\r\n\r\n1. Clone the repository:\r\n   ```bash\r\n   git clone https://github.com/codad5/cli-fs.git\r\n   cd cli-fs\r\n   ```\r\n\r\n2. Build the application:\r\n   ```bash\r\n   cargo build --release\r\n   ```\r\n\r\n3. Run the application:\r\n   ```bash\r\n   cargo run --release\r\n   ```\r\n\r\n## Commands\r\n\r\ncli-fs provides the following commands:\r\n\r\n- `ls`: List the contents of the current directory.\r\n  - Options:\r\n    - `-b, --brief`: List the directory content in brief.\r\n\r\n- `move`: Move a file or directory to another location.\r\n  - Options:\r\n    - `-f, --force`: Force move.\r\n\r\n- `create`: Create a new file.\r\n  - Options:\r\n    - `-p, --put \u003ccontent\u003e`: Put content into the file.\r\n\r\n- `speak`: Speak a word or the content of a file.\r\n  - Options:\r\n    - `-f, --file \u003cfilename\u003e`: Speak the content of a file.\r\n\r\n- `write`: Write a word to a file.\r\n  - Options:\r\n    - `-a, --append`: Append the word to the file.\r\n    - `-f, --force`: Force the operation (no effect).\r\n\r\n## Examples\r\n\r\n- List the contents of the current directory in brief:\r\n  ```bash\r\n  ./cli-fs ls -b\r\n  ```\r\n\r\n- Move a file to another location:\r\n  ```bash\r\n  ./cli-fs move old_file.txt new_directory/\r\n  ```\r\n\r\n- Create a new file with content:\r\n  ```bash\r\n  ./cli-fs create new_file.txt -p \"Hello, world!\"\r\n  ```\r\n\r\n- Speak a word:\r\n  ```bash\r\n  ./cli-fs speak \"Hello, world!\"\r\n  ```\r\n\r\n- Speak the content of a file:\r\n  ```bash\r\n  ./cli-fs speak -f filename.txt\r\n  ```\r\n\r\n- Write a word to a file (append mode):\r\n  ```bash\r\n  ./cli-fs write filename.txt \"Hello, world!\" -a\r\n  ```\r\n\r\n- Write a word to a file (overwrite mode, force has no effect):\r\n  ```bash\r\n  ./cli-fs write filename.txt \"Hello, world!\" -f\r\n  ```\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Acknowledgments\r\n\r\n- The `fli` crate used in this project is developed and maintained by [Chibueze Aniezeofor](https://github.com/codad5).\r\n- Special thanks to [Chibueze Aniezeofor](https://github.com/codad5) for creating cli-fs and showcasing the capabilities of the `fli` crate.\r\n\r\nFeel free to explore the code, experiment with the app, and use it as a reference for building your own CLI applications using the `fli` crate. If you encounter any issues or have suggestions for improvements, please don't hesitate to open an issue or pull request on the [GitHub repository](https://github.com/codad5/cli-fs).\r\n\r\nHappy coding!\r\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodad5%2Fcli-fs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodad5%2Fcli-fs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodad5%2Fcli-fs/lists"}