-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAGENTS.html
More file actions
48 lines (46 loc) · 18.1 KB
/
Copy pathAGENTS.html
File metadata and controls
48 lines (46 loc) · 18.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!DOCTYPE html>
<html lang="ru-RU" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>GitNexus — Code Intelligence — Alterfo</title>
<meta name="description" content="Олег Сидоркин — инженер и музыкант: проекты, локальные инструменты без облака и заметки об аудио, AI и архитектуре.">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.D8wjU2Yi.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.B1-5p4jy.js"></script>
<link rel="modulepreload" href="/assets/chunks/runtime-core.esm-bundler.BcSW7cUG.js">
<link rel="modulepreload" href="/assets/chunks/plugin-vue_export-helper.DlAUqK2U.js">
<link rel="modulepreload" href="/assets/chunks/FinanceApp.C_ZHG9fP.js">
<link rel="modulepreload" href="/assets/AGENTS.md.CqXltKMd.lean.js">
<link rel="prefetch" href="/assets/chunks/WebGPUParticles.Dl1pQHzD.js">
<link rel="prefetch" href="/assets/chunks/IDEF0Editor.14Tmgomo.js">
<link rel="prefetch" href="/assets/chunks/Journal.2ijwyZk2.js">
<link rel="prefetch" href="/assets/chunks/Piano.DxHomblD.js">
<link rel="prefetch" href="/assets/chunks/OpenPoseEditor.qGKAHwzL.js">
<link rel="prefetch" href="/assets/chunks/PlannerEditor.CT-ugLoj.js">
<link rel="prefetch" href="/assets/chunks/DecisionJournal.GPYzwCng.js">
<link rel="icon" type="image/svg+xml" href="/home-wheel.svg">
<link rel="icon" type="image/png" sizes="48x48" href="/favicon.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<meta name="theme-color" content="#14161a">
<script id="check-dark-mode">document.documentElement.classList.add("dark");</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
<link rel="canonical" href="https://alterfo.github.io/AGENTS">
<meta property="og:type" content="website">
<meta property="og:title" content="GitNexus — Code Intelligence">
<meta property="og:description" content="Oleg Sidorkin — инженер и музыкант. Проекты, инструменты и заметки.">
<meta property="og:url" content="https://alterfo.github.io/AGENTS">
<meta property="og:image" content="https://alterfo.github.io/og.png">
<meta property="og:site_name" content="Alterfo">
<meta property="og:locale" content="ru_RU">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="GitNexus — Code Intelligence">
<meta name="twitter:description" content="Oleg Sidorkin — инженер и музыкант. Проекты, инструменты и заметки.">
<meta name="twitter:image" content="https://alterfo.github.io/og.png">
</head>
<body>
<div id="app"><div class="Layout" data-v-d8b57b2d><!--[--><header class="site-header" id="large-header"><canvas></canvas><div class="animation-toggler top-2"><button type="button">Включить анимацию!</button></div><div class="page-title" style="opacity:1;">GitNexus — Code Intelligence</div></header><!--]--><!--[--><span tabindex="-1" data-v-fcbfc0e0></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-fcbfc0e0>Skip to content</a><!--]--><!----><header class="VPNav" data-v-d8b57b2d data-v-7ad780c2><div class="VPNavBar" data-v-7ad780c2 data-v-9fd4d1dd><div class="wrapper" data-v-9fd4d1dd><div class="container" data-v-9fd4d1dd><div class="title" data-v-9fd4d1dd><div class="VPNavBarTitle" data-v-9fd4d1dd data-v-9f43907a><a class="title" href="/" data-v-9f43907a><!--[--><!--]--><!--[--><img class="VPImage logo" src="/home-wheel.svg" alt data-v-ab19afbb><!--]--><!----><!--[--><!--]--></a></div></div><div class="content" data-v-9fd4d1dd><div class="content-body" data-v-9fd4d1dd><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9fd4d1dd><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9fd4d1dd data-v-afb2845e><span id="main-nav-aria-label" class="visually-hidden" data-v-afb2845e> Main Navigation </span><!--[--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-afb2845e data-v-bfe7971f><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-bfe7971f><span class="text" data-v-bfe7971f><!----><span data-v-bfe7971f>Проекты</span><span class="vpi-chevron-down text-icon" data-v-bfe7971f></span></span></button><div class="menu" data-v-bfe7971f><div class="VPMenu" data-v-bfe7971f data-v-20ed86d6><div class="items" data-v-20ed86d6><!--[--><!--[--><div class="VPMenuGroup" data-v-20ed86d6 data-v-a6b0397c><p class="title" data-v-a6b0397c>Приложения</p><!--[--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/journal.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Дневник</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/idef0.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>IDEF0-редактор</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/ar/" target="_self" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Аудио-реактив</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/piano.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Piano Teacher</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/openpose.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>OpenPose Editor</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/planner.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Планировщик</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/decision-journal.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Журнал решений</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/finance.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Финансы</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-20ed86d6 data-v-a6b0397c><p class="title" data-v-a6b0397c>Разборы</p><!--[--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/projects/ar-engine.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Аудио-реактив — архитектура</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-a6b0397c data-v-7eeeb2dc><a class="VPLink link" href="/projects/idef0-editor.html" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>IDEF0 Editor — архитектура</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/music.html" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>Музыка</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/blog.html" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>Блог</span><!--]--></a><!--]--><!--]--></nav><!----><!----><!----><div class="VPFlyout VPNavBarExtra extra" data-v-9fd4d1dd data-v-f953d92f data-v-bfe7971f><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-bfe7971f><span class="vpi-more-horizontal icon" data-v-bfe7971f></span></button><div class="menu" data-v-bfe7971f><div class="VPMenu" data-v-bfe7971f data-v-20ed86d6><!----><!--[--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9fd4d1dd data-v-6bee1efd><span class="container" data-v-6bee1efd><span class="top" data-v-6bee1efd></span><span class="middle" data-v-6bee1efd></span><span class="bottom" data-v-6bee1efd></span></span></button></div></div></div></div><div class="divider" data-v-9fd4d1dd><div class="divider-line" data-v-9fd4d1dd></div></div></div><!----></header><div class="VPLocalNav empty fixed" data-v-d8b57b2d data-v-2488c25a><div class="container" data-v-2488c25a><!----><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2488c25a data-v-6b867909><button data-v-6b867909>Return to top</button><!----></div></div></div><!----><div class="VPContent" id="VPContent" data-v-d8b57b2d data-v-9a6c75ad><div class="VPDoc has-aside" data-v-9a6c75ad data-v-e6f2a212><!--[--><!--]--><div class="container" data-v-e6f2a212><div class="aside" data-v-e6f2a212><div class="aside-curtain" data-v-e6f2a212></div><div class="aside-container" data-v-e6f2a212><div class="aside-content" data-v-e6f2a212><div class="VPDocAside" data-v-e6f2a212 data-v-cb998dce><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-cb998dce data-v-f610f197><div class="content" data-v-f610f197><div class="outline-marker" data-v-f610f197></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-f610f197>On this page</div><ul class="VPDocOutlineItem root" data-v-f610f197 data-v-53c99d69><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-cb998dce></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e6f2a212><div class="content-container" data-v-e6f2a212><!--[--><!--]--><main class="main" data-v-e6f2a212><div style="position:relative;" class="vp-doc _AGENTS" data-v-e6f2a212><div><h1 id="gitnexus-—-code-intelligence" tabindex="-1">GitNexus — Code Intelligence <a class="header-anchor" href="#gitnexus-—-code-intelligence" aria-label="Permalink to "GitNexus — Code Intelligence""></a></h1><p>This project is indexed by GitNexus as <strong>alterfo.github.io-src</strong> (623 symbols, 967 relationships, 44 execution flows). Use the GitNexus MCP tools to understand code, assess impact, and navigate safely.</p><blockquote><p>Index stale? Run <code>node .gitnexus/run.cjs analyze</code> from the project root — it auto-selects an available runner. No <code>.gitnexus/run.cjs</code> yet? <code>npx gitnexus analyze</code> (npm 11 crash → <code>npm i -g gitnexus</code>; #1939).</p></blockquote><h2 id="always-do" tabindex="-1">Always Do <a class="header-anchor" href="#always-do" aria-label="Permalink to "Always Do""></a></h2><ul><li><strong>MUST run impact analysis before editing any symbol.</strong> Before modifying a function, class, or method, run <code>impact({target: "symbolName", direction: "upstream"})</code> and report the blast radius (direct callers, affected processes, risk level) to the user.</li><li><strong>MUST run <code>detect_changes()</code> before committing</strong> to verify your changes only affect expected symbols and execution flows. For regression review, compare against the default branch: <code>detect_changes({scope: "compare", base_ref: "master"})</code>.</li><li><strong>MUST warn the user</strong> if impact analysis returns HIGH or CRITICAL risk before proceeding with edits.</li><li>When exploring unfamiliar code, use <code>query({query: "concept"})</code> to find execution flows instead of grepping. It returns process-grouped results ranked by relevance.</li><li>When you need full context on a specific symbol — callers, callees, which execution flows it participates in — use <code>context({name: "symbolName"})</code>.</li></ul><h2 id="never-do" tabindex="-1">Never Do <a class="header-anchor" href="#never-do" aria-label="Permalink to "Never Do""></a></h2><ul><li>NEVER edit a function, class, or method without first running <code>impact</code> on it.</li><li>NEVER ignore HIGH or CRITICAL risk warnings from impact analysis.</li><li>NEVER rename symbols with find-and-replace — use <code>rename</code> which understands the call graph.</li><li>NEVER commit changes without running <code>detect_changes()</code> to check affected scope.</li></ul><h2 id="resources" tabindex="-1">Resources <a class="header-anchor" href="#resources" aria-label="Permalink to "Resources""></a></h2><table tabindex="0"><thead><tr><th>Resource</th><th>Use for</th></tr></thead><tbody><tr><td><code>gitnexus://repo/alterfo.github.io-src/context</code></td><td>Codebase overview, check index freshness</td></tr><tr><td><code>gitnexus://repo/alterfo.github.io-src/clusters</code></td><td>All functional areas</td></tr><tr><td><code>gitnexus://repo/alterfo.github.io-src/processes</code></td><td>All execution flows</td></tr><tr><td><code>gitnexus://repo/alterfo.github.io-src/process/{name}</code></td><td>Step-by-step execution trace</td></tr></tbody></table><h2 id="cli" tabindex="-1">CLI <a class="header-anchor" href="#cli" aria-label="Permalink to "CLI""></a></h2><table tabindex="0"><thead><tr><th>Task</th><th>Read this skill file</th></tr></thead><tbody><tr><td>Understand architecture / "How does X work?"</td><td><code>.claude/skills/gitnexus/gitnexus-exploring/SKILL.md</code></td></tr><tr><td>Blast radius / "What breaks if I change X?"</td><td><code>.claude/skills/gitnexus/gitnexus-impact-analysis/SKILL.md</code></td></tr><tr><td>Trace bugs / "Why is X failing?"</td><td><code>.claude/skills/gitnexus/gitnexus-debugging/SKILL.md</code></td></tr><tr><td>Rename / extract / split / refactor</td><td><code>.claude/skills/gitnexus/gitnexus-refactoring/SKILL.md</code></td></tr><tr><td>Tools, resources, schema reference</td><td><code>.claude/skills/gitnexus/gitnexus-guide/SKILL.md</code></td></tr><tr><td>Index, status, clean, wiki CLI commands</td><td><code>.claude/skills/gitnexus/gitnexus-cli/SKILL.md</code></td></tr></tbody></table></div></div></main><footer class="VPDocFooter" data-v-e6f2a212 data-v-1bcd8184><!--[--><!--]--><!----><!----></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"agents.md\":\"CqXltKMd\",\"blog.md\":\"BV7H2Jqu\",\"decision-journal.md\":\"CC6uleyw\",\"finance.md\":\"DFXiOO_0\",\"idef0.md\":\"ovd1WdVJ\",\"index.md\":\"D5ONd-4T\",\"journal.md\":\"DD4wOCMf\",\"music.md\":\"DMkj9Gbn\",\"openpose.md\":\"COL_jlQx\",\"piano.md\":\"CrHeuTtj\",\"planner.md\":\"BMgJzwFl\",\"posts_2020-09-03-why-the-blog-appears.md\":\"DG_AVTxC\",\"posts_2020-09-04-canvas-circle-of-life.md\":\"nzpY3VXS\",\"posts_2020-09-05-reflection.md\":\"BI1m5ieN\",\"posts_2020-09-07-values-prioritization.md\":\"rnWhwQ3E\",\"posts_2020-09-08-organization-values.md\":\"Cc-sFsIz\",\"posts_2020-09-10-vuepress-migration.md\":\"c_TeKmIu\",\"posts_2020-09-11-adaptive-fonts.md\":\"D5oncG_z\",\"posts_2020-09-13-resistance.md\":\"CzXJRtdg\",\"posts_2020-09-15-spinal-hernia.md\":\"Bp1iP0GD\",\"posts_2020-09-17-conflict-management.md\":\"q_u8uVIX\",\"posts_2020-09-18-archetypes.md\":\"DoJsFttv\",\"posts_2020-09-19-working-from-home.md\":\"ChkMgDem\",\"posts_2020-09-21-empathy.md\":\"CPokdvOH\",\"posts_2020-09-24-bulling.md\":\"Dv1VYhhJ\",\"posts_2020-09-24-graphql-resolvers.md\":\"stdiB8cU\",\"posts_2020-09-25-critical-rendering-path.md\":\"Bx6DSWUA\",\"posts_2020-09-26-stress-tolerance.md\":\"DGQ_jiAw\",\"posts_2020-10-05-sdlc.md\":\"CnhslfcW\",\"posts_2020-10-11-hyperresponsibility.md\":\"Cg2X3Vaj\",\"posts_2020-10-12-principles.md\":\"zUGu-njq\",\"posts_2020-10-21-eastern-martial-arts.md\":\"DuJl1IeF\",\"posts_2021-05-08-paupiauau.md\":\"HIaKnwP3\",\"posts_2021-06-30-crisises.md\":\"Cl0s36nX\",\"posts_2021-10-29-frustration.md\":\"BUWoW4e6\",\"posts_2021-11-24-poject-from-scratch.md\":\"t6Mej97U\",\"posts_2022-03-06-negotiations.md\":\"Byc6S_xV\",\"posts_2022-06-14-impact.md\":\"CypnCgKh\",\"posts_2022-10-16-frustration.md\":\"BunPsZEq\",\"posts_2022-10-16-timemanagement.md\":\"DRvL-fWo\",\"posts_2022-11-03-my-next-project.md\":\"CjSoSZVJ\",\"posts_2022-12-24-stack-2-maintainability-reliability.md\":\"D-2PYz_O\",\"posts_2023-01-11-stack-3-overengineering.md\":\"C8dcm4MI\",\"posts_2024-10-02-vpn.md\":\"COS94bKs\",\"posts_2025-03-22-relationships.md\":\"C5sT4UKE\",\"posts_2025-12-12-rational-planning.md\":\"C2zjFDQZ\",\"posts_2026-06-11-instrumenty-v-brauzere-bez-oblaka.md\":\"Ctkwaqou\",\"projects_ar-engine.md\":\"-zmnGXu3\",\"projects_idef0-editor.md\":\"BYvDp4MS\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"ru-RU\",\"dir\":\"ltr\",\"title\":\"Alterfo\",\"titleTemplate\":\":title — Alterfo\",\"description\":\"Олег Сидоркин — инженер и музыкант: проекты, локальные инструменты без облака и заметки об аудио, AI и архитектуре.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":\"force-dark\",\"themeConfig\":{\"logo\":\"/home-wheel.svg\",\"siteTitle\":false,\"nav\":[{\"text\":\"Проекты\",\"items\":[{\"text\":\"Приложения\",\"items\":[{\"text\":\"Дневник\",\"link\":\"/journal\"},{\"text\":\"IDEF0-редактор\",\"link\":\"/idef0\"},{\"text\":\"Аудио-реактив\",\"link\":\"/ar/\",\"target\":\"_self\"},{\"text\":\"Piano Teacher\",\"link\":\"/piano\"},{\"text\":\"OpenPose Editor\",\"link\":\"/openpose\"},{\"text\":\"Планировщик\",\"link\":\"/planner\"},{\"text\":\"Журнал решений\",\"link\":\"/decision-journal\"},{\"text\":\"Финансы\",\"link\":\"/finance\"}]},{\"text\":\"Разборы\",\"items\":[{\"text\":\"Аудио-реактив — архитектура\",\"link\":\"/projects/ar-engine\"},{\"text\":\"IDEF0 Editor — архитектура\",\"link\":\"/projects/idef0-editor\"}]}]},{\"text\":\"Музыка\",\"link\":\"/music\"},{\"text\":\"Блог\",\"link\":\"/blog\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>