mkdf


Namemkdf JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/Noziop/mkdf
SummaryMake Directories and Files - Professional Project Creator with Rich CLI and Web UI
upload_time2025-08-07 21:36:56
maintainerNone
docs_urlNone
authorFassih Belmokhtar
requires_python<4.0,>=3.10
licenseAGPL-3.0
keywords cli project-generator docker templates development rich rainbow web-ui
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MKDF – Make Directories and Files

![PyPI](https://img.shields.io/pypi/v/mkdf)
![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue)
![Poetry](https://img.shields.io/badge/poetry-managed-blue)
![FastAPI](https://img.shields.io/badge/fastapi-async-green)
![SQLite](https://img.shields.io/badge/sqlite-embedded-lightgrey)
![AGPL](https://img.shields.io/badge/license-AGPL-blue)
![Release](https://img.shields.io/github/v/release/Noziop/mkdf?include_prereleases)
![Issues](https://img.shields.io/github/issues/Noziop/mkdf)
![Cherish your git flow or perish](https://img.shields.io/badge/Cherish%20your%20gitflow-or%20perish-red)
![Survived rm -rf *](https://img.shields.io/badge/SURVIVED-rm%20--rf%20*-red)

---

> **One command to create them all,  
> one command to find all ports & subnet,  
> and in the docker-compose bind them.**

---

## Why mkdf?

**You’re tired of boilerplate.**  
So was I.  
MKDF exists because we’re done wasting life on project scaffolding.  
Folders, files, docker combos: all automated.

_TL;DR: Type, hit enter, and mkdf does in milliseconds what took you hours. No bs, no fluff, no time to waste._

---

### New here? Start fast

```
mkdf --help
mkdf
mkdf create
```
And follow the prompts.

---

### Features (yes, already works)

- **CLI-first:** Type, hit enter, done.
- **Docker combos:** Auto port/subnet, compose-ready.
- **Templates:** React, Vue, FastAPI, Flask, Express, Laravel (+ soon).
- **Brace expansion:**  
  ```
  mkdf {api,utils}/test_{a,b}.py
  tree my-app
  ```
  (forests, not trees)

- **"God mode":**  
  ```
  mkdf create my-app fastapi vue redis traefik --backend-port 8080 --frontend-port 3000
  ```

---

## ⚡️ Status (v0.1.1 alpha)

- **Stable:** CLI, templates, docker combos, brace expansion.
- **WIP:** .env, backend, web UI (FastAPI+Vue).
- **Next:** Smart DB config, plugin system, cloud, PRs welcome.

---

## 🚀 Install

```
pip install mkdf
```

---

## 🛠 Usage

```
mkdf create my-f-api fastapi
mkdf my-app/{src/{api,models,services},docs/{README.md,INSTALL.md},tests/test_api.py,.env}
mkdf create my-stack docker fastapi vue redis traefik --backend-port 8080 --frontend-port 3000
tree -h my-stack
```

---

## Contribution & Feedback

- Bugs or 🚀 ideas? [Open an issue](https://github.com/Noziop/mkdf/issues).
- Use. Break. Contribute. PR. Fork. Yell.
- This is a tool *from a dev for devs*.  
  Feedback welcome (I’m done with solo rants).

---

## Docs

**WIP** — I’m rewriting all docs to reflect latest features.
*You want to help? Open a PR or hit me by issues!*

---

## License

[GNU AGPL v3.0](LICENSE) — Free as in freedom, not as in SaaS-taking.  
Commercial/SaaS use? [license@buildme.it](mailto:license@buildme.it)

---

> **Get shit done. Fast. Survive your next rm -rf.  
> mkdf — built by the person who needed it most.**

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Noziop/mkdf",
    "name": "mkdf",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "cli, project-generator, docker, templates, development, rich, rainbow, web-ui",
    "author": "Fassih Belmokhtar",
    "author_email": "contact@fassih.ch",
    "download_url": "https://files.pythonhosted.org/packages/69/d9/881dd43ebd0161de0c3ece5194a73ab4719dcf9441d1f5d27c9ac11262b0/mkdf-0.1.2.tar.gz",
    "platform": null,
    "description": "# MKDF \u2013 Make Directories and Files\n\n![PyPI](https://img.shields.io/pypi/v/mkdf)\n![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue)\n![Poetry](https://img.shields.io/badge/poetry-managed-blue)\n![FastAPI](https://img.shields.io/badge/fastapi-async-green)\n![SQLite](https://img.shields.io/badge/sqlite-embedded-lightgrey)\n![AGPL](https://img.shields.io/badge/license-AGPL-blue)\n![Release](https://img.shields.io/github/v/release/Noziop/mkdf?include_prereleases)\n![Issues](https://img.shields.io/github/issues/Noziop/mkdf)\n![Cherish your git flow or perish](https://img.shields.io/badge/Cherish%20your%20gitflow-or%20perish-red)\n![Survived rm -rf *](https://img.shields.io/badge/SURVIVED-rm%20--rf%20*-red)\n\n---\n\n> **One command to create them all,  \n> one command to find all ports & subnet,  \n> and in the docker-compose bind them.**\n\n---\n\n## Why mkdf?\n\n**You\u2019re tired of boilerplate.**  \nSo was I.  \nMKDF exists because we\u2019re done wasting life on project scaffolding.  \nFolders, files, docker combos: all automated.\n\n_TL;DR: Type, hit enter, and mkdf does in milliseconds what took you hours. No bs, no fluff, no time to waste._\n\n---\n\n### New here? Start fast\n\n```\nmkdf --help\nmkdf\nmkdf create\n```\nAnd follow the prompts.\n\n---\n\n### Features (yes, already works)\n\n- **CLI-first:** Type, hit enter, done.\n- **Docker combos:** Auto port/subnet, compose-ready.\n- **Templates:** React, Vue, FastAPI, Flask, Express, Laravel (+ soon).\n- **Brace expansion:**  \n  ```\n  mkdf {api,utils}/test_{a,b}.py\n  tree my-app\n  ```\n  (forests, not trees)\n\n- **\"God mode\":**  \n  ```\n  mkdf create my-app fastapi vue redis traefik --backend-port 8080 --frontend-port 3000\n  ```\n\n---\n\n## \u26a1\ufe0f Status (v0.1.1 alpha)\n\n- **Stable:** CLI, templates, docker combos, brace expansion.\n- **WIP:** .env, backend, web UI (FastAPI+Vue).\n- **Next:** Smart DB config, plugin system, cloud, PRs welcome.\n\n---\n\n## \ud83d\ude80 Install\n\n```\npip install mkdf\n```\n\n---\n\n## \ud83d\udee0 Usage\n\n```\nmkdf create my-f-api fastapi\nmkdf my-app/{src/{api,models,services},docs/{README.md,INSTALL.md},tests/test_api.py,.env}\nmkdf create my-stack docker fastapi vue redis traefik --backend-port 8080 --frontend-port 3000\ntree -h my-stack\n```\n\n---\n\n## Contribution & Feedback\n\n- Bugs or \ud83d\ude80 ideas? [Open an issue](https://github.com/Noziop/mkdf/issues).\n- Use. Break. Contribute. PR. Fork. Yell.\n- This is a tool *from a dev for devs*.  \n  Feedback welcome (I\u2019m done with solo rants).\n\n---\n\n## Docs\n\n**WIP** \u2014 I\u2019m rewriting all docs to reflect latest features.\n*You want to help? Open a PR or hit me by issues!*\n\n---\n\n## License\n\n[GNU AGPL v3.0](LICENSE) \u2014 Free as in freedom, not as in SaaS-taking.  \nCommercial/SaaS use? [license@buildme.it](mailto:license@buildme.it)\n\n---\n\n> **Get shit done. Fast. Survive your next rm -rf.  \n> mkdf \u2014 built by the person who needed it most.**\n",
    "bugtrack_url": null,
    "license": "AGPL-3.0",
    "summary": "Make Directories and Files - Professional Project Creator with Rich CLI and Web UI",
    "version": "0.1.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/Noziop/mkdf-py/issues",
        "Changelog": "https://github.com/Noziop/mkdf-py/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/Noziop/mkdf#readme",
        "Homepage": "https://github.com/Noziop/mkdf",
        "Repository": "https://github.com/Noziop/mkdf"
    },
    "split_keywords": [
        "cli",
        " project-generator",
        " docker",
        " templates",
        " development",
        " rich",
        " rainbow",
        " web-ui"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "20b125a3faf422c2216af16179830aca46c366e2dc601ca07a4a117765efe4b1",
                "md5": "b765553df040e9ef1de83f4783598ecf",
                "sha256": "04fe4779b6b4eeeae7e26d454b68e6cd0b13713678e7777d4f9c21eebfbc4ae0"
            },
            "downloads": -1,
            "filename": "mkdf-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b765553df040e9ef1de83f4783598ecf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 134566,
            "upload_time": "2025-08-07T21:36:55",
            "upload_time_iso_8601": "2025-08-07T21:36:55.256401Z",
            "url": "https://files.pythonhosted.org/packages/20/b1/25a3faf422c2216af16179830aca46c366e2dc601ca07a4a117765efe4b1/mkdf-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "69d9881dd43ebd0161de0c3ece5194a73ab4719dcf9441d1f5d27c9ac11262b0",
                "md5": "bb292839a0511289b6b2be551f2c9a1e",
                "sha256": "813de66286acf71a2ac00c624ca45b3dade48c849a4a791b51c16cccc7fcabdb"
            },
            "downloads": -1,
            "filename": "mkdf-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "bb292839a0511289b6b2be551f2c9a1e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 71242,
            "upload_time": "2025-08-07T21:36:56",
            "upload_time_iso_8601": "2025-08-07T21:36:56.496297Z",
            "url": "https://files.pythonhosted.org/packages/69/d9/881dd43ebd0161de0c3ece5194a73ab4719dcf9441d1f5d27c9ac11262b0/mkdf-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-07 21:36:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Noziop",
    "github_project": "mkdf",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "mkdf"
}
        
Elapsed time: 2.19738s