{"id":22624750,"url":"https://github.com/alexwanderman/mkfile","last_synced_at":"2025-10-28T03:02:25.150Z","repository":{"id":200554190,"uuid":"705790236","full_name":"AlexWanderman/mkfile","owner":"AlexWanderman","description":"CLI app for creating text files (zero dependencies).","archived":false,"fork":false,"pushed_at":"2025-07-29T14:23:16.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-10T22:38:58.230Z","etag":null,"topics":["cli","comand-line-tool","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/mkfile","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/AlexWanderman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-16T17:37:00.000Z","updated_at":"2025-07-29T14:30:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"a8150dac-941c-4750-b578-7e59a5e5161c","html_url":"https://github.com/AlexWanderman/mkfile","commit_stats":null,"previous_names":["alexwanderman/mkfile"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlexWanderman/mkfile","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexWanderman%2Fmkfile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexWanderman%2Fmkfile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexWanderman%2Fmkfile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexWanderman%2Fmkfile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexWanderman","download_url":"https://codeload.github.com/AlexWanderman/mkfile/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexWanderman%2Fmkfile/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002054,"owners_count":26083286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"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","comand-line-tool","rust"],"created_at":"2024-12-09T00:17:43.707Z","updated_at":"2025-10-09T21:34:05.307Z","avatar_url":"https://github.com/AlexWanderman.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview ![Crates.io](https://img.shields.io/crates/v/mkfile)\n\nSmall CLI program written in Rust that creates text files. This program supports creating files\nwith parents, with text and with Unix permissions. Can perform verbose and dry (without creating\nfiles) runs.\n\nThis program handles errors gracefully. If an error occurs, such as being unable to create a file,\nit will display an error message but will not delete any files or directories that have already\nbeen created. The program will continue executing and will not stop after encountering an error.\n\nFile access mode is only available for Unix. This program was not yest tested on Windows.\n\n# Install\n\nInstall with `cargo install mkfile`.\n\n# Options\n- d or dry: perform \"dry\" run, always verbose\n- v or verbose: print a message for each successful file (by default only for errors)\n- p or parents: create parent directories recursively\n- o or overwrite: overwrite already existing files\n- text \"STRING\": default text for every file\n- mode rwxrwxrwx: access mode for files after this option\n- help: print this help and exit\n- version: print version information and exit\n\nMode option is only applied for files that go after it and only for files (directories are not affected).\n\nText option is applied for all files.\n\n# Usage example\n\nAssume following examples are run in users home directory.\n\nThe most basic example. New file with text and permissions to be read-write for owner, read\nfor group and none for others. Verbose output.\n`mkfile -v --text \"Example\" --mode rw-r----- file.txt`\n`/home/user/file.txt: Was created [mode 640].`\n\nCreating new file with parent directory.\n`mkfile -vp dir/file.txt`\n`/home/user/dir/file.txt: Was created with parent.`\n\nPreview a bunch of files without actually creating them.\n`mkfile -d file{1..3}.txt dir/file{1..3}.txt`\n\n```\n/home/user/Documents/Rust/mkfile/file1.txt: To be created.\n/home/user/Documents/Rust/mkfile/file2.txt: To be created.\n/home/user/Documents/Rust/mkfile/file3.txt: To be created.\n/home/user/Documents/Rust/mkfile/dir/file1.txt (for parent): Parent does not exist.\n/home/user/Documents/Rust/mkfile/dir/file2.txt (for parent): Parent does not exist.\n/home/user/Documents/Rust/mkfile/dir/file3.txt (for parent): Parent does not exist.\n```\n\n# Future ideas\n\n- Exclude permission stuff from running on Windows\n- Color output\n- Undo partial changes on error\n- Change text for error messages\n- Move file/parent creation in a function\n- Parse text and substitute some patterns\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexwanderman%2Fmkfile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexwanderman%2Fmkfile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexwanderman%2Fmkfile/lists"}