architect/_archive/2025-11-26-cleanup/system-docs/specifications/file-formats.md

Спецификации форматов файлов

Версия: 1.0.0
Дата: 2025-11-19


CLAUDE.md

Назначение: Контекст для AI агента

Где используется:
- projects/{name}/CLAUDE.md
- infra/{name}/CLAUDE.md (для usage: project)

Формат:

# Project: {name}

**Тип:** web-app | service | library | platform
**Статус:** planning | development | testing | production
**Инфраструктура:** @infra-name | none

## Роль
Ты project-agent для проекта {name}.

## Задачи
- Задача 1
- Задача 2

## Ограничения
- Работать ТОЛЬКО в этой папке
- НЕ изменять platform/
- НЕ изменять другие проекты

## Команды
\```bash
# Запуск
command

# Остановка
command
\```

## Инфраструктура
Сервер: @infra-dev-pro
Ссылка: ../../infra/@infra-dev-pro/config.yaml

Обязательные секции:
- Заголовок с метаданными (Тип, Статус, Инфраструктура)
- Роль
- Задачи
- Ограничения

Опциональные секции:
- Команды
- Инфраструктура
- Примеры


index.yaml

Назначение: Навигация и метаданные папки

Где используется:
- Везде (кроме infra/*/config.yaml)

Формат:

version: "1.0.0"
updated: "2025-11-19"

project:  # или infrastructure, component, etc.
  name: "project-name"
  type: "web-app"
  status: "production"
  description: "Краткое описание"

files:
  CLAUDE.md:
    purpose: "Контекст для project-agent"
    topics: ["роль", "задачи", "ограничения"]
    size: 800
    updated: "2025-11-18"

  design/spec.md:
    purpose: "Спецификация проекта"
    topics: ["функции", "API", "интерфейс"]
    size: 2000
    updated: "2025-11-15"

infrastructure:  # опционально
  server: "@infra-dev-pro"
  link: "../../infra/@infra-dev-pro/config.yaml"

summary:
  total_files: 25
  last_updated: "2025-11-19"

Обязательные поля:
- version
- updated
- files (хотя бы один файл)

Опциональные:
- project/infrastructure/component
- summary
- infrastructure


config.yaml (инфраструктура)

Назначение: Метаданные инфраструктуры

Где используется:
- infra/{name}/config.yaml

Формат (ready):

infrastructure:
  name: "DEV-PRO Server"
  type: vps  # vps | shared-hosting | cloud-storage | web-panel | external-service
  usage: ready  # КЛЮЧЕВОЕ ПОЛЕ
  status: active  # active | inactive | maintenance

  provider: "Hetzner"
  ip: "91.218.142.168"
  created: "2025-01-01"

access:
  ssh:
    host: "91.218.142.168"
    user: "root"
    key_path: "~/.ssh/id_rsa"
  # или web, api, etc.

projects:
  - name: "marketplace"
    path: "/opt/workspace/projects/marketplace/"
    type: "web-app"
    status: "active"

specifications:  # опционально
  cpu:
    cores: 4
  ram:
    total: "8 GB"
  disk:
    total: "100 GB"
    type: "SSD"

tags:  # опционально
  - vps
  - production
  - eu

version: "1.0.0"
last_updated: "2025-11-19"

Формат (project):

infrastructure:
  name: "New Server"
  type: vps
  usage: project  # КЛЮЧЕВОЕ ПОЛЕ
  status: planning  # planning | creating | active

  target:
    provider: "AWS"
    region: "us-east-1"

  created: "2025-11-19"

lifecycle:
  - step: "planning"
    description: "Проектирование"
    status: "completed"
  - step: "creating"
    description: "Создание"
    status: "in_progress"
  - step: "active"
    description: "Готово"
    status: "pending"

version: "1.0.0"
last_updated: "2025-11-19"

Обязательные поля:
- infrastructure.name
- infrastructure.type
- infrastructure.usage
- infrastructure.status
- version
- last_updated


README.md

Назначение: Документация для людей

Где используется:
- Везде

Формат:

# Название

**Тип:** ...
**Статус:** ...

## Что это

Краткое описание в 1-2 предложениях.

## Зачем

- Решает проблему X
- Обеспечивает Y
- Упрощает Z

## Как использовать

\```bash
# Пример команд
\```

## Структура

\```
папка/
├── файл1
└── файл2
\```

## Ссылки

- [Документация](link)
- [Примеры](link)

Обязательные секции:
- Заголовок с метаданными
- Что это
- Как использовать

Опциональные:
- Зачем
- Структура
- Ссылки


PROJECT.md

Назначение: Описание проекта

Где используется:
- projects/{name}/design/PROJECT.md

Формат:

# Project: {name}

**Тип:** web-app | service | library | platform
**Статус:** planning | development | production
**Инфраструктура:** @infra-name

## Описание

1-2 абзаца о проекте.

## Цель

Зачем создаётся проект.

## Технологии

- Python 3.10+
- Streamlit
- SQLAlchemy

## Архитектура

Краткое описание архитектуры.

## Зависимости

### Внешние
- API Ozon
- База данных PostgreSQL

### Внутренние
- components/auth-module
- library/utils

## Развёртывание

Сервер: @infra-dev-pro
Путь: /opt/workspace/projects/{name}/
Порт: 8503

## Ссылки

- Спецификация: spec.md
- Процедуры: ../management/README.md

Обязательные секции:
- Метаданные (Тип, Статус, Инфраструктура)
- Описание
- Технологии


Общие правила

Версионирование

Все YAML файлы должны содержать:

version: "MAJOR.MINOR.PATCH"
updated: "YYYY-MM-DD"

Формат дат

ISO 8601:

YYYY-MM-DD
2025-11-19

Язык

Документация:
- README.md — русский (для людей)
- CLAUDE.md — русский (для AI)
- Комментарии в коде — русский (опц)

Код:
- Переменные — английский
- Функции — английский
- Классы — английский

Кодировка

UTF-8 везде


Следующий документ

Следующий: naming-rules.md — правила именования

Назад: ../ARCHITECTURE.md — обзор архитектуры