refactor: rebrand dark-factory → disinto (Closes #15)
- README: rename, add disinto.ai link - BOOTSTRAP.md: update all path references - lib/matrix_listener.service: update paths to /home/admin/disinto - factory scripts: update comments and prompt references - .env.example: update header Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
1675e17502
commit
8d73c2f8f9
7 changed files with 22 additions and 20 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
# Dark Factory — Environment Configuration
|
# Disinto — Environment Configuration
|
||||||
# Copy to .env and fill in your values.
|
# Copy to .env and fill in your values.
|
||||||
# NEVER commit .env to the repo.
|
# NEVER commit .env to the repo.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Bootstrapping a New Project
|
# Bootstrapping a New Project
|
||||||
|
|
||||||
How to point dark-factory at a new target project and get all four agents running.
|
How to point disinto at a new target project and get all four agents running.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
|
@ -9,7 +9,7 @@ Before starting, ensure you have:
|
||||||
- [ ] A **Codeberg repo** with at least one issue labeled `backlog`
|
- [ ] A **Codeberg repo** with at least one issue labeled `backlog`
|
||||||
- [ ] A **Woodpecker CI** pipeline (`.woodpecker/` dir with at least one `.yml`)
|
- [ ] A **Woodpecker CI** pipeline (`.woodpecker/` dir with at least one `.yml`)
|
||||||
- [ ] A **second Codeberg account** for the review bot (branch protection requires reviews from a different user)
|
- [ ] A **second Codeberg account** for the review bot (branch protection requires reviews from a different user)
|
||||||
- [ ] A **local clone** of the target repo on the same machine as dark-factory
|
- [ ] A **local clone** of the target repo on the same machine as disinto
|
||||||
- [ ] `claude` CLI installed and authenticated (`claude --version`)
|
- [ ] `claude` CLI installed and authenticated (`claude --version`)
|
||||||
|
|
||||||
## 1. Configure `.env`
|
## 1. Configure `.env`
|
||||||
|
|
@ -152,7 +152,7 @@ crontab -e
|
||||||
Add (adjust paths):
|
Add (adjust paths):
|
||||||
|
|
||||||
```cron
|
```cron
|
||||||
FACTORY_ROOT=/home/you/dark-factory
|
FACTORY_ROOT=/home/you/disinto
|
||||||
|
|
||||||
# Supervisor — health checks, auto-healing (every 10 min)
|
# Supervisor — health checks, auto-healing (every 10 min)
|
||||||
0,10,20,30,40,50 * * * * $FACTORY_ROOT/factory/factory-poll.sh
|
0,10,20,30,40,50 * * * * $FACTORY_ROOT/factory/factory-poll.sh
|
||||||
|
|
|
||||||
20
README.md
20
README.md
|
|
@ -1,6 +1,8 @@
|
||||||
# Dark Factory
|
# Disinto
|
||||||
|
|
||||||
Autonomous CI/CD factory. Four agents, zero supervision needed.
|
Autonomous CI/CD factory — [disinto.ai](https://disinto.ai)
|
||||||
|
|
||||||
|
Four agents, zero supervision needed.
|
||||||
|
|
||||||
Point it at a Codeberg repo with a Woodpecker CI pipeline and it will pick up issues, implement them, review PRs, and keep the system healthy — all on its own.
|
Point it at a Codeberg repo with a Woodpecker CI pipeline and it will pick up issues, implement them, review PRs, and keep the system healthy — all on its own.
|
||||||
|
|
||||||
|
|
@ -47,8 +49,8 @@ all agents ──→ matrix_send() ← status updates, escalations, merge no
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Clone
|
# 1. Clone
|
||||||
git clone ssh://git@codeberg.org/johba/dark-factory.git
|
git clone ssh://git@codeberg.org/johba/disinto.git
|
||||||
cd dark-factory
|
cd disinto
|
||||||
|
|
||||||
# 2. Configure
|
# 2. Configure
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
|
|
@ -82,10 +84,10 @@ CLAUDE_TIMEOUT=7200 # max seconds per Claude invocation (default: 2h)
|
||||||
# 3. Install cron (staggered to avoid overlap)
|
# 3. Install cron (staggered to avoid overlap)
|
||||||
crontab -e
|
crontab -e
|
||||||
# Add:
|
# Add:
|
||||||
# 0,10,20,30,40,50 * * * * /path/to/dark-factory/factory/factory-poll.sh
|
# 0,10,20,30,40,50 * * * * /path/to/disinto/factory/factory-poll.sh
|
||||||
# 3,13,23,33,43,53 * * * * /path/to/dark-factory/review/review-poll.sh
|
# 3,13,23,33,43,53 * * * * /path/to/disinto/review/review-poll.sh
|
||||||
# 6,16,26,36,46,56 * * * * /path/to/dark-factory/dev/dev-poll.sh
|
# 6,16,26,36,46,56 * * * * /path/to/disinto/dev/dev-poll.sh
|
||||||
# 15 8 * * * /path/to/dark-factory/gardener/gardener-poll.sh
|
# 15 8 * * * /path/to/disinto/gardener/gardener-poll.sh
|
||||||
|
|
||||||
# 4. Verify
|
# 4. Verify
|
||||||
bash factory/factory-poll.sh # should log "all clear"
|
bash factory/factory-poll.sh # should log "all clear"
|
||||||
|
|
@ -94,7 +96,7 @@ bash factory/factory-poll.sh # should log "all clear"
|
||||||
## Directory Structure
|
## Directory Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
dark-factory/
|
disinto/
|
||||||
├── .env.example # Template — copy to .env, add secrets + project config
|
├── .env.example # Template — copy to .env, add secrets + project config
|
||||||
├── .gitignore # Excludes .env, logs, state files
|
├── .gitignore # Excludes .env, logs, state files
|
||||||
├── lib/
|
├── lib/
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ This gives you:
|
||||||
- `$PROJECT_REPO_ROOT` — path to the target project repo
|
- `$PROJECT_REPO_ROOT` — path to the target project repo
|
||||||
- `$PROJECT_NAME` — short project name (for worktree prefixes, container names)
|
- `$PROJECT_NAME` — short project name (for worktree prefixes, container names)
|
||||||
- `$PRIMARY_BRANCH` — main branch (master or main)
|
- `$PRIMARY_BRANCH` — main branch (master or main)
|
||||||
- `$FACTORY_ROOT` — path to the dark-factory repo
|
- `$FACTORY_ROOT` — path to the disinto repo
|
||||||
- `matrix_send <prefix> <message>` — send notifications to the Matrix coordination room
|
- `matrix_send <prefix> <message>` — send notifications to the Matrix coordination room
|
||||||
|
|
||||||
## Escalation
|
## Escalation
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,10 @@
|
||||||
# Runs every 10min via cron. Does all health checks in bash (zero tokens).
|
# Runs every 10min via cron. Does all health checks in bash (zero tokens).
|
||||||
# Only invokes claude -p when auto-fix fails or issue is complex.
|
# Only invokes claude -p when auto-fix fails or issue is complex.
|
||||||
#
|
#
|
||||||
# Cron: */10 * * * * /path/to/dark-factory/factory/factory-poll.sh
|
# Cron: */10 * * * * /path/to/disinto/factory/factory-poll.sh
|
||||||
#
|
#
|
||||||
# Peek: cat /tmp/factory-status
|
# Peek: cat /tmp/factory-status
|
||||||
# Log: tail -f /path/to/dark-factory/factory/factory.log
|
# Log: tail -f /path/to/disinto/factory/factory.log
|
||||||
|
|
||||||
source "$(dirname "$0")/../lib/env.sh"
|
source "$(dirname "$0")/../lib/env.sh"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
# ./factory/update-prompt.sh --from-file "best-practices/memory.md" /tmp/lesson.md
|
# ./factory/update-prompt.sh --from-file "best-practices/memory.md" /tmp/lesson.md
|
||||||
#
|
#
|
||||||
# Called by claude -p when it learns something during a fix.
|
# Called by claude -p when it learns something during a fix.
|
||||||
# Commits and pushes the update to the dark-factory repo.
|
# Commits and pushes the update to the disinto repo.
|
||||||
|
|
||||||
source "$(dirname "$0")/../lib/env.sh"
|
source "$(dirname "$0")/../lib/env.sh"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Dark Factory Matrix Listener
|
Description=Disinto Matrix Listener
|
||||||
After=network.target dendrite.service
|
After=network.target dendrite.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=/home/admin/dark-factory/lib/matrix_listener.sh
|
ExecStart=/home/admin/disinto/lib/matrix_listener.sh
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
User=admin
|
User=admin
|
||||||
WorkingDirectory=/home/admin/dark-factory
|
WorkingDirectory=/home/admin/disinto
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue