yjcli
CLI that scaffolds YJ platform folders, services, and AI agent wiring (Cursor, Claude Code, Codex).
Templates, skills, and root make files ship inside the package and are copied
into the target repo. Standing agent guidance lives in AGENTS.md only
(CLAUDE.md is a mirror).
Install
uv tool install yjcli
# pin a version:
uv tool install yjcli==0.0.5
yjcli --version
yjcli -h
Upgrade / remove:
uv tool upgrade yjcli
uv tool uninstall yjcli
Quick start
uv tool install yjcli
cd /path/to/your-repo
yjcli init --all
yjcli service add -p backend -n api
# edit AGENTS.md, then:
yjcli sync agents
make backend # start all backend services
make backend NAME=api # start one service
Platforms
Use with -t / --type (repeatable on init / platform add):
backend · backend-service · frontend · mobile-app · pc-app · cli · browser-extension
What init creates
AGENTS.md,CLAUDE.md(mirror ofAGENTS.md)- Skills under
.cursor/skills/,.claude/skills/,.agents/skills/(Codex) - Claude
settings.json - Root
Makefile,make.bat,TOOLS.md,.gitignore - Selected platform roots (
*/scripts/run.sh/run.bat)
The root Makefile / make.bat is the repository-owned extension point for
project automation. Projects may add commands such as <platform>-build or
<platform>-deploy and reuse optional NAME=<service> selection. Defining and
implementing init/install/build/deploy behavior is the project's responsibility;
yjcli does not generate action scripts. Do not add per-service scripts/
directories or per-service Makefiles.
Operating rules (skill routing, output discipline) are in AGENTS.md — not in
.cursor/rules / .claude/rules.
Run (make)
Platform targets are discovered from */scripts/run.sh (after init / platform add).
Each service declares its local command as RUN_COMMAND in .env.local-dev.
The platform runner executes that repository-owned declaration instead of
inferring npm, uv, Go, or another language/runtime from project manifests.
make <platform> # all services under that platform (concurrent)
make <platform> NAME=<service> # one service
make help
Sync
| Command | When |
|---|---|
yjcli sync agents |
After editing AGENTS.md — refreshes CLAUDE.md |
yjcli sync skills |
Refresh packaged skills (Cursor / Claude / Codex) |
yjcli sync make |
Overwrite root Makefile / make.bat and each installed platform’s scripts/run.sh · run.bat |
yjcli sync all |
Soft upgrade — mirror CLAUDE + skills + make (keeps your AGENTS.md) |
yjcli sync migrate -y |
Hard upgrade — package template overwrites AGENTS.md, wipes skills dirs, drops legacy rules/.agent, refreshes settings/TOOLS/gitignore/make |
Edit AGENTS.md only; do not edit CLAUDE.md by hand. Use migrate when upgrading from older yjcli layouts (rules era).
Options
--type/-t— platform type (backend,frontend, …) oninit/platform add.--platform/-p— existing platform root onservice add.--name/-n— service/app name onservice add.--path <dir>— target repo root (default: current directory).--force/-f— overwrite existing root/agent files without prompting (initonly).
Notes
platform addonly creates platform roots (no services, no skills/Makefile — useservice add/sync).service addneeds the platform root first (initorplatform add).- Non-interactive: pass
-t/--all/-p/-nas needed. doctorchecks the installed package assets, not your target repo.sync skills/sync allremove legacy.cursor/rulesand.claude/rulesif present.sync migratealso overwritesAGENTS.mdfrom the package (destructive); requires--yeswhen non-interactive.
Commands
yjcli init
yjcli init --all
yjcli init -t backend -t frontend
yjcli init --force
yjcli platform add
yjcli platform add --all
yjcli platform add -t cli
yjcli service add
yjcli service add -p backend -n api
yjcli sync agents
yjcli sync skills
yjcli sync make
yjcli sync all
yjcli sync migrate --yes
yjcli doctor
Research: token & exploration
Not measured yet.
From the workspace root (sibling of this package), with CURSOR_API_KEY in tools/.env:
make bench # Cursor SDK: prepare → trials → report → this section
See bench/README.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yjcli-0.1.2.tar.gz.
File metadata
- Download URL: yjcli-0.1.2.tar.gz
- Upload date:
- Size: 31.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
734224993fe68d3a90db393d37b4773bd46669853d94b24bfb29e0c8a572f8de
|
|
| MD5 |
93c3c3e28b9444acf23a428d3fb3240b
|
|
| BLAKE2b-256 |
9aeba6b01ad1f018766faa860672c16218261ef6c420480a3852cebb5139e25a
|
File details
Details for the file yjcli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: yjcli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 49.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aead26a00a785fc10532dc0a1e63faec6ea5d95b409666c5a80f19fc40c9cdb4
|
|
| MD5 |
1247c48f27c838bb4c96658a42557924
|
|
| BLAKE2b-256 |
6f1e2f7b19c9b1520641e3216fbab80982e3b70bb6af183503796e273baebef5
|