0710baae2926af29e4bdc5d76fdbcfb9f3814d86
factory.yaml: new schema (schema_version 1, factory_version 0.3.0) - core.components[] with id/source/version/type/install/health_check - versions from bundled lib/: projects-meta-mcp 2.25.0, wiki-graph 0.3.1, interns-mcp 0.3.3 - modules[]: tasks, wiki, workshop, admin — each with creates[] describing gitea_repo / local_clone / claude_md_snippet / setup_skill actions - removed hardcoded git_host/git_org (those belong in ~/.config/factory/home.toml per design) bootstrap.ps1: add Read-FactoryManifest + manifest-driven MCP build loop - indent-aware YAML parser prevents health_check.type from clobbering component.type - MCP build loop now reads from manifest instead of hardcoded server names - reports factory version at startup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
.factory — software factory orchestrator
Размещение: <projects_dir>/.factory/ (сиблинг .common/).
Слои
- L0a — System bootstrap (toolchain). Голая ОС → git, mise, runtime'ы (node/python/go), опционально Claude Code / Cursor / Ollama. Native shell скрипты.
- L0b — Factory bootstrap. Спросить
$PROJECTS_DIR→ склонировать.factory/(если ещё нет) → записать~/.config/factory/home.toml→ отдать управление в L1. - L1 —
factoryCLI (Go-бинарь). Читаетfactory.yaml, обходит DAG зависимостей, запускает health-check'и и, при необходимости, setup-инструкции (L2). - L2 —
setup-*skills вclaude-skills/. Уже существуют. L1 их вызывает (или печатает инструкцию запустить через slash-command).
Статус
| Слой | Статус |
|---|---|
| L0a | ✅ field-test complete (install-log.md) |
| L0b | ✅ bootstrap.ps1 + bootstrap.sh созданы |
| L1 | ⏳ Go-бинарь в разработке (structure done, build pending) |
| factory.yaml | ✅ manifest schema создан |
Структура
.factory/
├── factory.yaml # Manifest компонентов
├── bootstrap.ps1 # L0b Windows bootstrap
├── bootstrap.sh # L0b Linux/Mac bootstrap
├── go.mod # Go module
├── cmd/
│ └── factory/
│ └── main.go # CLI entry point (cobra)
├── pkg/
│ ├── config/ # home.toml чтение
│ ├── manifest/ # factory.yaml парсинг
│ └── health/ # Health-check логика
├── L0/
│ └── install-log.md # Field-test лог
└── .wiki/
└── concepts/
└── factory-bootstrap.md
Сборка L1
Требуется Go 1.23+:
# Windows (pwsh)
cd C:\Users\vitya\projects\.factory
go build -o dist/factory.exe ./cmd/factory
# Linux/Mac
cd ~/projects/.factory
go build -o dist/factory ./cmd/factory
Команды L1
factory install [component...] # Install components
factory update [component...] # Update installed
factory status # Show health table
factory diagnose <name> # Diagnose component
Точки входа
-
Новый сотрудник на голой машине:
irm https://git.kzntsv.site/OpeItcLoc03/factory/raw/branch/master/bootstrap.ps1 | iex- Ответить на вопросы (gitea URL, projects_dir, etc.)
cd .factory && claude- В Claude:
/login,/plugin install ...,/setup-*...
-
Существующая машина (миграция):
git clone ... .factoryfactory installнапрямую
TODO
- go-git clone/update имплементация
- Post-install shell script execution
- Cross-compile в dist/ (Win/Mac/Linux × amd64/arm64)
- Integration test на чистой VM
Description
Languages
TypeScript
81.8%
Python
7%
JavaScript
3.4%
Shell
2.2%
Go
2.2%
Other
3.4%