yjcli 0.2.1__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {yjcli-0.2.1 → yjcli-0.2.2}/PKG-INFO +2 -2
- {yjcli-0.2.1 → yjcli-0.2.2}/pyproject.toml +1 -1
- yjcli-0.2.2/src/yjcli/data/templates/platform/scripts/run-all.ps1 +46 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/run.bat +2 -16
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/run.sh +20 -4
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/services/scaffold.py +1 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/services/sync.py +1 -1
- {yjcli-0.2.1 → yjcli-0.2.2}/.gitignore +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/LICENSE +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/README.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/__init__.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/__main__.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/cli.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/commands/__init__.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/commands/init_cmd.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/commands/platform.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/commands/service.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/commands/sync.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/__init__.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-arch-core/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-backend-msa/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-backend-service/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-browser-extension/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-cli/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-frontend/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-mobile-app/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-pc-app/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/skills/yj-scheduler/SKILL.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/.gitignore +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/AGENTS.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/Diff.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/Makefile +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/TOOLS.md +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/make.bat +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/app/.env.development +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/app/.env.examples +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/app/.env.local-dev +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/app/.env.production +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/listen/.env.development +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/listen/.env.examples +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/listen/.env.local-dev +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/listen/.env.production +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/worker/.env.development +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/worker/.env.examples +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/worker/.env.local-dev +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/envs/worker/.env.production +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/frontend/package.json +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/frontend/vite.config.ts +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/deploy-common.bat +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/deploy-common.sh +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/deploy-development.bat +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/deploy-development.sh +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/deploy-production.bat +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/deploy-production.sh +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/settings.json +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/modules/__init__.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/modules/constants.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/modules/fsutil.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/modules/paths.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/modules/prompt.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/services/__init__.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/services/status.py +0 -0
- {yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/services/wiring.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: yjcli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Scaffold platforms, services, and AI agent wiring (Cursor/Claude/Codex) for YJ architecture repos.
|
|
5
5
|
Project-URL: Homepage, https://github.com/yseiren87/yjcli
|
|
6
6
|
Project-URL: Repository, https://github.com/yseiren87/yjcli
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
$ErrorActionPreference = "Stop"
|
|
2
|
+
|
|
3
|
+
$platformDir = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path
|
|
4
|
+
$services = Get-ChildItem -Path $platformDir -Directory |
|
|
5
|
+
Where-Object {
|
|
6
|
+
$_.Name -notin @("scripts", "proto") -and
|
|
7
|
+
(Test-Path (Join-Path $_.FullName ".env.local-dev"))
|
|
8
|
+
} |
|
|
9
|
+
Sort-Object Name
|
|
10
|
+
|
|
11
|
+
if (-not $services) {
|
|
12
|
+
Write-Host "no services under $platformDir (run: yjcli service add)"
|
|
13
|
+
exit 1
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
$processes = @()
|
|
17
|
+
$exitCode = 0
|
|
18
|
+
try {
|
|
19
|
+
foreach ($service in $services) {
|
|
20
|
+
Write-Host "starting $($service.Name)"
|
|
21
|
+
$command = "call scripts\run.bat `"$($service.Name)`""
|
|
22
|
+
$processes += Start-Process `
|
|
23
|
+
-FilePath $env:ComSpec `
|
|
24
|
+
-ArgumentList @("/d", "/c", $command) `
|
|
25
|
+
-WorkingDirectory $platformDir `
|
|
26
|
+
-NoNewWindow `
|
|
27
|
+
-PassThru
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Write-Host "All services are running. Press Ctrl+C to stop them all."
|
|
31
|
+
while ($processes.Where({ -not $_.HasExited }).Count -gt 0) {
|
|
32
|
+
Start-Sleep -Milliseconds 250
|
|
33
|
+
}
|
|
34
|
+
if ($processes.Where({ $_.ExitCode -ne 0 }).Count -gt 0) {
|
|
35
|
+
$exitCode = 1
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
foreach ($process in $processes) {
|
|
40
|
+
if (-not $process.HasExited) {
|
|
41
|
+
& taskkill.exe /PID $process.Id /T /F *> $null
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
exit $exitCode
|
|
@@ -58,22 +58,8 @@ call !RUN_COMMAND! %*
|
|
|
58
58
|
exit /b %ERRORLEVEL%
|
|
59
59
|
|
|
60
60
|
:run_all
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if /I not "%%~nxD"=="scripts" if /I not "%%~nxD"=="proto" (
|
|
64
|
-
if exist "%%D\.env.local-dev" (
|
|
65
|
-
echo starting %%~nxD
|
|
66
|
-
start "%%~nxD" cmd /c "cd /d "%PLATFORM_DIR%" && call scripts\run.bat %%~nxD"
|
|
67
|
-
set "ANY=1"
|
|
68
|
-
)
|
|
69
|
-
)
|
|
70
|
-
)
|
|
71
|
-
if not defined ANY (
|
|
72
|
-
echo no services under %PLATFORM_DIR% ^(run: yjcli service add^)
|
|
73
|
-
exit /b 1
|
|
74
|
-
)
|
|
75
|
-
echo All services started in separate windows.
|
|
76
|
-
exit /b 0
|
|
61
|
+
powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File "%~dp0run-all.ps1"
|
|
62
|
+
exit /b %ERRORLEVEL%
|
|
77
63
|
|
|
78
64
|
:kill_by_port
|
|
79
65
|
set "KPORT=%~1"
|
|
@@ -101,13 +101,24 @@ run_one() {
|
|
|
101
101
|
kill_by_pidfile "$PID_FILE"
|
|
102
102
|
|
|
103
103
|
start_and_track() {
|
|
104
|
+
# Give the repository command its own process group. Killing only the
|
|
105
|
+
# wrapper PID leaves descendants (for example npm -> node) running.
|
|
106
|
+
set -m
|
|
104
107
|
"$@" &
|
|
105
108
|
local pid=$!
|
|
109
|
+
set +m
|
|
106
110
|
echo "$pid" >"$PID_FILE"
|
|
107
111
|
echo "[$NAME] started pid $pid (tracked in $PID_FILE)"
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
stop_command() {
|
|
113
|
+
trap - INT TERM
|
|
114
|
+
kill -TERM -- "-$pid" 2>/dev/null || kill "$pid" 2>/dev/null || true
|
|
115
|
+
wait "$pid" 2>/dev/null || true
|
|
116
|
+
rm -f "$PID_FILE"
|
|
117
|
+
exit 130
|
|
118
|
+
}
|
|
119
|
+
trap stop_command INT TERM
|
|
120
|
+
local code=0
|
|
121
|
+
wait "$pid" || code=$?
|
|
111
122
|
rm -f "$PID_FILE"
|
|
112
123
|
exit "$code"
|
|
113
124
|
}
|
|
@@ -146,10 +157,15 @@ run_all() {
|
|
|
146
157
|
done
|
|
147
158
|
|
|
148
159
|
cleanup() {
|
|
160
|
+
trap - INT TERM
|
|
149
161
|
local p
|
|
150
162
|
for p in "${pids[@]}"; do
|
|
151
|
-
kill "$p" 2>/dev/null || true
|
|
163
|
+
kill -TERM "$p" 2>/dev/null || true
|
|
152
164
|
done
|
|
165
|
+
for p in "${pids[@]}"; do
|
|
166
|
+
wait "$p" 2>/dev/null || true
|
|
167
|
+
done
|
|
168
|
+
exit 130
|
|
153
169
|
}
|
|
154
170
|
trap cleanup INT TERM
|
|
155
171
|
|
|
@@ -86,7 +86,7 @@ def sync_make(root: Path, *, force: bool = True) -> None:
|
|
|
86
86
|
typer.echo("synced: packaged Makefile, make.bat -> repo root")
|
|
87
87
|
|
|
88
88
|
scripts_src = templates / "platform" / "scripts"
|
|
89
|
-
managed_names = ("run.sh", "run.bat")
|
|
89
|
+
managed_names = ("run.sh", "run.bat", "run-all.ps1")
|
|
90
90
|
deploy_names = (
|
|
91
91
|
"deploy-common.sh",
|
|
92
92
|
"deploy-common.bat",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{yjcli-0.2.1 → yjcli-0.2.2}/src/yjcli/data/templates/platform/scripts/deploy-development.bat
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|