Концепциялар
Loadout
AIM-де «loadout» сөзінің екі мағынасы бар — өнімдік және техникалық.
Loadout метафорасы — AI-құралдармен жұмыс жасайтын әзірлеушінің толық оқ қорамсасы. Оған дағдылар, MCP серверлері және AI орталарын жұмысқа дайын ететін параметрлер кіреді. aiman sync командасы — жаңа машинада осы қорамсаны жылдам қайта зарядтау. Өнімнің атауы да осыдан шыққан: AIM Loadout.
Техникалық loadout — контекстпен жұмыс істеуге арналған инвентарьдың атаулы ішкі жиыны, мысалы Documentation Work немесе Architecture Work. Ол loadouts/<name>.yaml файлында сақталады және aiman apply --loadout <name> командасымен декларативті түрде қолданылады: AI орталары инвентарьға белгілі элементтер шегінде дәл loadout жинағына келтіріледі. Loadout-тан тыс инвентарь элементтері орталардан жойылады; қолмен немесе басқа құралмен жасалған файлдар қозғалмайды.
| Мағынасы | Нені білдіреді | Команда |
|---|---|---|
| Loadout метафорасы | инвентарь тұтасымен | aiman sync, aiman apply |
| Техникалық loadout | инвентарьдың атаулы ішкі жиыны | aiman apply --loadout <name> |
--loadout флагысыз aiman apply виртуалды Default loadout режимінде жұмыс істейді — бұл бүкіл жарамды инвентарь; оның мінез-құлқы аддитивті: элементтерді орнатады және жаңартады, бірақ орталардан ештеңе жоймайды. aiman sync-те --loadout флагы мүлде жоқ — бұл толық инвентарьдың тасымалы, — бірақ оны қолдану кезіндегі мінез-құлқы пинге байланысты: пинсіз ол --loadout-сыз apply сияқты аддитивті; белсенді пинмен ол орталарды бекітілген loadout жинағына декларативті түрде келтіреді — дәл apply --loadout <name> сияқты.
Контекст ауыстыру сценарийі — Жұмыс циклдарында, файл форматы — инвентарь форматында.
Loadout пині
apply --loadout <name> — бір реттік әрекет: ол AI орталарын loadout жинағына бір рет қана келтіреді және ештеңені есте сақтамайды. Келесі aiman sync орталарды қайтадан толық инвентарьға дейін кеңейтеді, өйткені sync әдепкі бойынша apply арқылы жасалған таңдау туралы білмейді.
Пин — сол бір loadout механизмінің үстіндегі сақталған күй: бекітілген loadout атауы пайдаланушының жаһандық конфигінде (~/.config/aim/config.yaml, loadout өрісі) сақталады және оны арнайы алып тастамайынша, CLI-дің әр іске қосылуы арасында белсенді болып қалады. Пин орнатылған кезде aiman sync толық инвентарьды аддитивті қолданудың орнына орталарды бекітілген loadout жинағына декларативті түрде келтіреді — apply --loadout <name> сияқты, жинақтан тыс элементтерді жоюды қоса алғанда.
apply --loadout <name> | apply --loadout <name> --pin | |
|---|---|---|
| Не болады | жинақты бір рет қолданады | жинақты қолданады және оны белсенді пин ретінде есте сақтайды |
Келесі sync нені көреді | таңдау туралы білмейді — толық инвентарьды қолданады | толық инвентарьдың орнына сол loadout-ты қолданады |
| Қайда сақталады | ешқайда, әсері тек AI орталарында | жаһандық конфигте, loadout: <name> |
| Қалай алып тастау керек | ештеңе алып тастаудың қажеті жоқ — sync толық жинақты өзі қайтарады | aiman apply --unpin немесе aiman apply --default |
Пинді apply флагтары басқарады:
apply --loadout <name> --pin— қолдану және бекіту;apply --default— бүкіл инвентарьды бір әрекетпен қолдану және пинді алып тастау;apply --unpin— ештеңе қолданбай пинді алып тастау.
aiman status белсенді пинді Pinned loadout: өрісінде көрсетеді. aiman switch инвентарьдың басқа репозиторийіне ауысқанда пинді әрдайым сөзсіз алып тастайды — тіпті жаңа репозиторийде дәл сол атаумен loadout болса да: әр машинада репозиторий бойынша пиндер жиынтығы емес, тек бір ғана жаһандық көрсеткіш сақталады.
Пин енді жоқ loadout-қа сілтесе (атауы өзгертілген, жойылған немесе switch мұндай атауы жоқ репозиторийге алып келген), sync толық инвентарьға үнсіз оралудың орнына pinned loadout "X" not found in inventory қатесімен тоқтайды — осылайша рассинхрондау байқаусыз қалмайды. Бұл пинсіз apply --loadout беретін loadout "X" not found in loadouts/ қатесінен бөлек тексеру.
Флагтардың, қақтығыстардың және шығарудың толық сипаттамасы — CLI анықтамалығында, пайдалану сценарийі — Жұмыс циклдарында.
Inventory
Inventory (инвентарь) — AIM пайдаланушының AI орталарына қолданатын файлдары бар Git репозиторийі.
Ағымдағы үлгіде инвентарь мыналарды қамтиды:
skills/— дағдылар;mcp/— MCP серверлері;loadouts/— инвентарьдың атаулы ішкі жиындары (міндетті емес);aim.yaml— жалпы конфигурация;.gitignore— кем дегендеaim.local.yaml-ды шығарып тастайды;aim.local.yaml— әр машинадағы жергілікті файл, Git-ке сақталмайды.
Library Item
Library Item — инвентарьдың бірлігі. Ағымдағы MVP-да екі тип бар: Skill Item және MCP Item.
Инвентарьдағы орынға кандидат — AI орталары өнеркәсіптік стандарт ретінде қабылдаған сущность: оның тұрақты форматы бар, оны бірнеше өндіруші қолдайды және оны орталар арасында елеулі өзгертулерсіз тасымалдауға болады. Мұндай сущность тасымалданатын актив ретінде мағынасы бар — оны орталықтандырып сақтап, адаптерлер арқылы қолданған жөн.
Skill Item
Skill Item — AI ортасына арналған Markdown нұсқаулығы.
Файл skills/<name>.md ретінде сақталады:
---
name: review-code
description: Дұрыстыққа баса назар аударып code review жүргіз
targets:
- claude-code
- cursor
---
# Role
...Қолданғаннан кейін AIM дағдыны нақты AI ортасы күтетін форматта орнатады.
Дағды қалта түрінде де сақтала алады (skills/<name>/SKILL.md) — қосымша анықтамалық файлдармен, мысалы agent-patterns.md немесе examples.md. Бұл жағдайда AIM бүкіл қалтаны тұтасымен көшіреді. Толығырақ — Инвентарь форматы анықтамалығында.
MCP Item
MCP Item — MCP серверінің YAML сипаттамасы:
name: context7
description: MCP арқылы кітапхана құжаттамасы
command: npx
args:
- -y
- "@upstash/context7-mcp"
targets:
- claude-code
- cursor
- codex
env:
- name: API_KEY
description: API key
required: trueEnv айнымалыларының мәндері Git-ке сақталмайды. AIM оларды жергілікті сұрайды және aim.local.yaml-да сақтайды.
Болашақтағы мүмкін түрлер
AI орталары жаңа стандарттар туралы келіскен сайын инвентарьға қосымша түрлер кіруі мүмкін.
Субагент нұсқаулығы. Claude Code субагент нұсқаулықтарын қазірдің өзінде қолдайды. Codex CLI мен Cursor бұл форматты қабылдаған кезде, ол дербес Library Item бола алады.
Жоба/каталог жүйелік нұсқаулығы. Claude Code оны CLAUDE.md-да, Codex — AGENTS.md-да сақтайды, Cursor екі файлды да оқиды. Бұл нұсқаулықтар іс жүзінде ұқсас форматқа жақындап жатыр. Болашақта AIM мұндай нұсқаулықты бірыңғай актив ретінде сақтап, sync кезінде адаптерлер арқылы орталарға бөле алады.
Ағымдағы MVP-да бұл түрлердің ешқайсысы жүзеге асырылмаған. Library Item — тек Skill Item немесе MCP Item.
Инвентарьды жинау
Инвентарьды басқарудың алдында оны толтыру керек. AIM элементтер қосудың екі тәсілін қолдайды.
aiman add — жергілікті файлдан немесе stdin-нен:
aiman add skill cool-skill.md
cat prompt.md | aiman add skill -
aiman add mcp jira.yaml
cat jira.yaml | aiman add mcp -aiman add skill қалталық дағдыға (немесе оның SKILL.md-іне) жол да қабылдайды — бұл жағдайда инвентарьға бүкіл қалта көшіріледі: SKILL.md және оның жанындағы барлық анықтамалық файлдар.
MCP сервері қосылған кезде AIM файлдан env айнымалыларының нақты мәндерін автоматты түрде шығарып, aim.local.yaml-да сақтайды — инвентарьға (және Git-ке) тек секретсіз дескрипторлар түседі.
aiman import — орнатылған AI ортасынан:
aiman import skill review-code --from claude-code
aiman import skill my-prompt --from codex
aiman import mcp context7 --from claude-code
aiman import mcp jira --from cursor --printaiman import тек белсенді инвентарь репозиторийіне жазады: репозиторий қосылмаған болса, команда ағымдағы каталогта файл жасамай, қатемен аяқталады және алдымен aiman init орындауды сұрайды.
Ортада қалта түрінде сақталған дағдыны (<name>/SKILL.md және анықтамалық файлдары) импорттағанда инвентарьға бүкіл қалта көшіріледі — aiman add skill <dir> кезіндегідей.
MCP серверін импорттаған кезде AIM AI ортасының тірі конфигурациясын оқып, env-strip қолданады және дескрипторды mcp/<name>.yaml-ға жазады. Env айнымалыларының нақты мәндері aim.local.yaml-ға түседі, бірақ Git-ке емес. Тек stdio серверлері (command өрісі барлар) импортталады; HTTP/SSE транспортындағы серверлерді AIM көшірмейді.
Элемент қосылғаннан кейін ол жергілікті инвентарьда пайда болады (skills/<name>.md немесе mcp/<name>.yaml). Жариялау үшін aiman push пайдаланыңыз.
Нақты командалар мен флагтар туралы — CLI анықтамалығында.
Adapter
Adapter — нақты AI ортасының форматын білетін AIM бөлігі.
Адаптер мыналарға жауапты:
- AI ортасының базалық каталогын анықтауға;
aiman import skillкезінде дағдыларды сканерлеуге — адаптер AI ортасының дағдыларды қайда сақтайтынын біледі;aiman import mcpкезінде MCP конфигурациясын сканерлеуге — адаптер ортаның тірі конфигурациясын оқиды;- Skill Item орнатуға;
- MCP серверін тиісті JSON немесе TOML конфигіне жазуға.
Қолдау көрсетілетін орталар:
- Claude Code;
- Cursor;
- Codex CLI.
apply, push және sync
aiman apply Git операцияларынсыз ағымдағы жергілікті жұмыс ағашын қолданады. Бұл дағды әзірлеудің ішкі циклы.
aiman apply --loadout <name> — apply командасының контексттік нұсқасы: AI орталарын инвентарьдың атаулы ішкі жиынына дәл келтіреді, оның ішінде loadout-тан тыс инвентарь элементтерін орталардан жояды (Loadout бөлімін қараңыз).
aiman push инвентарьды валидациялайды, commit жасайды және өзгерістерді қашықтағы репозиторийге жібереді. Бұл — жариялау.
aiman sync Git-тен жарияланған күйді алып, жергілікті AI орталарына қолданады. Бұл — басқа машинаға тасымалдау немесе ағымдағыны жаңарту. Пинсіз sync бүкіл инвентарьды аддитивті қолданады; белсенді пинмен ол орталарды бекітілген loadout жинағына декларативті түрде келтіреді — apply --loadout <name> сияқты.
Нәтиже жолынан кейінгі өзгерістер құрамы
Үш команда да нәтиже жолынан кейін өзгерістер құрамын — не қосылды (A), өзгертілді (M) немесе жойылды (D) — көрсетеді. push-та D маркері әрдайым инвентарьдан жойылған файлды білдіреді. apply-да ол тек --loadout кезінде пайда болады және элементтің AI ортасынан жойылғанын білдіреді. sync-те D-нің мағынасы контекстке байланысты: git-дельтасында (жарияланған инвентарьда не өзгергені) ол жойылған файлды білдіреді, ал pinned режимінде қосымша екінші, бөлек блок — орталарға қолдану құрамы басылады, онда D apply --loadout-тағы сияқты мағынаны білдіреді (қараңыз: CLI анықтамалығы):
synced: 67451fc · 21 skills, 1 MCP server → 3 environments
M skills/commit-message.md
A skills/refactor-helper.mdМұнда екі санды ажырата білу маңызды. Нәтиже жолындағы санауыштар (21 skills) — операция көлемі: барлығы қанша қолданылды. Төмендегі блок — өзгерістер құрамы: жаңа немесе өзгерген нәрселер. 21 skills — 21 өзгеріс емес, жалпы 21 дағды. Ештеңе өзгермесе, блок басылмайды — тек нәтиже жолы қалады.
Дағдылар үшін өзгерістер құрамы мазмұнды салыстыру арқылы есептеледі. MCP серверлері үшін ол әзірге есептелмейді (толығырақ — анықтамалықтағы белгілі шектеуді қараңыз).
aiman status неліктен remote-қа жүгінеді
aiman status «менің инвентарымда жарияланған күйге қатысты не өзгерді» деген сұраққа жауап береді. Бұл сұрақ remote күйін анықтамалық ретінде қарастырады, сондықтан позицияны есептеу алдында команда Git fetch орындайды.
Бұл — желіге жүгінбейтін жергілікті git status-тан саналы айырмашылық: оның сұрағы тек жергілікті жұмыс ағашы туралы. aiman status-тің «шынайы» жергілікті жауабы жоқ — fetch-сіз позиция ескірген ref бойынша есептелер еді және адастыруы мүмкін. Сондықтан fetch-ке кеткен қысқа кідіріс — күтілетін мінез-құлық, ақаулық емес. Remote қолжетімсіз болса, status қатып қалмайды: позиция unknown (remote unreachable) ретінде көрсетіледі, команда сәтті аяқталады.
aim.local.yaml
aim.local.yaml әр машинада жеке жасалады және Git-ке түспейді.
Онда мыналар сақталады:
- AI орталарына жолдар;
- соңғы сәтті
pushпенsync-тің hash белгілері; - MCP серверлерінің env айнымалыларының жергілікті мәндері.
Hash белгілері ақпараттық сипатта: олар күйді түсіндіруге көмектеседі, бірақ push пен sync-тің қауіпсіздігі Git күйіне сүйенеді.
Одан әрі
- Жұмыс циклдары — инвентарьды жинау, жариялау және синхрондау.
- AI орталары — қолдау көрсетілетін адаптерлер және анықтау жолдары.
- Репозиторий құрылымы — инвентарьдың толық форматы.
- CLI анықтамалығы — барлық командалар.