{"_id":"@dzhechkov/skills-book-fundamental-software-architecture","_rev":"4-d2dcfad4f01b2fc80b8943a10056456c","name":"@dzhechkov/skills-book-fundamental-software-architecture","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.1":{"name":"@dzhechkov/skills-book-fundamental-software-architecture","version":"0.1.1","keywords":["agent-skills","skill-pack","codex","claude-code","software-architecture","architecture-decisions","book-derived"],"author":{"name":"dzhechko"},"license":"SEE LICENSE IN LICENSE","_id":"@dzhechkov/skills-book-fundamental-software-architecture@0.1.1","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/dz-harness-hub/tree/main/packages/@dzhechkov/skills-book-fundamental-software-architecture#readme","bugs":{"url":"https://github.com/djd1m/dz-harness-hub/issues"},"dist":{"shasum":"43a1503f311e529186587917c39756eee525c14e","tarball":"https://registry.npmjs.org/@dzhechkov/skills-book-fundamental-software-architecture/-/skills-book-fundamental-software-architecture-0.1.1.tgz","fileCount":45,"integrity":"sha512-RpdbngROaFwM6kJbew01uOoStvcE7ei3s7FtpCJknNE1VKXpa1rSQ/sxZfHiKkC5iYdYsMO4sWoVk9fGLh/QjQ==","signatures":[{"sig":"MEYCIQCLKYh4qyLwmqf6jKCtfC0L9NeTsM8RDvgvuqJBbVh97AIhAKqVnPCd8WgjBPRSiiw/pC1SZ4tOSZy+ymzYIz1RDvYD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1388129},"_from":"file:dzhechkov-skills-book-fundamental-software-architecture-0.1.1.tgz","scripts":{"test":"node test/pack.test.mjs"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"_resolved":"/tmp/bb2d9ffbbeb524013fb3f3cc5d334277/dzhechkov-skills-book-fundamental-software-architecture-0.1.1.tgz","_integrity":"sha512-RpdbngROaFwM6kJbew01uOoStvcE7ei3s7FtpCJknNE1VKXpa1rSQ/sxZfHiKkC5iYdYsMO4sWoVk9fGLh/QjQ==","repository":{"url":"git+https://github.com/djd1m/dz-harness-hub.git","type":"git","directory":"packages/@dzhechkov/skills-book-fundamental-software-architecture"},"_npmVersion":"10.9.4","description":"Architecture decision gateway distilled from Fundamentals of Software Architecture: 26 protocols, shipped references, and a 315-KU lexical brain slice.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/skills-book-fundamental-software-architecture_0.1.1_1788287161264_0.002093741433463636","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dzhechkov/skills-book-fundamental-software-architecture","version":"0.1.2","keywords":["agent-skills","skill-pack","codex","claude-code","software-architecture","architecture-decisions","book-derived"],"author":{"name":"dzhechko"},"license":"SEE LICENSE IN LICENSE","_id":"@dzhechkov/skills-book-fundamental-software-architecture@0.1.2","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/dz-harness-hub/tree/main/packages/@dzhechkov/skills-book-fundamental-software-architecture#readme","bugs":{"url":"https://github.com/djd1m/dz-harness-hub/issues"},"dist":{"shasum":"bfe322188e727b3f8d337a96756a19f4a2ef0538","tarball":"https://registry.npmjs.org/@dzhechkov/skills-book-fundamental-software-architecture/-/skills-book-fundamental-software-architecture-0.1.2.tgz","fileCount":45,"integrity":"sha512-AyZVc11nLuQ0TjiWwg5e25c4NrsM3++1avWeaHofp2hbUv7ywqpJTOLcKh2qMECRokc/Z5DoY1eoZAnvV1ATQw==","signatures":[{"sig":"MEUCIETb4qS3Omtjlj0n+eJJ5FaP6Arcr+PZ5m2gy7jmUa2rAiEAqhAI2lekM4DH4NLuAxExqAk+8XKgI8jKElV6lMDW4Yc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1388120},"_from":"file:dzhechkov-skills-book-fundamental-software-architecture-0.1.2.tgz","scripts":{"test":"node test/pack.test.mjs"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"_resolved":"/tmp/747bfdffd861d5e760e7fe6be1876a53/dzhechkov-skills-book-fundamental-software-architecture-0.1.2.tgz","_integrity":"sha512-AyZVc11nLuQ0TjiWwg5e25c4NrsM3++1avWeaHofp2hbUv7ywqpJTOLcKh2qMECRokc/Z5DoY1eoZAnvV1ATQw==","repository":{"url":"git+https://github.com/djd1m/dz-harness-hub.git","type":"git","directory":"packages/@dzhechkov/skills-book-fundamental-software-architecture"},"_npmVersion":"10.9.4","description":"Architecture decision gateway distilled from Fundamentals of Software Architecture: 26 protocols, shipped references, and a 315-KU lexical brain slice.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/skills-book-fundamental-software-architecture_0.1.2_1788289521609_0.9104047441614782","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dzhechkov/skills-book-fundamental-software-architecture","version":"0.1.3","keywords":["agent-skills","skill-pack","codex","claude-code","software-architecture","architecture-decisions","book-derived"],"author":{"name":"dzhechko"},"license":"SEE LICENSE IN LICENSE","_id":"@dzhechkov/skills-book-fundamental-software-architecture@0.1.3","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/dz-harness-hub/tree/main/packages/@dzhechkov/skills-book-fundamental-software-architecture#readme","bugs":{"url":"https://github.com/djd1m/dz-harness-hub/issues"},"dist":{"shasum":"3d2c4abdeabb2b15648762847c7780065a2757e4","tarball":"https://registry.npmjs.org/@dzhechkov/skills-book-fundamental-software-architecture/-/skills-book-fundamental-software-architecture-0.1.3.tgz","fileCount":45,"integrity":"sha512-RRLyWpVUKsJ4SBpcQe6QjTA7Fii6+bG5I/lgkExuBNB4Oa5EdhfqBtRrJK2tMZJ+qwdtG13AN5kkNhnONztvdg==","signatures":[{"sig":"MEQCICKkbfYvfL5Tgjl+7IyS1a5EguLsxRWGfBWAZTbffg1cAiA+Vhh8134F+fChkyoDAcMD1dl7XE07mELnr12DjJIq6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1389693},"_from":"file:dzhechkov-skills-book-fundamental-software-architecture-0.1.3.tgz","scripts":{"test":"node test/pack.test.mjs"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"_resolved":"/tmp/38eac02a7406d45806b69cf6654e44a8/dzhechkov-skills-book-fundamental-software-architecture-0.1.3.tgz","_integrity":"sha512-RRLyWpVUKsJ4SBpcQe6QjTA7Fii6+bG5I/lgkExuBNB4Oa5EdhfqBtRrJK2tMZJ+qwdtG13AN5kkNhnONztvdg==","repository":{"url":"git+https://github.com/djd1m/dz-harness-hub.git","type":"git","directory":"packages/@dzhechkov/skills-book-fundamental-software-architecture"},"_npmVersion":"10.9.4","description":"Architecture decision gateway distilled from Fundamentals of Software Architecture: 26 protocols, shipped references, and a 315-KU lexical brain slice.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/skills-book-fundamental-software-architecture_0.1.3_1788379156177_0.8951456980511487","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dzhechkov/skills-book-fundamental-software-architecture","version":"0.1.4","description":"Architecture decision gateway distilled from Fundamentals of Software Architecture: 26 protocols, shipped references, and a 315-KU lexical brain slice.","publishConfig":{"access":"public"},"license":"SEE LICENSE IN LICENSE","author":{"name":"dzhechko"},"keywords":["agent-skills","skill-pack","codex","claude-code","software-architecture","architecture-decisions","book-derived"],"repository":{"type":"git","url":"git+https://github.com/djd1m/dz-harness.git","directory":"packages/@dzhechkov/skills-book-fundamental-software-architecture"},"homepage":"https://github.com/djd1m/dz-harness/tree/main/packages/@dzhechkov/skills-book-fundamental-software-architecture#readme","scripts":{"test":"node test/pack.test.mjs"},"_id":"@dzhechkov/skills-book-fundamental-software-architecture@0.1.4","bugs":{"url":"https://github.com/djd1m/dz-harness/issues"},"_integrity":"sha512-2eYwUZoxMvxgS6bBXBW3txe18YXkSP3yGb1uyV2qVJ2gK2Xn629gbZN3yxJfwX+I+dWLxFs8p7sjLt1u2bW6rg==","_resolved":"/tmp/f78804d11f3be34badf435c613b991d3/dzhechkov-skills-book-fundamental-software-architecture-0.1.4.tgz","_from":"file:dzhechkov-skills-book-fundamental-software-architecture-0.1.4.tgz","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-2eYwUZoxMvxgS6bBXBW3txe18YXkSP3yGb1uyV2qVJ2gK2Xn629gbZN3yxJfwX+I+dWLxFs8p7sjLt1u2bW6rg==","shasum":"35f6cee8756a0f25cd39143a889635cc262153f3","tarball":"https://registry.npmjs.org/@dzhechkov/skills-book-fundamental-software-architecture/-/skills-book-fundamental-software-architecture-0.1.4.tgz","fileCount":45,"unpackedSize":1389689,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGh0pNEzQxlAdm4VWiPtxfq31Jvldi13L9zNtMmDcg00AiEAkJvhZYREmxjNL/ZhsqaywLeHfq/ur1UEZLnTIJ45m+w="}]},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"directories":{},"maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/skills-book-fundamental-software-architecture_0.1.4_1789293596922_0.38982500497991723"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-01T18:26:01.045Z","modified":"2026-09-13T09:59:57.182Z","0.1.1":"2026-09-01T18:26:01.456Z","0.1.2":"2026-09-01T19:05:21.831Z","0.1.3":"2026-09-02T19:59:16.382Z","0.1.4":"2026-09-13T09:59:57.067Z"},"bugs":{"url":"https://github.com/djd1m/dz-harness/issues"},"author":{"name":"dzhechko"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/djd1m/dz-harness/tree/main/packages/@dzhechkov/skills-book-fundamental-software-architecture#readme","keywords":["agent-skills","skill-pack","codex","claude-code","software-architecture","architecture-decisions","book-derived"],"repository":{"type":"git","url":"git+https://github.com/djd1m/dz-harness.git","directory":"packages/@dzhechkov/skills-book-fundamental-software-architecture"},"description":"Architecture decision gateway distilled from Fundamentals of Software Architecture: 26 protocols, shipped references, and a 315-KU lexical brain slice.","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"readme":"# @dzhechkov/skills-book-fundamental-software-architecture\n\nThis public, book-derived pack turns architecture-level design questions into a traceable\ndecision: context and drivers, boundary, style/topology, distributed interaction, guardrail,\nand an explicit downside plus verification condition. It ships the deep-lookup references and a\n315-KU lexical slice. It contains original reformulations and decision protocols, not the book's\ntext or source PDF.\n\n## Install and simplest use\n\n> **Registry status.** Published (first release 2026-09-01, owner-sanctioned at CP5) —\n> MEASURED, reproducer `npm view @dzhechkov/skills-book-fundamental-software-architecture version`\n> answers a version instead of the pre-release `E404`. The by-name commands below work as written;\n> installing by PATH from a monorepo checkout\n> (`dz install ./packages/@dzhechkov/skills-book-fundamental-software-architecture --target codex`)\n> remains a supported alternative for development trees.\n\nInstall the whole pack into Codex:\n\n```bash\ndz install @dzhechkov/skills-book-fundamental-software-architecture --target codex\n```\n\nOr install the same canonical skill into Claude Code:\n\n```bash\ndz install @dzhechkov/skills-book-fundamental-software-architecture --target claude-code\n```\n\nThen describe the task normally: “используй набор fundamental-software-architecture-guide для\nвыбора архитектуры заказов; покажи контекст, драйверы, принятый компромисс и как его проверить”.\nThe gateway chooses one dominant family and hands the concrete work to the owning skill when one\nexists. The communication family is intentionally KB-only and hands off to C4/documentation work;\nit is not an automatic skill trigger.\n\n## Usage scenarios\n\n### 1. Audit an existing architecture\n\nSituation: a monolith is slow to change and the team is considering a split.\n\nPrompt (RU): “Проверь, стоит ли разделять наш монолит: выдели архитектурные драйверы, связность,\nцену распределённости и критерий возврата к решению.”\n\nPrompt (EN): “Audit whether we should split this monolith. Identify drivers, coupling, the cost of\ndistribution, and a reversal trigger.”\n\nThe gateway routes to boundaries/coupling or style/fit, producing a bounded recommendation rather\nthan an automatic microservice migration.\n\n### 2. Choose a greenfield style\n\nSituation: a new system must choose between modular, pipeline, microkernel, service-based or other\nstyles under known operational constraints.\n\nPrompt (RU): “Сравни модульный монолит, pipeline и сервисную архитектуру для нашей команды и среды;\nне скрывай худший компромисс и предложи fitness function.”\n\nPrompt (EN): “Compare a modular monolith, pipeline, and service-based design for our team and\nenvironment. State the worst trade-off and propose a fitness function.”\n\nThe choice/fit family makes assumptions explicit and records what evidence would change the choice.\n\n### 3. Decide between requests and events\n\nSituation: a workflow may be implemented as a direct request, a domain event, orchestration, or\nchoreography.\n\nPrompt (RU): “Для оформления заказа реши, где нужны запросы, где доменные события, и как восстановить\nдоставку при сбое; дай последовательность проверки.”\n\nPrompt (EN): “For order checkout, decide where to use requests versus domain events and how delivery\nrecovers after failure; give a verification sequence.”\n\nThe distributed-interaction family covers payload semantics, delivery recovery and mediator topology.\n\n### 4. Add an architectural guardrail\n\nSituation: a team wants a measurable rule that detects architectural drift.\n\nPrompt (RU): “Сформулируй fitness function для границ платежей и проведи короткий architecture risk\nstorming: какие риски проверять первыми?”\n\nPrompt (EN): “Define a fitness function for payment boundaries and run a short architecture risk\nstorming exercise: which risks should we test first?”\n\nThe guardrails/risk family returns a measurable condition, scope, and failure response.\n\n### 5. Explain the decision to a team\n\nSituation: the architecture is agreed, but the team needs a shared visual explanation.\n\nPrompt (RU): “Подготовь уровни архитектурной коммуникации для решения выше и передай результат в C4-\nсовместимый формат; не рисуй диаграмму автоматически, если семантика не определена.”\n\nPrompt (EN): “Prepare architecture communication layers for the decision above and hand them off in\na C4-compatible format; do not draw a diagram when the semantics are undefined.”\n\nThe communication material is retained as KB-only reference and explicitly handed to existing\ndiagram/documentation skills.\n\n## Optional advanced use\n\nThe pack’s references are shipped inside the skill, so deep lookup works without the owner's source\ncorpus. Import the shipped lexical slice into your private brain with:\n\n```bash\ndz brain add --from-pack @dzhechkov/skills-book-fundamental-software-architecture\n```\n\nThis is an explicit local import; it does not copy the source PDF or extracted corpus.\n\n## Provenance and limits\n\nThe pack is derived from the Russian edition of *Fundamentals of Software Architecture* by Mark\nRichards and Neal Ford (ISBN 978-601-12-6107-4), 315 verified KUs, and a CP3.5-v2 routing gate.\nO'Reilly's original edition is copyright © 2020 Mark Richards and Neal Ford; all rights reserved.\nThis package is unaffiliated with and not endorsed by the authors or publishers. References are\nparaphrased decision support, not a replacement for the book. Buy the book for the full argument,\nfigures, examples, and context. Generic diagramming, REST/OpenAPI/GraphQL/gRPC contract design, ETL,\ndeployment, incidents, and team ceremonies remain outside this gateway’s scope.\n\n**IP gate — what is and is not attested (2026-09-02).** The pack ships a deterministic\nword-shingling gate at `scripts/shingling-check.mjs`, which rejects uncited verbatim runs of eight\nor more words against a source corpus. No run of it against THIS pack is recorded: `sources.json`\nhas no `shingling_gate` field (the sibling pack `@dzhechkov/skills-book-ai-apps` does),\n`CP4-PACK-REPORT.md` has no gate section, and `test/pack.test.mjs` has six tests, none about\nshingling. Nothing invokes it at release either — `prepublishOnly` runs the shared publish gate,\nwhich has no shingling step. The corpus it would need is owner-local and is not distributed, so the\nrun cannot be reproduced from this package. The LICENSE previously said the gate runs before\nrelease; it now says this instead. The paraphrase discipline here is authorial and reviewed, not\nmechanically attested.\n\n## Copilot note\n\nCopilot-style always-on instruction loading can be expensive; install the subset or use the gateway\nonly for architecture decisions rather than copying all references into every prompt.\n","readmeFilename":"README.md"}