Skip to content

Commit 741afb3

Browse files
committed
Merge remote-tracking branch 'origin/main' into resolve-pr-133
# Conflicts: # docker-compose.yml # packages/lib/src/core/templates/docker-compose.ts # packages/lib/src/core/templates/dockerfile.ts # packages/lib/src/usecases/actions/prepare-files.ts # packages/lib/src/usecases/auth-sync-helpers.ts
2 parents 712cec1 + 47c2476 commit 741afb3

File tree

98 files changed

+7323
-1229
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+7323
-1229
lines changed

.githooks/pre-push

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,14 @@ if [ "${DOCKER_GIT_SKIP_KNOWLEDGE_GUARD:-}" = "1" ]; then
1010
fi
1111

1212
node scripts/pre-push-knowledge-guard.js "$@"
13+
14+
# CHANGE: backup AI session to a private session repository on push (supports Claude, Codex, Gemini)
15+
# WHY: allows returning to old AI sessions and provides PR context without gist limits
16+
# QUOTE(ТЗ): "когда происходит push мы сразу заливаем текущую сессию с AI агентом в gits приватный"
17+
# REF: issue-143
18+
# PURITY: SHELL
19+
if [ "${DOCKER_GIT_SKIP_SESSION_BACKUP:-}" != "1" ]; then
20+
if command -v gh >/dev/null 2>&1; then
21+
node scripts/session-backup-gist.js --verbose || echo "[session-backup] Warning: session backup failed (non-fatal)"
22+
fi
23+
fi

.github/actions/setup/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ runs:
1010
using: composite
1111
steps:
1212
- name: Install pnpm
13-
uses: pnpm/action-setup@v3
13+
uses: pnpm/action-setup@v5
1414
- name: Install node
1515
uses: actions/setup-node@v6
1616
with:
1717
cache: pnpm
1818
node-version: ${{ inputs.node-version }}
1919
- name: Install dependencies
2020
shell: bash
21-
run: pnpm install
21+
run: pnpm install --frozen-lockfile

.github/workflows/check.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ jobs:
2323
- uses: actions/checkout@v6
2424
- name: Install dependencies
2525
uses: ./.github/actions/setup
26+
- name: Build (docker-git package)
27+
run: pnpm --filter ./packages/app build
2628

2729
types:
2830
name: Types

.github/workflows/checking-dependencies.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- uses: actions/checkout@v6
15-
- uses: pnpm/action-setup@v4
15+
- uses: pnpm/action-setup@v5
1616
- uses: actions/setup-node@v6
1717
with:
1818
node-version: 24.14.0

GEMINI.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Role & Instructions
2+
You are a highly pragmatic, autonomous AI software engineer.
3+
Focus strictly on implementation, executing terminal commands, and deploying tests via the Playwright MCP.
4+
Do not ask for permission, do not write long explanations or greetings.
5+
Analyze the state, execute the plan directly, and output the result.

docker-compose.api.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ services:
1212
DOCKER_GIT_FEDERATION_ACTOR: ${DOCKER_GIT_FEDERATION_ACTOR:-docker-git}
1313
ports:
1414
- "${DOCKER_GIT_API_BIND_HOST:-127.0.0.1}:${DOCKER_GIT_API_PORT:-3334}:${DOCKER_GIT_API_PORT:-3334}"
15+
dns:
16+
- 8.8.8.8
17+
- 8.8.4.4
18+
- 1.1.1.1
1519
volumes:
1620
- /var/run/docker.sock:/var/run/docker.sock
1721
- docker_git_projects:${DOCKER_GIT_PROJECTS_ROOT:-/home/dev/.docker-git}

docker-compose.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ services:
1212
DOCKER_GIT_FEDERATION_ACTOR: ${DOCKER_GIT_FEDERATION_ACTOR:-docker-git}
1313
ports:
1414
- "${DOCKER_GIT_API_BIND_HOST:-127.0.0.1}:${DOCKER_GIT_API_PORT:-3334}:${DOCKER_GIT_API_PORT:-3334}"
15+
dns:
16+
- 8.8.8.8
17+
- 8.8.4.4
18+
- 1.1.1.1
1519
volumes:
1620
- /var/run/docker.sock:/var/run/docker.sock
1721
- docker_git_projects:${DOCKER_GIT_PROJECTS_ROOT:-/home/dev/.docker-git}

entrypoint.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,42 @@
1111
# COMPLEXITY: O(network + repo_size)
1212
set -euo pipefail
1313

14+
# 0) Ensure DNS resolution works; repair /etc/resolv.conf if Docker DNS is broken
15+
docker_git_repair_dns() {
16+
local test_domain="github.com"
17+
local resolv="/etc/resolv.conf"
18+
local fallback_dns="8.8.8.8 8.8.4.4 1.1.1.1"
19+
20+
if getent hosts "$test_domain" >/dev/null 2>&1; then
21+
return 0
22+
fi
23+
24+
echo "[dns-repair] DNS resolution failed for $test_domain; attempting repair..."
25+
26+
local has_external=0
27+
for ns in $fallback_dns; do
28+
if grep -q "nameserver $ns" "$resolv" 2>/dev/null; then
29+
has_external=1
30+
fi
31+
done
32+
33+
if [[ "$has_external" -eq 0 ]]; then
34+
for ns in $fallback_dns; do
35+
printf "nameserver %s\n" "$ns" >> "$resolv"
36+
done
37+
echo "[dns-repair] appended fallback nameservers to $resolv"
38+
fi
39+
40+
if getent hosts "$test_domain" >/dev/null 2>&1; then
41+
echo "[dns-repair] DNS resolution restored"
42+
return 0
43+
fi
44+
45+
echo "[dns-repair] WARNING: DNS resolution still failing after repair attempt"
46+
return 1
47+
}
48+
docker_git_repair_dns || true
49+
1450
REPO_URL="${REPO_URL:-}"
1551
REPO_REF="${REPO_REF:-}"
1652
TARGET_DIR="${TARGET_DIR:-/work/app}"

packages/api/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@
1919
},
2020
"dependencies": {
2121
"@effect-template/lib": "workspace:*",
22-
"@effect/platform": "^0.94.5",
23-
"@effect/platform-node": "^0.104.1",
22+
"@effect/platform": "^0.96.0",
23+
"@effect/platform-node": "^0.106.0",
2424
"@effect/schema": "^0.75.5",
25-
"effect": "^3.19.19"
25+
"effect": "^3.21.0"
2626
},
2727
"devDependencies": {
28-
"@effect/vitest": "^0.27.0",
28+
"@effect/vitest": "^0.29.0",
2929
"@eslint/js": "10.0.1",
3030
"@types/node": "^24.12.0",
31-
"@typescript-eslint/eslint-plugin": "^8.57.0",
32-
"@typescript-eslint/parser": "^8.57.0",
33-
"eslint": "^10.0.3",
31+
"@typescript-eslint/eslint-plugin": "^8.57.1",
32+
"@typescript-eslint/parser": "^8.57.1",
33+
"eslint": "^10.1.0",
3434
"globals": "^17.4.0",
3535
"typescript": "^5.9.3",
3636
"vitest": "^4.1.0"

packages/app/.jscpd.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
],
1212
"skipComments": true,
1313
"ignorePattern": [
14-
"private readonly \\w+: \\w+;\\s*private readonly \\w+: \\w+;\\s*private \\w+: \\w+ \\| null = null;\\s*private \\w+: \\w+ \\| null = null;"
14+
"private readonly \\w+: \\w+;\\s*private readonly \\w+: \\w+;\\s*private \\w+: \\w+ \\| null = null;\\s*private \\w+: \\w+ \\| null = null;",
15+
"const \\{ rest, subcommand \\} = splitSubcommand\\(args\\)\\s*if \\(subcommand === null\\) \\{\\s*return parseList\\(args\\)\\s*\\}\\s*return Match\\.value\\(subcommand\\)\\.pipe\\("
1516
]
1617
}

0 commit comments

Comments
 (0)