yjcli 0.1.2__tar.gz → 0.1.3__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.1.2 → yjcli-0.1.3}/PKG-INFO +5 -1
- {yjcli-0.1.2 → yjcli-0.1.3}/README.md +4 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/pyproject.toml +1 -1
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/skills/yj-arch-core/SKILL.md +17 -6
- yjcli-0.1.3/src/yjcli/data/templates/platform/envs/app/.env.local-dev +3 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/listen/.env.local-dev +0 -1
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/worker/.env.examples +4 -4
- yjcli-0.1.3/src/yjcli/data/templates/platform/envs/worker/.env.local-dev +3 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/frontend/vite.config.ts +1 -1
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/services/scaffold.py +4 -2
- yjcli-0.1.2/src/yjcli/data/templates/platform/envs/app/.env.local-dev +0 -4
- yjcli-0.1.2/src/yjcli/data/templates/platform/envs/worker/.env.local-dev +0 -4
- {yjcli-0.1.2 → yjcli-0.1.3}/.gitignore +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/LICENSE +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/__init__.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/__main__.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/cli.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/commands/__init__.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/commands/init_cmd.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/commands/platform.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/commands/service.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/commands/sync.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/__init__.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/skills/yj-backend-msa/SKILL.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/skills/yj-backend-service/SKILL.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/skills/yj-browser-extension/SKILL.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/skills/yj-cli/SKILL.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/skills/yj-frontend/SKILL.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/skills/yj-mobile-app/SKILL.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/skills/yj-pc-app/SKILL.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/.gitignore +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/AGENTS.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/Makefile +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/TOOLS.md +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/make.bat +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/app/.env.development +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/app/.env.examples +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/app/.env.production +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/listen/.env.development +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/listen/.env.examples +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/listen/.env.production +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/worker/.env.development +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/envs/worker/.env.production +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/frontend/package.json +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/scripts/run.bat +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/platform/scripts/run.sh +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/data/templates/settings.json +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/modules/__init__.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/modules/constants.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/modules/fsutil.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/modules/paths.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/modules/prompt.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/services/__init__.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/services/status.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/services/sync.py +0 -0
- {yjcli-0.1.2 → yjcli-0.1.3}/src/yjcli/services/wiring.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yjcli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
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
|
|
@@ -92,6 +92,10 @@ Operating rules (skill routing, output discipline) are in `AGENTS.md` — not in
|
|
|
92
92
|
|
|
93
93
|
Platform targets are discovered from `*/scripts/run.sh` (after `init` / `platform add`).
|
|
94
94
|
Each service declares its local command as `RUN_COMMAND` in `.env.local-dev`.
|
|
95
|
+
New services include `.env.local-dev`, `.env.development`, `.env.production`, and
|
|
96
|
+
`.env.examples`. Only `.env.local-dev` and `.env.examples` are required;
|
|
97
|
+
development/production may be removed and other `.env.<environment>` files may
|
|
98
|
+
be added. Commit `.env.examples` only.
|
|
95
99
|
The platform runner executes that repository-owned declaration instead of
|
|
96
100
|
inferring npm, uv, Go, or another language/runtime from project manifests.
|
|
97
101
|
|
|
@@ -67,6 +67,10 @@ Operating rules (skill routing, output discipline) are in `AGENTS.md` — not in
|
|
|
67
67
|
|
|
68
68
|
Platform targets are discovered from `*/scripts/run.sh` (after `init` / `platform add`).
|
|
69
69
|
Each service declares its local command as `RUN_COMMAND` in `.env.local-dev`.
|
|
70
|
+
New services include `.env.local-dev`, `.env.development`, `.env.production`, and
|
|
71
|
+
`.env.examples`. Only `.env.local-dev` and `.env.examples` are required;
|
|
72
|
+
development/production may be removed and other `.env.<environment>` files may
|
|
73
|
+
be added. Commit `.env.examples` only.
|
|
70
74
|
The platform runner executes that repository-owned declaration instead of
|
|
71
75
|
inferring npm, uv, Go, or another language/runtime from project manifests.
|
|
72
76
|
|
|
@@ -53,18 +53,29 @@ browser-extension/ # yj-browser-extension
|
|
|
53
53
|
|
|
54
54
|
## Environment (guardrails only)
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Required files at each service root (no plain `.env`):
|
|
57
57
|
|
|
58
|
-
`.env.local-dev` · `.env.
|
|
58
|
+
`.env.local-dev` · `.env.examples`
|
|
59
59
|
|
|
60
|
-
-
|
|
60
|
+
- New services also start with `.env.development` and `.env.production`, but these
|
|
61
|
+
are optional. Remove them when unused or add environments such as `.env.staging`,
|
|
62
|
+
`.env.test`, or `.env.qa` as the project requires. Environment files must follow
|
|
63
|
+
the `.env.<environment>` naming pattern; do not use plain `.env` or Vite's
|
|
64
|
+
`.env.local` convention unless a thin loader maps it to this structure.
|
|
61
65
|
- Env field sets come from `templates/platform/envs/<kind>/` via platform mapping (`listen` / `worker` / `app`).
|
|
62
66
|
- `listen`: `backend` (PORT 8080), `frontend` (PORT 5173)
|
|
63
|
-
- `worker`: `backend-service`, `browser-extension/native_*` (HOST/PORT optional
|
|
67
|
+
- `worker`: `backend-service`, `browser-extension/native_*` (HOST/PORT optional)
|
|
64
68
|
- `app`: `cli`, `mobile-app`, `pc-app`, `browser-extension` (NAME/VERSION only)
|
|
65
|
-
Do not invent fields
|
|
69
|
+
Do not invent fields outside those templates; environment filenames remain
|
|
70
|
+
extensible through the `.env.<environment>` pattern above.
|
|
66
71
|
- `HOST`/`PORT` are required for `listen`. For `worker` they are optional — add only if needed.
|
|
67
|
-
-
|
|
72
|
+
- `.env.examples` is the committed field contract. Format every entry as one
|
|
73
|
+
comment line followed by one empty `FIELD=` line, with one blank line between
|
|
74
|
+
entries.
|
|
75
|
+
- Every other `.env.<environment>` file lists populated `FIELD=value` lines
|
|
76
|
+
consecutively, without field-description comments or separator blank lines.
|
|
77
|
+
- Commit `.env.examples` only; never commit `.env.local-dev` or any other
|
|
78
|
+
environment value file.
|
|
68
79
|
- Local platform `run.*` uses `.env.local-dev` only — do not hardcode HOST/PORT in scripts.
|
|
69
80
|
- Each service declares its repository-owned local `RUN_COMMAND` in `.env.local-dev`.
|
|
70
81
|
Platform `run.*` must execute that declaration and must not infer commands from
|
|
@@ -4,11 +4,11 @@ NAME=
|
|
|
4
4
|
# Semver or build version
|
|
5
5
|
VERSION=
|
|
6
6
|
|
|
7
|
-
# Optional listen bind
|
|
8
|
-
|
|
7
|
+
# Optional listen bind
|
|
8
|
+
HOST=
|
|
9
9
|
|
|
10
|
-
# Optional listen port
|
|
11
|
-
|
|
10
|
+
# Optional listen port
|
|
11
|
+
PORT=
|
|
12
12
|
|
|
13
13
|
# Local command used only by platform scripts/run.* (.env.local-dev)
|
|
14
14
|
RUN_COMMAND=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineConfig, loadEnv } from "vite";
|
|
2
2
|
import react from "@vitejs/plugin-react";
|
|
3
3
|
|
|
4
|
-
// Env files (yj-arch-core): .env.local-dev
|
|
4
|
+
// Env files (yj-arch-core): required .env.local-dev plus optional .env.<environment> files.
|
|
5
5
|
// Loaded via Vite --mode (no plain .env).
|
|
6
6
|
// Platform run.* always exports values from .env.local-dev before RUN_COMMAND.
|
|
7
7
|
|
|
@@ -19,7 +19,9 @@ from yjcli.modules.prompt import abort, select_existing_platform, select_platfor
|
|
|
19
19
|
from yjcli.services import wiring
|
|
20
20
|
|
|
21
21
|
_SERVICE_NAME_RE = re.compile(r"^[A-Za-z0-9_][A-Za-z0-9_-]*$")
|
|
22
|
-
|
|
22
|
+
# New services start with these files. Projects may remove development/production
|
|
23
|
+
# or add other .env.<environment> files; examples and local-dev remain required.
|
|
24
|
+
_DEFAULT_ENV_FILE_NAMES = (
|
|
23
25
|
".env.local-dev",
|
|
24
26
|
".env.development",
|
|
25
27
|
".env.production",
|
|
@@ -77,7 +79,7 @@ def _copy_env_templates(platform: str, name: str, dest: Path) -> None:
|
|
|
77
79
|
abort(f"missing env template dir: {src}")
|
|
78
80
|
|
|
79
81
|
replace = {"__NAME__": name, **extra}
|
|
80
|
-
for filename in
|
|
82
|
+
for filename in _DEFAULT_ENV_FILE_NAMES:
|
|
81
83
|
file = src / filename
|
|
82
84
|
if not file.is_file():
|
|
83
85
|
abort(f"missing env template: {file}")
|
|
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
|
|
File without changes
|