From 2c5fdc3f5536aa8510b7aae5f4af564b86714fc8 Mon Sep 17 00:00:00 2001 From: Horacio Daniel Ros Date: Fri, 14 Aug 2026 21:21:09 -0300 Subject: [PATCH] =?UTF-8?q?Agregar=20archivos=20de=20configuraci=C3=B3n=20?= =?UTF-8?q?y=20script=20para=20la=20creaci=C3=B3n=20de=20im=C3=A1genes=20D?= =?UTF-8?q?ocker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .atl/.skill-registry.cache.json | 3 + .atl/skill-registry.md | 42 ++++++ scripts/create-docker-image.sh | 251 ++++++++++++++++++++++++++++++++ 3 files changed, 296 insertions(+) create mode 100644 .atl/.skill-registry.cache.json create mode 100644 .atl/skill-registry.md create mode 100644 scripts/create-docker-image.sh diff --git a/.atl/.skill-registry.cache.json b/.atl/.skill-registry.cache.json new file mode 100644 index 0000000..6148690 --- /dev/null +++ b/.atl/.skill-registry.cache.json @@ -0,0 +1,3 @@ +{ + "fingerprint": "02173aa6e303f939322499dd837c8b1d1f8b2500" +} diff --git a/.atl/skill-registry.md b/.atl/skill-registry.md new file mode 100644 index 0000000..76be210 --- /dev/null +++ b/.atl/skill-registry.md @@ -0,0 +1,42 @@ +# Skill Registry — tx-image-creation + + + +Last updated: 2026-08-14 + +## Sources scanned + +- C:\Users\horacio\.config\opencode\skills +- C:\Users\horacio\.copilot\skills +- C:\Users\horacio\.codex\skills + +## Contract + +**Delegator use only.** This registry is an index, not a summary. Any agent that launches subagents reads it to select relevant skills, then passes exact `SKILL.md` paths for the subagent to read before work. + +`SKILL.md` remains the source of truth. Do not inject generated summaries or compact rules by default; pass paths so subagents load the full runtime contract and preserve author intent. + +## Skills + +| Skill | Trigger / description | Scope | Path | +| --- | --- | --- | --- | +| `branch-pr` | Create Gentle AI pull requests with issue-first checks. Trigger: creating, opening, or preparing PRs for review. | user | `C:\Users\horacio\.config\opencode\skills\branch-pr\SKILL.md` | +| `chained-pr` | Trigger: PRs over 400 lines, stacked PRs, review slices. Split oversized changes into chained PRs that protect review focus. | user | `C:\Users\horacio\.config\opencode\skills\chained-pr\SKILL.md` | +| `cognitive-doc-design` | Design docs that reduce cognitive load. Trigger: writing guides, READMEs, RFCs, onboarding, architecture, or review-facing docs. | user | `C:\Users\horacio\.config\opencode\skills\cognitive-doc-design\SKILL.md` | +| `comment-writer` | Write warm, direct collaboration comments. Trigger: PR feedback, issue replies, reviews, Slack messages, or GitHub comments. | user | `C:\Users\horacio\.config\opencode\skills\comment-writer\SKILL.md` | +| `gentle-ai-bench` | Trigger: bench, journey, journeys, driven mode, gentle-ai-bench, journey corpus, j-numbers, bench axis. Author and verify gentle-ai bench journeys; go test ./bench never proves driven execution. | user | `C:\Users\horacio\.config\opencode\skills\gentle-ai-bench\SKILL.md` | +| `go-testing` | Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns. | user | `C:\Users\horacio\.config\opencode\skills\go-testing\SKILL.md` | +| `issue-creation` | Create and triage GitHub issues from repository evidence. Trigger: issue creation, bug reports, feature requests, or issue approval. | user | `C:\Users\horacio\.config\opencode\skills\issue-creation\SKILL.md` | +| `judgment-day` | Trigger: judgment day, dual review, adversarial review, juzgar. Run explicit blind dual review with at most two scoped fix/re-judgment rounds. | user | `C:\Users\horacio\.config\opencode\skills\judgment-day\SKILL.md` | +| `rdd-defect-workflow` | Trigger: RDD, receipt-driven development, review authority, receipt/lineage, correction/recovery, delivery gate/kill switch, bounded review defects. Guide work. | user | `C:\Users\horacio\.config\opencode\skills\rdd-defect-workflow\SKILL.md` | +| `skill-creator` | Trigger: new skills, agent instructions, documenting AI usage patterns. Create LLM-first skills with valid frontmatter. | user | `C:\Users\horacio\.config\opencode\skills\skill-creator\SKILL.md` | +| `skill-improver` | Trigger: improve skills, audit skills, refactor skills, skill quality. Audit and upgrade existing LLM-first skills. | user | `C:\Users\horacio\.config\opencode\skills\skill-improver\SKILL.md` | +| `systemic-issue-triage` | Trigger: new issue, bug report, triage, backlog, issue flood, community report, root cause, dead-end, blocked user. Attack issues by root class, never one-by-one; fixes must shrink the system, not grow it. | user | `C:\Users\horacio\.config\opencode\skills\systemic-issue-triage\SKILL.md` | +| `work-unit-commits` | Plan commits as reviewable work units. Trigger: implementation, commit splitting, chained PRs, or keeping tests and docs with code. | user | `C:\Users\horacio\.config\opencode\skills\work-unit-commits\SKILL.md` | + +## Loading protocol + +1. Match task context and target files against the `Trigger / description` column. +2. Pass only the matching `Path` values to the subagent under `## Skills to load before work`. +3. Instruct the subagent to read those exact `SKILL.md` files before reading, writing, reviewing, testing, or creating artifacts. +4. If no matching skill exists, proceed without project skill injection and report `skill_resolution: none`. diff --git a/scripts/create-docker-image.sh b/scripts/create-docker-image.sh new file mode 100644 index 0000000..a4a58f5 --- /dev/null +++ b/scripts/create-docker-image.sh @@ -0,0 +1,251 @@ +#!/usr/bin/env bash + +set -euo pipefail + +REPOSITORY_URL="ssh://git@git.hdrdevs.com.ar:2222/horacio/turnosxpress.git" +DEFAULT_BRANCH="main" +DEFAULT_TARGET_DIR="$HOME/PRODUCCION/turnosxpress" + +if [[ -t 1 ]]; then + BLUE="\033[0;34m" + GREEN="\033[0;32m" + YELLOW="\033[1;33m" + CYAN="\033[0;36m" + RED="\033[0;31m" + RESET="\033[0m" +else + BLUE="" + GREEN="" + YELLOW="" + CYAN="" + RED="" + RESET="" +fi + +step() { + echo -e "${BLUE}▶ $1${RESET}" +} + +success() { + echo -e "${GREEN}✅ $1${RESET}" +} + +skip() { + echo -e "${YELLOW}⏭️ $1${RESET}" +} + +info() { + echo -e "${CYAN}ℹ️ $1${RESET}" +} + +warn() { + echo -e "${RED}⚠️ $1${RESET}" +} + +DIRECTORIES_TO_REMOVE=( + ".atl" + ".codegraph" + ".opencode" + "backupper" + "bot-admin-api" + "com.hdrdevs.turnosxpress" + "file-manager" + "mongo-db" + "notification-sender" + "openspec" + "sysadmin" + "sysadmin-cli" + "txadmin" + "txbot" + "working-web" +) + +FILES_TO_REMOVE=( + ".dockerignore" + ".gitignore" + "Dockerfile.alpine" + "Dockerfile.debian" +) + +SERVER_DIRECTORIES_TO_REMOVE=( + "node_modules" +) + +SERVER_FILES_TO_REMOVE=( + ".env" + ".env.android" + ".env.dev" + ".env.omv" + ".env.txlocal" +) + +TXCLIENT_DIRECTORIES_TO_REMOVE=( + ".next" + "node_modules" +) + +TXCLIENT_FILES_TO_REMOVE=( + ".env" + ".env.android" + ".env.dev" + ".env.omv" + ".env.txlocal" +) + +branch="${1:-$DEFAULT_BRANCH}" +target_dir="${2:-$DEFAULT_TARGET_DIR}" +timestamp="$(date +%Y%m%d-%H%M)" +image_archive="turnosxpress-${timestamp}.tar" + +if [[ "$branch" == "-h" || "$branch" == "--help" ]]; then + cat < .env" + else + skip "Server file not found: .env.prod" + fi +else + warn "Server directory not found. Skipping server cleanup" +fi + +txclient_dir="$target_dir/txclient" + +if [[ -d "$txclient_dir" ]]; then + step "Removing excluded txclient directories and files" + + for directory in "${TXCLIENT_DIRECTORIES_TO_REMOVE[@]}"; do + path="$txclient_dir/$directory" + + if [[ -d "$path" ]]; then + rm -rf -- "$path" + success "Removed txclient directory: $directory" + else + skip "Txclient directory not found: $directory" + fi + done + + for file in "${TXCLIENT_FILES_TO_REMOVE[@]}"; do + path="$txclient_dir/$file" + + if [[ -f "$path" ]]; then + rm -f -- "$path" + success "Removed txclient file: $file" + else + skip "Txclient file not found: $file" + fi + done + + if [[ -f "$txclient_dir/.env.prod" ]]; then + mv -- "$txclient_dir/.env.prod" "$txclient_dir/.env" + success "Renamed txclient file: .env.prod -> .env" + else + skip "Txclient file not found: .env.prod" + fi +else + warn "Txclient directory not found. Skipping txclient cleanup" +fi + +step "Building Docker image" +( + cd "$target_dir" + info "Stopping container: turnosxpress" + docker stop turnosxpress || true + info "Removing container: turnosxpress" + docker rm turnosxpress || true + info "Removing image: turnosxpress:latest" + docker rmi turnosxpress:latest || true + info "Building image: turnosxpress:latest" + docker build -t turnosxpress . +) +success "Docker image built" + +step "Exporting Docker image" +( + cd "$HOME/PRODUCCION" + info "Saving image to: $image_archive" + docker save turnosxpress:latest -o "$image_archive" + info "Compressing image: ${image_archive}.gz" + gzip -f "$image_archive" +) +success "Docker image exported to '$HOME/PRODUCCION/${image_archive}.gz'" + +success "Done. Repository is ready at '$target_dir' on branch '$branch'"