Skip to main content

Scaffold platforms, services, and AI agent wiring (Cursor/Claude/Codex) for YJ architecture repos.

Project description

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 of AGENTS.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)

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).

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, …) on init / platform add.
  • --platform / -p — existing platform root on service add.
  • --name / -n — service/app name on service add.
  • --path <dir> — target repo root (default: current directory).
  • --force / -f — overwrite existing root/agent files without prompting (init only).

Notes

  • platform add only creates platform roots (no services, no skills/Makefile — use service add / sync).
  • service add needs the platform root first (init or platform add).
  • Non-interactive: pass -t / --all / -p / -n as needed.
  • doctor checks the installed package assets, not your target repo.
  • sync skills / sync all remove legacy .cursor/rules and .claude/rules if present.
  • sync migrate also overwrites AGENTS.md from the package (destructive); requires --yes when 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yjcli-0.1.0.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yjcli-0.1.0-py3-none-any.whl (48.2 kB view details)

Uploaded Python 3

File details

Details for the file yjcli-0.1.0.tar.gz.

File metadata

  • Download URL: yjcli-0.1.0.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for yjcli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ebdd849670a047721c47360076f6fe084c75c323e9ad9c419432921096aed9cd
MD5 51bea5199093c3b7ac48f7b4f7e3b2d0
BLAKE2b-256 d75a1e3c064bbe3dda4e02450e1915574f953abb3b8b76504437f60047dc390a

See more details on using hashes here.

File details

Details for the file yjcli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: yjcli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for yjcli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d3c55e9fb6e8084f50263a6e33ed8e7ecbeff711fda0a2034b606bd55ba5622
MD5 50f5427549efb91e3d748425cda83594
BLAKE2b-256 05f7296799dac821b2a8a6bac1e11b4e5483239bae6636b948405cff5ae0b08a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page