docmachine-cli/README.md

106 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

2024-05-31 14:28:36 +00:00
# DocMachine (Utils)
DocMachine is a CLI tool designed to simplify the process of creating technical documentation and presentations.
## Motivation
This project aims to address the following challenges:
* **Automation:** Automate the generation of high-quality technical content, including documentation and presentation slides.
* **Consistency:** Ensure a consistent and polished look and feel across all content pieces.
* **Efficiency:** Reduce the time and effort required to produce content by leveraging AI tools.
## Features
DocMachine offers a range of features to streamline the content creation process:
* **Scaffolding:** Generate a well-structured project directory with all the necessary files.
* **Building:** Compile and publish your content as HTML and PDF documents using Dockerized build processes.
We are actively developing the following features for future releases:
* **Planning:** Leverage LLMs (Large Language Models) to generate content outlines tailored to your specific needs and requirements.
* **Writing:** Utilize LLMs to draft content for each section and subsection, saving you valuable time and effort.
## Prerequisites
FIXME: list prerequisites for crystal lang & dependencies
## Getting Started
Follow these steps to start using DocMachine:
### Installation
```bash
git clone https://code.apps.glenux.net/glenux/docmachine-utils.git docmachine-utils
cd docmachine-utils
make build
make install
```
### Create a New Project
```bash
docmachine scaffold my-doc-project
```
This command will create a new directory named `my-doc-project` with the following structure:
```
my-doc-project
├── _build
├── docs
│ └── images # link to ../images
├── slides
│ └── images # link to ../images
└── images
```
### Start Writing Content
* **Documentation:** Place your Markdown files inside the `docs` directory.
* **Presentations:** Place your Markdown files (using Marp syntax) inside the `slides` directory.
* **Images:** Store your images in the respective `images` directories.
### Live-reload during writing
```bash
docmachine build -a watch
```
This command will start a Docker container and build your documentation and presentations:
* **Documentation:** Built using MkDocs and served on `http://localhost:5100`.
* **Presentations:** Built using Marp and served on `http://localhost:5200`.
### Building content for publishing or presentation
```bash
docmachine build -a build-slides-pdf
```
```bash
docmachine build -a build-docs-pdf
```
```bash
docmachine build -a build-docs-html
```
This command will generate the HTML and PDF versions of your content.
## Contributing
We welcome contributions to DocMachine! To contribute:
1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them.
4. Submit a pull request.
## License
DocMachine is licensed under the GPL-3.0-or-later license. See the `LICENSE`
file for details.