CLI 명령어 범위#
출하된 alti 바이너리가 커맨드 라인을 어떻게 라우팅하는지, 이 릴리스에서 어떤 네임스페이스에 연결할 수 있는지, 모든 종료 코드의 의미 및 각 명령이 실제로 실행되는 위치를 이해합니다.
한국어 번역 검토 중 기술적 의미가 충돌하는 경우 영어 원문을 기준으로 사용하세요.
개요#
이것은 전체 alti 명령 참조의 시작 페이지입니다. 모든 명령에 적용되는 부분을 다룹니다. 바이너리가 인수를 처리하는 파서, 승진된 CLI에서 연결할 수 있는 네임스페이스, 명령이 실제로 실행되는 완전한 종료 코드 세트, 인쇄하는 영수증 봉투 및 읽는 환경 변수를 결정하는 방법.
명령 당 테이블은 두 개의 동반자 페이지에 살고 있습니다:
CLI engine commands — every locally parsed engine namespace:
rtl,sv,verification,trace,labs,tcl,eidb,physical,px,isa,ide, andcapabilities.CLI 작업 및 클라우드 명령 —
job네임스페이스,analyze run,evolve run및 임베디드 작업 매니페스트의 25개 동작.
이것은 서명 참조입니다. 인수 승인, 발송 및 영수증 모양을 설명합니다. 엔진이 내부적으로 계산하는 것을 설명하지 않으며 CLI 명령 참조에서 릴리스 자격을 확대하지 않습니다. 자격 경계에 대해 해당 페이지를 읽으십시오. 여기에 모든 것이 상속됩니다.
A command appearing in --help is not evidence that it can complete useful work on your machine. Several documented commands are permanently unavailable in this release, and they are named below rather than quietly omitted.
두 파서, 하나의 바이너리#
alti에는 두 개의 독립적인 인수 파서가 있으며 명령줄의 첫 번째 단어가 어느 것이 실행되는지 결정합니다.
The exact pair
mcp serveis intercepted before either parser and starts the stdio MCP server.로컬 파서는 13개의 네임스페이스와 2개의 정확한 두 단어 형식을 처리합니다. 완전한 인수 파서입니다.
-h, 위치 인수, 값 열거 및 범위 유효성 검사를 지원합니다.매니페스트 디스패처는 다른 모든 것을 처리합니다. 명령 경로와 내장된 동작 매니페스트를 일치시키고
---prefixed 플래그만 인식합니다.
로컬 파서는 첫 번째 단어(선택적인 선행 --json 이후)가 다음 중 하나일 때 명령줄을 수신합니다.
capabilities job rtl sv verification trace labs
tcl eidb physical px isa ide
…또는 처음 두 단어가 정확히 analyze run 또는 evolve run일 때.
다른 모든 것은 login, logout, whoami 및 모든 클라우드 작업을 포함하여 매니페스트 디스패처로 이동합니다.
이 라우팅에서 제외되는 항목#
명령의 4개 그룹은 바이너리에 선언되어 있지만 이 릴리스에서는 접근할 수 없습니다. 이 페이지에서는 생략되지 않습니다. 이 명령은 승격된 CLI 아카이브 버전의 모양입니다.
그룹 |
무슨 일이 |
종료 |
|---|---|---|
|
not in the local-parser list, and not in the action manifest, 따라서 알 수 없는 명령으로 보고됩니다. |
|
|
동일 |
|
|
라우팅 규칙은 정확한 쌍 |
|
|
동일한 규칙; |
|
예를 들면:
$ alti eda inspect --format lef --input floorplan.lef
Unknown command: eda inspect. Try `alti help`.
$ alti evolve capabilities
Unexpected argument(s): capabilities
Both exit 2. Do not plan work around alti eda, alti reports, alti evolve capabilities, alti evolve analyze, alti evolve cx-search, alti evolve measured-ppa, or alti evolve artifact in this release. The only reachable evolve command is evolve run.
여기에 존재하지 않는 두 가지 이름:
alti ide initis not defined. Theidenamespace has exactly one subcommand,ide open.alti ide initexits2witherror: unrecognized subcommand 'init'. There is no CLI project-scaffolding command in this release.alti login,alti logout, andalti whoamiare declared in the local parser with--profileand--no-browseroptions, but the router never sends them there. They reach the manifest dispatcher, which answers them directly, so those options are accepted and ignored.alti login --profile stagingbehaves exactly likealti login.
글로벌 플래그#
--json는 로컬 파서의 전역 플래그입니다. 네임스페이스 앞이나 하위 명령 뒤에 나타날 수 있으므로 alti --json labs status 및 alti labs status --json는 동일합니다. 로컬 경로에서 영수증 봉투에 설명 된 구조화된 영수증 봉투를 선택합니다.
라우팅 규칙은품질 관리--json만 제거합니다. 2단어 양식의 중간에 배치하면 일치가 깨집니다. alti evolve --json run --request req.json는 매니페스트 디스패처로 넘어와 2를 종료하고 alti --json evolve run --request req.json 및 alti evolve run --request req.json --json는 모두 작동합니다.
매니페스트 디스패처는 긴 플래그만 인식합니다. alti -h를 명령 이름으로 읽습니다.
$ alti -h
Unknown command: -h. Try `alti help`.
alti --help를 사용합니다. 로컬 파서 -h에서 정상적으로 작동합니다. 로컬 파싱된 모든 하위 명령은 전체 파서를 통과하기 때문입니다. alti rtl synth -h는 하위 명령의 도움말을 인쇄하고 0를 종료합니다.
로컬에서 파싱된 모든 하위 명령은 --json 및 -h/--help를 허용합니다. 컴패니언 페이지는 행당 반복하지 않습니다.
메타 및 계정 명령#
이들은 명백한 dispatcher에 의해 취급됩니다.
명령 |
용도 |
종료 |
|---|---|---|
|
손으로 쓴 명령 요약 인쇄 |
|
|
포함된 작업 매니페스트를 25개 항목의 JSON 배열로 인쇄 |
|
|
인쇄 |
|
|
확인되지 않은 환경 자격 증명 상태를 JSON로 보고 |
|
|
|
|
|
|
|
|
저장된 자격 증명이 제거되지 않았다는 보고 |
|
|
메인 바이너리에서 stdio MCP 서버 시작 |
|
alti auth status reads the environment only. Its JSON object carries apiOrigin, authenticated, configurationError, credentialSource, credentialState, identity, nativePkce, orgIdHint, principalKind, serverVerification, and tokenPresent. With no credentials set, credentialState is missing, tokenPresent is false, nativePkce is unavailable, and serverVerification is not_performed. It never contacts a server and never prints the token.
alti login 및 alti whoami는 추측이 아닌 폐쇄 실패합니다. stderr에 인쇄하고 4를 종료합니다.
AUTH_FLOW_UNAVAILABLE: native PKCE/keychain login is not enabled for this release.
Use `alti auth status` to inspect environment configuration.
alti mcp serve는 정확한 두 인수와 일치하며 ALTI_TOKEN 및 ALTI_ORG_ID가 필요합니다. 둘 다 alti mcp fatal: ALTI_TOKEN is not set (org API key or access token).를 인쇄하고 1를 종료하지 않습니다. 프로토콜 표면 및 클라이언트 설정은 MCP를 참조하십시오.
종료 코드#
이 CLI 스크립트를 작성하려면 읽고 있는 두 코드 세트 중 어느 것이 값과 겹치는지 알고 있어야 합니다. 코드는 값이 겹치지만 의미에는 겹치지 않으며, 어느 세트가 적용되느냐는 명령을 처리하는 파서에 따라 다릅니다.
매니페스트 디스패처#
코드 |
의미 |
|---|---|
|
성공. 또한 |
|
레지스트리 오류, 자격 증명 구성 오류, 전송 오류 또는 출력 직렬화 오류 |
|
알 수 없는 명령, 알 수 없는 후행 경로 단어, 알 수 없는 옵션, 계약 외 값 또는 누락된 필수 옵션 |
|
일치하는 동작은 외부 고객이 호출할 수 없습니다( |
|
정책에 의해 거부: |
코드 2는 자격 증명이 해결되기 전에 그리고 네트워크 클라이언트가 구성되기 전에 배출됩니다. 코드 3 및 4도 사전 네트워크입니다. 코드 1는 요청이 시도되었다는 것을 의미할 수 있는 유일한 것입니다.
로컬 파서#
코드 |
의미 |
|---|---|
|
|
|
인수 오류가 아닌 CLI 수준 오류(예: 거부된 러너 선택 또는 거부된 레거시 패스스루) |
|
모든 것이 시작되기 전에 인수 구문 분석 또는 검증 실패 |
엔진 코드 |
패키지 엔진을 실행하는 명령의 경우 엔진 자체의 종료 상태는 변경되지 않습니다. |
The pass-through is literal. alti rtl compile with no arguments after -- starts alti-rtlc, which reports its own missing-file error and exits 2; the 2 you see is the engine’s, not the CLI’s.
엔진 실행 코드#
CLI가 패키지 엔진을 실행하면 엔진이 아닌 실행 시도에서 세 가지 코드가 생성됩니다.
코드 |
의미 |
|---|---|
|
실행 전에 인수 입력에 실패함 — |
|
올바른 이름을 가진 형제가 존재하지만 심볼릭 링크이거나 일반 파일이 아니거나 실행 가능하지 않습니다. 또는 프로세스가 “찾을 수 없음”이 아닌 다른 이유로 시작할 수 없습니다. |
|
|
형제가 존재하지만 사용할 수 없는 것은 PATH로 되돌아갈 이유가 아니라 오류입니다. 이는 의도적인 것입니다. 부분적으로 추출된 아카이브는 다른 빌드를 자동으로 실행하는 대신 큰 소리로 실패합니다.
작업 전송 코드#
--runner local 또는 --runner private가있는 job 하위 명령은 패키지 alti-engine-job 실행 파일을 실행하고 동일한 2 / 126 / 127 패턴과 자녀 자신의 상태를 따릅니다. 누락 된 엔드포인트 변수는 2입니다.
$ alti job status --runner local job-123
ALTIFIGENCE_LOCAL_ENGINE_JOB_URL must be set to a non-empty value
[failed] job.status runner=local engine=alti-engine-job executable=alti-engine-job resolution=unresolved exit=2
거부된 러너 범위 옵션 그룹도 2입니다. --runner cloud가 포함된 job 하위 명령은 대신 HTTP 클라이언트를 사용하고 1가 실패합니다.
tcl 코드 평가#
alti tcl evaluate는 전용 결과 스키마를 가진 하나의 명령이기 때문에 자체 세트가 있습니다.
코드 |
실패 코드 |
원인 |
|---|---|---|
|
— |
평가 완료 |
|
|
stdin 읽을 수 없거나, 비어 있거나, 4194304 바이트 이상 |
|
|
개인 평가 작업 공간을 만들 수 없거나 러너의 출력이 제한 범위를 초과했습니다. |
|
|
|
|
|
형제가 릴리스 인증에 실패했습니다 |
ide open 종료 코드#
alti ide open는 데스크탑 프로세스가 생성되었을 때 0를 종료하고 그렇지 않으면 1를 종료합니다. 영수증은 이유를 구별합니다. status는 spawned, unavailable 또는 failed입니다.
실행 위치#
기본값은 로컬입니다. 로컬 파서의 어떤 것도 요청하지 않는 한 네트워크 서비스에 연락하지 않습니다.
–runner를 사용하는 하위 명령#
정확히 12 개의 하위 명령이 --runner를 수락하며 가족에 따라 두 가지 다른 것을 의미합니다. 다른 모든 로컬 구문 분석 된 하위 명령은 무조건적으로 컴퓨터에서 실행되며 --runner 플래그가 전혀 없습니다.
가족 |
하위 명령 |
기본 |
값 |
|---|---|---|---|
엔진 호환성 경로 |
|
|
|
회사 소개 |
|
|
|
엔진 호환성 경로에서 --runner는 패키지 엔진을 실행하는 것과 디스패치 계획을 인쇄하는 것 사이에서 선택합니다.
local(기본값)는 패키지 엔진을 형제 프로세스로 시작합니다.cloud및private는 아무 것도 접촉하지 않습니다. 그들은 고정 된 파견 계획을 인쇄하고0를 종료합니다.json { "status": "scaffold", "domain": "rtl", "operation": "compile", "runner": "cloud", "project": "demo", "next": "encode the shared engine job contract and connect a runner adapter" }Combining a non-local runner with passthrough arguments after--is rejected:passthrough 엔진 인수는 --runner local, exit1에서만 사용할 수 있습니다.
직업 수송제품군에서 --runner는 클라이언트가 어떤 Job Service와 대화할지 선택합니다.
cloud(기본값)는 내장 HTTP 클라이언트를 사용하며ALTI_TOKEN및ALTI_ORG_ID가 필요합니다.localandprivaterun the packagedalti-engine-jobexecutable against the URL inALTIFIGENCE_LOCAL_ENGINE_JOB_URLorALTIFIGENCE_PRIVATE_ENGINE_JOB_URL. The local URL must behttporhttpsonlocalhostor a loopback address; the private URL must behttpswith a host. Neither may embed a username or password.analyze run는 플래그를 수락하지만cloud:Local and Private job service adapters are not available; use --runner cloud.를 제외한 모든 것을 거부하고1를 종료합니다.
로컬 엔진 탐색 방식#
이 아카이브는 alti 옆에 19개의 엔진 실행 파일을 제공하고 CLI는 이를 형제로 실행합니다. 해상도는 정확히 두 단계로 나 ⁇ 니다.
실행 중인
alti실행 파일과 동일한 디렉터리에서<engine-name>를 찾습니다. 정규, 심볼릭이 아닌 실행 파일이 있으면 사용하십시오. 영수증은resolution: "sibling"를 보고합니다.그렇지 않으면 운영 체제가
PATH를 통해 해결하는 베어 이름으로 돌아갑니다. 영수증은resolution: "path"를보고합니다.
형제가 항상 승리합니다. 추출된 디렉토리에서 alti를 복사하면 모든 엔진이 PATH를 통해 해결되고 다른 빌드에 도달할 수 있습니다. 결과가 놀라면 영수증에서 resolution 및 executable를 확인하십시오.
두 개의 명령이 PATH 폴백을 완전히 거부하고 서명된 설치 레이아웃을 추가로 요구하므로 추출된 평면 아카이브에서 성공할 수 없습니다.
alti capabilities는PREFIX/bin/alti와 영수증 백업 릴리스 페이로드를 먼저 해결합니다. 다른 레이아웃에서error: installed alti binary is not below PREFIX/bin를 인쇄하고1를 종료합니다.alti tcl evaluate는alti-tcl-local-runner를 엄격한 형제로 요구하고 설치된 신뢰 체인에 대해 확인합니다.
엔진의 작업 디렉토리는 하나를 전달할 때 해결 된 --project 디렉토리이며 그렇지 않은 경우 현재 디렉토리입니다.
네임스페이스별 실행 엔진#
네임스페이스 또는 명령 |
엔진 바이너리 |
CLI 아카이브와 함께 배송 |
|---|---|---|
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
아니오입니다 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예, 형제 전용 및 트러스트 체크 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
예 |
|
|
없음 — IDE 제품으로 배송 |
The nineteen engines the release builds are alti-rtlc, alti-rtl, alti-cx, alti-physical-runner, alti-px-runner, alti-evolve, alti-rtl-analyze, alti-sv-frontend, alti-sv-immediate-review, alti-sv-interprocess-review, alti-golden-diff, alti-trace, alti-tcl, alti-tcl-local-runner, alti-eidb-local-runner, alti-eda-artifact-inspect, alti-reports, alti-engine-job, and alti-lab. With alti and alti-mcp that is the twenty-one executables the archive contains.
위의 표에 대해 그 목록을 읽고 세 가지 불일치가 발생합니다. 그들은 분명히 말할 가치가 있습니다.
alti-rtl-runneris not in it. The eightrtl *-committed-identities listandreadleaves name it, so they can be resolved neither as a sibling nor onPATHfrom a correct installation. Invoking one produces a receipt withstatus: "unavailable"and exit127.alti-eda-artifact-inspectandalti-reportsship but have no reachable command, becauseedaandreportsare not routed to the local parser.alti-rtl-analyzeships but has no reachable command, because the only subcommand that names it isevolve analyze, andevolvereaches the local parser only asevolve run.
아카이브의 바이너리는 --help의 이름보다 더 이상 기능이 없습니다.
영수증 봉투#
세 개의 봉투 스키마가 있습니다. --json를 사용하면 stdout이 정확히 하나의 JSON 객체를 전달하고 stderr가 비어 있습니다. 사람이 읽을 수 있는 줄이 아닌 봉투를 파싱합니다.
altifigence.local-engine-execution.v1#
패키지 엔진을 실행하는 모든 로컬 파싱된 하위 명령에 의해 방출됩니다.
필드 |
의미 |
|---|---|
|
항상 |
|
|
|
네임스페이스, 예를 들어 |
|
CLI 작업(예: |
|
항상 |
|
CLI가 요청한 엔진 실행 파일 이름 |
|
해당 엔진에 전달된 작업 이름 |
|
|
|
해결된 경로 또는 해결되지 않은 맨 이름 |
|
|
|
엔진의 출구 상태 |
|
엔진의 stdout, 문자열로 |
|
엔진의 stderr, 문자열로 |
--json가 없으면 엔진 자체의 stdout이 변경되지 않고 하나의 영수증이 stderr로 전달됩니다.
[completed] rtl.artifact-list runner=local engine=alti-rtl/artifact executable=alti-rtl resolution=path exit=0 project=.
status: "completed"는 엔진이 시작되고 반환되었음을 의미합니다. 엔진이 요청한 것을 생성 한 것은 아닙니다.
altifigence.engine-job-adapter-receipt.v1#
Emitted by job subcommands with --runner local or --runner private. It carries schema, status, operation, runner, binary, resolution, executable, exitCode, stdout, and stderr. It has no domain, engineOperation, or project. The gateway secret is redacted out of both captured streams before the receipt is written.
altifigence.cli.tcl-evaluation.v1#
Emitted only by alti tcl evaluate. It carries schema, status, inputBytes, inputSha256, jobSha256, resultArtifactId, resultArtifactSha256, result, resultBytes, provenance, and failure. On an unqualified layout:
{
"schema": "altifigence.cli.tcl-evaluation.v1",
"status": "unavailable",
"inputBytes": 8,
"inputSha256": "5b4b60861398e1a5082bfe6140588185afdd406a148fdf94def6614b581c8584",
"jobSha256": "504dd4a043d34c4be84108be0e8cde4d7c68be47d7436b2c03a325f916a72a44",
"resultArtifactId": null,
"resultArtifactSha256": null,
"result": null,
"resultBytes": null,
"provenance": null,
"failure": {
"code": "TCL_INSTALLED_RUNNER_UNAVAILABLE",
"message": "The installed qualified Tcl runner is unavailable.",
"retryable": false
}
}
alti job readiness and alti job validate have their own schemas; see CLI job and cloud commands.
환경 변수#
이것들은 주어진 바이너리가 이름으로 읽는 유일한 변수입니다. 이 변수는 설정 파일을 읽지 않으며 --config 플래그가 없습니다.
변수 |
다음으로 읽기 |
필수 |
의미 |
|---|---|---|---|
|
|
예, |
Org API 키 또는 액세스 토큰. Trimmed; 비어있는 것은 세트 해제로 처리됩니다. |
|
위와 같음 |
예, |
조직 id. 트림됨; 비어 있음 |
|
위와 같음 |
아니오 |
API 원점. 기본값은 |
|
위와 같음 |
아니오 |
값이 |
|
|
아니오 |
값이 |
|
|
예, 그 길을 위해 |
작업 서비스 URL. |
|
|
예, 그 길을 위해 |
작업 서비스 URL. 호스트가있는 |
|
|
예, 그 경로에 대한 |
|
|
위와 같음 |
예, 그 경로에 대한 |
|
ALTIF_ENGINE_JOB_ENDPOINT는 alti다음으로에 의해 위의 URL 변수에서 alti-engine-job 자식 프로세스로 설정됩니다. 직접 설정하지 마십시오.
이러한 변수들 중 어느 것도 sv frontend index 또는 trace inspect와 같은 로컬로 파싱된 엔진 명령에 영향을 주지 않습니다. 이들은 자격 증명 없이 실행됩니다. 자격 증명이 범위화되고 인증되지 않는 방법은 CLI 인증를 참조하십시오.
이 페이지에서 다루지 않는 내용#
설계상 이 참조는 인터페이스에서 중지됩니다. 이 참조는 엔진이 결과를 계산하는 방법, 즉 회로도 표현, 분석 또는 지붕선 그림이 파생되는 방법, 검색 진행 방법 또는 확인 참조가 구성되는 방법을 설명하지 않습니다. 이는 내부적이며 게시되지 않습니다.
영수증을 읽을 때 경계는 주목할 가치가 있습니다. CLI는 엔진이 시작되고 실행 가능하며 무엇이 반환되었는지를 알려줍니다. 출력을 정규화 된 엔지니어링 결과로 만들 수 없습니다. 이 릴리스에서 자격을 갖춘 CLI 명령 참조를 참조하십시오.