{"id":27050925,"url":"https://github.com/00msjr/drako","last_synced_at":"2025-08-22T12:14:05.403Z","repository":{"id":280885687,"uuid":"943492185","full_name":"00msjr/drako","owner":"00msjr","description":"🐉 A better mkdir command.","archived":false,"fork":false,"pushed_at":"2025-06-02T13:45:45.000Z","size":337,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-17T01:32:36.146Z","etag":null,"topics":["cli","directory","mkdir","plugin","terminal"],"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/00msjr.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}},"created_at":"2025-03-05T19:45:56.000Z","updated_at":"2025-06-02T13:45:48.000Z","dependencies_parsed_at":"2025-05-26T06:16:13.349Z","dependency_job_id":null,"html_url":"https://github.com/00msjr/drako","commit_stats":null,"previous_names":["michaelsousajr/makedir","soup-ms/makedir","00msjr/makedir","00msjr/drako"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/00msjr/drako","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/00msjr%2Fdrako","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/00msjr%2Fdrako/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/00msjr%2Fdrako/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/00msjr%2Fdrako/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/00msjr","download_url":"https://codeload.github.com/00msjr/drako/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/00msjr%2Fdrako/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271636033,"owners_count":24794144,"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-08-22T02:00:08.480Z","response_time":65,"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","directory","mkdir","plugin","terminal"],"created_at":"2025-04-05T08:20:01.946Z","updated_at":"2025-08-22T12:14:05.382Z","avatar_url":"https://github.com/00msjr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-configure-file {\n  \"MD013\": {\n    \"code_blocks\": false,\n    \"tables\": false\n  },\n  \"MD033\": false,\n  \"MD041\": false\n} --\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# drako\n\n[![crates.io](https://img.shields.io/crates/v/drako?logo=rust\u0026logoColor=white\u0026style=flat-square)](https://crates.io/crates/drako)\n\ndrako is a **better directory creation tool**.\n\ndrako creates directories with project initialization options, so you can set up\nnew projects in just a few keystrokes.\u003cbr /\u003e\ndrako works on all major operating systems and is written in Rust 🦀.\n\n[Getting started](#getting-started) •\n[Installation](#installation) •\n[Configuration](#configuration) •\n[Integrations](#third-party-integrations)\n\n\u003c/div\u003e\n\n## Getting started\n\n```sh\ndrako myproject                  # Create a simple directory\ndrako myproject --git            # Create a directory and initialize git\ndrako myproject --git --readme   # Create a directory with git and README.md\ndrako project1 project2 --npm    # Create multiple directories with npm init\ndrako myproject -755             # Create a directory with permissions set to 755\ndrako myproject --verbose        # Create a directory with verbose output\n\n# Use short flags for convenience\ndrako myproject -g -r            # Same as --git --readme\ndrako myproject -v -755          # Create with verbose output and permissions 755\n```\n\nCreate an alias for even faster usage:\n\n```sh\n# Add to your shell config file (.bashrc, .zshrc, etc.)\nalias dr='drako'\nalias drv='drako -v'             # Always use verbose output\n\n# Then use it like this:\ndr newproject -g -r                # Create directory with git and README\ndrv newproject -g -755             # Create with git, verbose output and permissions 755\n```\n\n## Installation\n\n### Using Cargo\n\n```bash\ncargo install drako\n```\n\n### Using Homebrew\n\n```bash\nbrew install 00msjr/tap/drako\n```\n\ndrako can be installed in a few easy steps:\n\n1. **Install binary**\n\n   drako runs on most major platforms. If your platform isn't listed below,\n   please [open an issue](https://github.com/00msjr/drako/issues).\n\n      \u003cdetails\u003e\n      \u003csummary\u003eLinux / WSL\u003c/summary\u003e\n\n   \u003e Using cargo:\n   \u003e\n   \u003e ```sh\n   \u003e cargo install drako --locked\n   \u003e ```\n   \u003e\n   \u003e Using Homebrew:\n   \u003e\n   \u003e ```sh\n   \u003e brew install 00msjr/tap/drako\n   \u003e ```\n   \u003e\n   \u003e Or, use the install script:\n   \u003e\n   \u003e ```sh\n   \u003e curl -sSfL https://raw.githubusercontent.com/00msjr/drako/master/install.sh | sh\n   \u003e ```\n\n      \u003c/details\u003e\n\n      \u003cdetails\u003e\n      \u003csummary\u003emacOS\u003c/summary\u003e\n\n   \u003e Using Homebrew:\n   \u003e\n   \u003e ```sh\n   \u003e brew tap 00msjr/drako\n   \u003e brew install drako\n   \u003e ```\n   \u003e\n   \u003e Using cargo:\n   \u003e\n   \u003e ```sh\n   \u003e cargo install drako --locked\n   \u003e ```\n   \u003e\n   \u003e Or, use the install script:\n   \u003e\n   \u003e ```sh\n   \u003e curl -sSfL https://raw.githubusercontent.com/00msjr/drako/master/install.sh | sh\n   \u003e ```\n\n      \u003c/details\u003e\n\n      \u003cdetails\u003e\n      \u003csummary\u003eWindows\u003c/summary\u003e\n\n   \u003e drako works with PowerShell, as well as shells running in Cygwin, Git\n   \u003e Bash, and MSYS2.\n   \u003e\n   \u003e The recommended way to install drako is via cargo:\n   \u003e\n   \u003e ```sh\n   \u003e cargo install drako --locked\n   \u003e ```\n   \u003e\n   \u003e If you're using Cygwin, Git Bash, or MSYS2, you can also use the install script:\n   \u003e\n   \u003e ```sh\n   \u003e curl -sSfL https://raw.githubusercontent.com/00msjr/drako/master/install.sh | sh\n   \u003e ```\n\n      \u003c/details\u003e\n\n2. **Setup aliases** (optional)\n\n   To make drako even more convenient, add aliases to your shell configuration.\n\n   \u003cdetails\u003e\n   \u003csummary\u003eBash\u003c/summary\u003e\n\n   \u003e Add this to your config file (usually `~/.bashrc`):\n   \u003e\n   \u003e ```sh\n   \u003e # Basic alias\n   \u003e alias md='drako'\n   \u003e\n   \u003e # Aliases with common options\n   \u003e alias mdg='drako --git'\n   \u003e alias mdr='drako --readme'\n   \u003e alias mdgr='drako --git --readme'\n   \u003e\n   \u003e # For shell completion (if available)\n   \u003e eval \"$(drako --completion bash)\"\n   \u003e ```\n\n   \u003c/details\u003e\n\n   \u003cdetails\u003e\n   \u003csummary\u003eZsh\u003c/summary\u003e\n\n   \u003e Add this to your config file (usually `~/.zshrc`):\n   \u003e\n   \u003e ```sh\n   \u003e # Basic alias\n   \u003e alias md='drako'\n   \u003e\n   \u003e # Aliases with common options\n   \u003e alias mdg='drako --git'\n   \u003e alias mdr='drako --readme'\n   \u003e alias mdgr='drako --git --readme'\n   \u003e\n   \u003e # For shell completion (if available)\n   \u003e eval \"$(drako --completion zsh)\"\n   \u003e ```\n\n   \u003c/details\u003e\n\n   \u003cdetails\u003e\n   \u003csummary\u003eFish\u003c/summary\u003e\n\n   \u003e Add this to your config file (usually `~/.config/fish/config.fish`):\n   \u003e\n   \u003e ```sh\n   \u003e # Basic alias\n   \u003e alias md='drako'\n   \u003e\n   \u003e # Aliases with common options\n   \u003e alias mdg='drako --git'\n   \u003e alias mdr='drako --readme'\n   \u003e alias mdgr='drako --git --readme'\n   \u003e\n   \u003e # For shell completion (if available)\n   \u003e drako --completion fish | source\n   \u003e ```\n\n   \u003c/details\u003e\n\n   \u003cdetails\u003e\n   \u003csummary\u003ePowerShell\u003c/summary\u003e\n\n   \u003e Add this to your PowerShell profile (find it by running `echo $profile`):\n   \u003e\n   \u003e ```powershell\n   \u003e # Basic alias\n   \u003e Set-Alias -Name md -Value drako\n   \u003e\n   \u003e # Function aliases with common options\n   \u003e function mdg { drako --git $args }\n   \u003e function mdr { drako --readme $args }\n   \u003e function mdgr { drako --git --readme $args }\n   \u003e ```\n\n   \u003c/details\u003e\n\n## Features\n\ndrako provides several project initialization options:\n\n| Flag        | Short  | Description                                                |\n| ----------- | ------ | ---------------------------------------------------------- |\n| `--git`     | `-g`   | Initialize a Git repository                                |\n| `--readme`  | `-r`   | Generate a template README.md file                         |\n| `--license` | `-l`   | Generate a template MIT License file                       |\n| `--docker`  | `-do`  | Generate a template Docker file                            |\n| `--go`      | `-go`  | Initialize a Go project                                    |\n| `--cargo`   | `-c`   | Initialize a Rust Cargo project                            |\n| `--npm`     | `-n`   | Initialize an npm project (package.json)                   |\n| `--bun`     | `-b`   | Initialize a Bun project                                   |\n| `--yarn`    | `-y`   | Initialize a Yarn project                                  |\n| `--pnpm`    | `-p`   | Initialize a pnpm project                                  |\n| `--deno`    | `-d`   | Initialize a Deno project (deno.json)                      |\n| `--verbose` | `-v`   | Show detailed output from commands                         |\n|             | `-###` | Set directory permissions (octal format, e.g., -700, -755) |\n\n## Configuration\n\n### Custom aliases\n\nYou can create custom aliases with your most frequently used options:\n\n```sh\n# For bash/zsh/fish\nalias mdweb='drako --git --readme --npm'\nalias mdrust='drako --git --readme --cargo'\nalias mdgo='drako --git --readme --go'\n\n# For PowerShell\nfunction mdweb { drako --git --readme --npm $args }\nfunction mdrust { drako --git --readme --cargo $args }\nfunction mdgo { drako --git --readme --go $args }\n```\n\n### Environment variables\n\nFuture versions of drako may support environment variables for configuration.\n\n## Third-party integrations\n\ndrako can be integrated with various tools and workflows:\n\n| Application       | Description                       | Integration                 |\n| ----------------- | --------------------------------- | --------------------------- |\n| Git hooks         | Automatically initialize projects | Use in post-clone hooks     |\n| CI/CD pipelines   | Create project structures         | Include in workflow scripts |\n| Project templates | Standardize project setup         | Combine with template tools |\n\n## Roadmap\n\nThe following items outline our development plan for evolving drako into a more powerful directory creation and management tool:\n\n### Version 1.0.0 Roadmap\n\n- [x] Rename project from \"makedir\" to \"drako\" for better branding\n- [x] Code optimization and refactoring\n  - [ ] Separate functions into individual files for better maintainability\n  - [ ] Implement proper module imports for features (-l, -r, -do, etc.)\n  - [ ] Standardize code formatting across the codebase\n- [ ] Command improvements\n  - [ ] Add comprehensive `--help` documentation\n  - [ ] Implement `--cd` flag to automatically change into created directory\n  - [ ] Support `mkdir -p \"$1\" \u0026\u0026 cd \"$1\"` pattern for nested directory creation\n- [ ] Feature enhancements\n  - [ ] Add directory tree creation (e.g., `drako testdir(src, public, tests)`)\n  - [ ] Implement password protection for directories\n- [ ] Distribution\n  - [ ] Submit PR to homebrew-core for official distribution\n  - [ ] Reorganize project structure with homebrew file in main directory\n\n## Contributing\n\nContributions are welcome! To contribute:\n\n1. **Fork the repo.**\n2. **Make your changes.**\n3. **Test thoroughly.**\n4. **Submit a Pull Request (PR).**\n\nFeel free to open an issue for discussions or ideas.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F00msjr%2Fdrako","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F00msjr%2Fdrako","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F00msjr%2Fdrako/lists"}