mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 13:38:30 +00:00
Добавлены файлы лицензии и описания проекта
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2026 Dexoron (Bezotechestvo Vladimir) [main@dexoron.su]
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
81
README.md
81
README.md
@@ -0,0 +1,81 @@
|
||||
# DCR (Dexoron Cargo Realization)
|
||||
|
||||
DCR — это утилита для управления проектами на C. Она задает единый формат проекта, дает команды для создания, сборки и запуска, и использует один конфигурационный файл `dcr.toml`.
|
||||
|
||||
Проект находится на стадии MVP. Текущая реализация написана на Python и в будущем будет переписана.
|
||||
|
||||
## Зачем DCR
|
||||
- Единая структура проекта без ручной настройки
|
||||
- Простые команды для типовых задач
|
||||
- Прозрачная компиляция и предсказуемые профили сборки
|
||||
|
||||
## Возможности
|
||||
- Создание нового проекта или инициализация текущей директории
|
||||
- Сборка проекта в профилях `debug` и `release`
|
||||
- Запуск собранного бинарника
|
||||
- Генерация минимального шаблона C-проекта
|
||||
|
||||
## Быстрый старт
|
||||
Создать новый проект:
|
||||
`dcr new hello`
|
||||
|
||||
Или инициализировать текущую директорию (директория должна быть пустой):
|
||||
`dcr init`
|
||||
|
||||
Структура проекта:
|
||||
```
|
||||
hello/
|
||||
- src/
|
||||
- - main.c
|
||||
- dcr.toml
|
||||
```
|
||||
|
||||
## Команды
|
||||
|
||||
### `dcr new <name>`
|
||||
Создает проект в текущей директории с указанным именем.
|
||||
|
||||
### `dcr init`
|
||||
Создает проект в текущей директории. Имя проекта будет равно имени директории. Директория должна быть пустой.
|
||||
|
||||
### `dcr build [profile]`
|
||||
Собирает проект. Если профиль не указан, используется `--debug`.
|
||||
|
||||
### `dcr run [profile]`
|
||||
Собирает проект и запускает бинарник. Если профиль не указан, используется `--debug`.
|
||||
|
||||
Запуск вручную:
|
||||
`./target/<profile>/main`
|
||||
|
||||
## Профили сборки
|
||||
Поддерживаются два профиля:
|
||||
- `--debug` (по умолчанию) — флаги: `-O0 -g -Wall -Wextra -fno-omit-frame-pointer -DDEBUG`
|
||||
- `--release` — флаги: `-O3 -DNDEBUG -march=native`
|
||||
|
||||
## Конфигурация
|
||||
Основной файл проекта — `dcr.toml`. Сейчас он создается автоматически и служит точкой входа для будущих настроек.
|
||||
|
||||
## Пример проекта
|
||||
`src/main.c` содержит минимальный `Hello, World!`:
|
||||
```c
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void) {
|
||||
puts("Hello, World!");
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
## Требования
|
||||
- C-компилятор (например, `gcc` или `clang`)
|
||||
- Python 3.14.2 (для текущей версии DCR)
|
||||
- uv (менеджер проекта для Python)
|
||||
|
||||
## Статус и планы
|
||||
Проект в стадии MVP. Планируется переписывание на более подходящий язык и расширение функциональности:
|
||||
- более гибкая конфигурация через `dcr.toml`
|
||||
- расширяемые профили сборки
|
||||
- менеджер пакетов
|
||||
|
||||
## Лицензия
|
||||
См. файл `LICENSE`.
|
||||
|
||||
Reference in New Issue
Block a user