CLICLItypeA command you run, rather than a dependency you import.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →

SAP-samples/sap-devs-cli

A CLI that injects current SAP developer knowledge packs into an AI coding tool's context and wires up SAP's own MCP servers for it, shipped as a single binary through Homebrew, Scoop or GitHub Releases.

General-purpose coding assistants are trained on public content, so their advice on SAP technologies can be outdated or wrong, and sap-devs works by loading current knowledge packs into whichever assistant a developer already runs. Its init command sets it up, sync keeps the content current automatically, and inject writes SAP context into the configured AI tool and wires its SAP MCP servers. It ships as a single binary, installed through Homebrew, Scoop or a manual download from GitHub Releases rather than a service to sign up for.

Facts

Last pushLicenceApache-2.0

Where it sits

Lives in
Provides
Agent guidanceBTPAgent guidancecapabilityPackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from [agent access to your code](capability:agent-code-access), where the agent reads the real project instead of being handed a file about it.

Who is behind it

SAP SamplesSAP SamplesOrganisationMaintains this
In the atlas: maintains 222
@SAP-samples
maintainerDJ AdamsPersonContributes to this
Developer Advocate
In the atlas: contributes to 20, wrote 22
@qmacro
GoReleaser BotPersonContributes to this
In the atlas: contributes to 1
@goreleaserbot
Thomas JungPersonContributes to this
Developer Advocate
In the atlas: contributes to 15, wrote 6
@jung-thomas
3 contributors

What it declares

Every artifact

Type
CLI
Origin
By SAP

As a CLI

Distributed through
HomebrewBinary download

Tasks this contributes to1Beta

Keep the SAP knowledge an agent follows currentA developer wants what their agent is told about SAP to come from what SAP documents now, rather than from what the model learnt or what a skill file froze when it was written.Coverswrites current SAP context into the configured tool, with a sync command
What it does

A command line rather than a skill. One command injects SAP context into the AI tools that are configured, and a second is documented as the one that keeps the content current.

Remaining work

Run the sync. The README read on 2026-10-15 names no schedule and no list of supported assistants, so when the content is refreshed and which tool receives it are the developer's to establish.

All options on the Agent guidance page →

Connections1

README

quoted from SAP-samples/sap-devs-cli under Apache-2.0, read
SAP-samples/sap-devs-cli/README.mdOn GitHub

sap-devs cli

REUSE status

sap-devs injects up-to-date SAP developer knowledge into your AI coding tools, wires SAP MCP servers, and keeps content current automatically.

Documentation

Quick Start

# Install (Windows, Scoop):
#   scoop bucket add sap-devs https://github.com/SAP-samples/sap-devs-cli.git
#   scoop install sap-devs
#
# Install (macOS, Homebrew):
#   brew tap SAP-samples/sap-devs-cli https://github.com/SAP-samples/sap-devs-cli.git
#   brew install --cask sap-devs
#
# Install (Linux or manual): download from GitHub Releases, extract, add to PATH
sap-devs version

# First-time setup
sap-devs init

# Keep content current
sap-devs sync

# Inject SAP context into your AI tools
sap-devs inject

Executive Summary

AI coding assistants have become the default way developers write software. Tools like GitHub Copilot, Cursor, and Claude sit open in the background while developers work, answering questions and generating code on demand. By 2026 this shift is well underway, and it is reshaping how developers choose which technologies to build with.

The 2026 SAP Developer Survey shows that 31% of external developers are now using GenAI on production SAP projects - up from essentially zero just two years ago. More striking: 75% of those using these tools report a "profound positive impact" on their effectiveness. When asked about help resources, "consulting an LLM" ranked third, ahead of many traditional SAP channels. This isn't just developers using a new tool. This represents a fundamental shift in how technical decisions get made. The problem for SAP is straightforward. These AI tools were trained on general internet content, and their knowledge of SAP technologies is outdated, incomplete, and often wrong. A developer who asks their assistant how to build an SAP application gets bad advice, follows it, and wastes hours debugging code that should have worked. That experience is not neutral. It creates the impression that SAP is difficult, and it quietly steers developers toward alternatives.

sap-devs cli addresses this directly.

It is a small utility that developers install once. A single command delivers SAP's current best practices, recommended tools, and up-to-date guidance straight into the AI assistant the developer already uses, without changing how that tool looks or works. SAP knowledge becomes part of the developer's daily environment rather than a portal they have to remember to visit.

For developers already working in the SAP ecosystem, the benefit is immediate productivity. Accurate, opinionated guidance replaces the friction of correcting AI-generated mistakes. Curated resources and the latest release notes surface at the moment they are relevant, inside the coding environment, without any extra steps.

For developers new to SAP, this changes the first impression entirely. Historically, getting started with SAP required navigating extensive documentation and a steep learning curve. With sap-devs, a developer evaluating SAP for the first time receives clear, correct guidance from their AI assistant from day one. They do not need to know what questions to ask. The right answers show up anyway. That experience builds confidence and accelerates adoption.

For SAP's developer relations work, this opens a new distribution channel. SAP produces high-quality content: tutorials, blog posts, developer news, and curated learning paths. The challenge has always been getting that content in front of developers who are actively working on a problem. sap-devs solves that. SAP's best content reaches developers inside the tools they are already using, at the moment it matters most.

The broader opportunity is that AI assistants are fast becoming one of the most influential factors in which platforms developers choose. Platforms that integrate well into this workflow feel modern and worth learning. Platforms that do not feel like obstacles. Shipping accurate, current SAP knowledge into the AI tools developers use every day is one of the most direct ways SAP can influence that perception in 2026.

Contributing

If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a Developer Certificate of Origin (DCO) when they submit their first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.

How to obtain support

This project is provided "as-is": there is no guarantee that raised issues will be answered or addressed in future releases.

License

Copyright (c) 2026 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.

Apache-2.0, read

History

Latest

v0.0.15

  1. v0.0.14

  2. v0.0.10

    Features 1, Fixes 3

    Notes

    Shell hook reliability and output hygiene release.

    New Features

    • Smart shell detection on tip install — detects your active shell (PowerShell, Bash, Zsh) and writes the hook to the correct profile file only, preventing duplicate tips when multiple profiles are sourced in the same session (e.g. Git Bash sources both .bashrc and .bash_profile). Auto-creates the profile file if it doesn't exist.

    Bug Fixes

    • No more ANSI garbage in non-interactive contexts — sap-devs tip now outputs plain text when stdout is not a terminal (piped, redirected, or inside a script), instead of dumping raw escape codes
    • Prevent duplicate shell hook firing — tip install now writes to a single detected profile rather than all existing ones, eliminating double-tip output on Git Bash for Windows
    • MCP server configs written to all adapter locations — fixes cases where mcp install only wrote to one tool's config when multiple AI tools were detected
  3. v0.0.9

    Changed 7

    Notes

    Changelog

    • 1fdeb9c01e0a50d9c445ca365b149e233959ea1a Brew cask update for sap-devs version v0.0.8
    • b16d6f09daf187ddb1dd27a94e3d345f283e66c8 Scoop update for sap-devs version v0.0.8
    • 1acd6f6249392395ea597d51002e56ff2b9101de chore: update news episode index
    • 15d11f3cbfbd6dbacb7f97efd40856e8ada46b34 feat(mcp): add context7 and sap-devs server configurations to .mcp.json
    • 9518e9eec4ad97b8aab451b9e3a1c7d635ed5875 feat(mcp): add type field and --project install flag
    • 9898b05f129fac2680dc10530519bc826dc59198 fix(service): use batch file indirection for Windows Task Scheduler
    • cb6fe58e6d6c49619b6901071c4f215b6171afbc fix(update): strip git-describe suffixes before version comparison
  4. v0.0.8

    Changed 5

    Notes

    Changelog

    • de73a78e80cbbf2959dc078fc429685103032392 Brew cask update for sap-devs version v0.0.7
    • 0f0a34099c53250effc5f0fd0c1ee14264030774 Scoop update for sap-devs version v0.0.7
    • 17fe37e912369429a06d118f291c26fc5f2c8cd4 fix(doctor): use cds eval for version detection outside CAP projects
    • ce3841cded2bd1c9d6e72b845833ddf2e649c608 fix(tray): strip sha256sum binary-mode asterisk from checksum filenames
    • 13d6293e7409ef8a0d2f7cee20f33416412e39e1 fix(update): use api.github.com for github.com releases endpoint
  5. v0.0.7

    Changed 10

    Notes

    Changelog

    • f1054aded8075323ce8d03c19e63dec766fdba5f Brew cask update for sap-devs version v0.0.5
    • 6253d83b01389efbf4b38c1d24ac04cc7bca2887 Brew cask update for sap-devs version v0.0.6
    • 0f3aed6e4c47394db905a9737d2f6b11b23478f9 Scoop update for sap-devs version v0.0.5
    • 4c27dcbd1e130cd542673182a5898a00a0cac8e6 Scoop update for sap-devs version v0.0.6
    • c9d1fdc25a0d3f3517a18b5e9d784f787ba9c122 chore(deps): update uuid to 11.1.1 (fix CVE buffer bounds check)
    • 924d63b9d4d3a5c32ec4ed8d6e1638edd7ee2018 fix(ci): add shell: bash to tray workflow steps for Windows runner
    • b46cca0f76d4b0ec7b4c3760f018b97a20e3c0b1 fix(ci): draft release flow + Windows zip + always publish
    • df4a37a643f31ce0d439330713b4e0ce4a1dc42d fix(ci): fix tray build — copy cities.json, drop unavailable platforms
    • 2e57b26ec291ad1baa84d8981fddfcc76904b02c fix(doctor): detect cds-dk via JSON output (works outside CAP projects)
    • 3643b9c93e0b5dff6e711e8af57e7bb14710c1e7 fix(mcp): detect hosts by mcp_config presence, not adapter type
  6. v0.0.5

    Changed 627

    Notes

    Changelog

    • 1f07e824cb344c51d252316105876b07375f2c29 Add Apache-2.0, REUSE.toml, and CODEOWNERS
    • 8dcef80cb3c339d3d57091d6bc017bf9a5f2a3a0 Add Executive Summary; mark location config done
    • df6a6cefc375443c03d3300c528f8b1b41bf0385 Add GUID to BTP Subaccount and tool description
    • ced67e583a2940c9a08c3a39b89ec1521c472e27 Add SAP Developer Ecosystem and update CLI
    • b0cf098834ff7ef080b8c904430dca1e634a29e4 Add external APIs consumption reference
    • 7f74f556d4c02efd4d7911434c42b039e1cd3cd5 Add internationalization support for various commands and messages
    • 2b829636b1262025509768d639851657e8a954aa Add privacy statement and update README
    • 3350964a0f938b4defaf40b8cc51b4b12d2ac234 Add third-party dependencies reference
    • aeb7661b6df606e318f27dbb703cfcb10a4ed30d Add tutorial details to backlog document
    • e4326b7a73fb1415369efc75e4cbf47806d03aae Add tutorial inline-images plan and VitePress spec
    • acb6a17c1e73914eb52503cdde9d0908d9be36f2 Brew cask update for sap-devs version v0.0.4
    • f8f0104014d162ed110f50320b164f7cca84515e Enhance locale normalization in stripTag function
    • b84a7e981c8026e7bb5b690a0390e8b4c4767b84 Mark BTP & structured context tasks done
    • 2a045caecb134a7a02f75c15e659171469fc71f8 Mark Inject Enhancements TODO as done
    • ad2fe9bcbf88aca15acd2d24d9912e186dd44162 Mark TODO items done and trim MCP proposal
    • ec428ef26297969b527c15ecc5257780dd522a90 Mark sap-devs events TODO as done
    • 245a1b33480e0101480dd8e299cd91cc8a96493b Mark tutorial instructor phase as done in TODO
    • 50a77a2db082b2a8d36de9e8ee44155d96d2593e Merge branch 'main' into feature/news-resilience
    • 8d67096c323d3b2004950236a39ec0f557ac3266 Merge branch 'main' of https://github.com/SAP-samples/sap-devs-cli
    • e2016f7898caa410587de9f169cf3861704a4936 Merge branch 'main' of https://github.com/SAP-samples/sap-devs-cli
    • 16c1badccb8b174e10832dced3208afe6e6952f7 Merge branch 'main' of https://github.com/SAP-samples/sap-devs-cli
    • c45fe2acd23d3bfc4977826e19877846a2e2884b Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • f8498a43b966990e9ea0c1233d25105ab12927b2 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • ced95f1a2ab5c95a2c73daae3a76d55f2844c426 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • cd05c5602917b90e9c5890576c4723d429bb0877 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • c06f150120970f20e1a65fbbea76c0bfd4cb486b Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • dadf44bcae29b9e5d6d4c9addf6dca98b5982610 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 71252537a9076f80374820685c7dc1e7fb4a2a28 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 4a08c04920ba4de79f51845fda5ab4a1b73a9b13 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 50c22e5c8dee4ca470c50ba37ee2628b838cc7ba Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • cde7f42bca451b3cbec066ef2a9592f60d729273 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 5ce532a626b7e35c2ebbdf65ab294c74f4cc7df2 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 9b32f069a475cbe9a52948d032f43779adcbcdf8 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 25e7e684203f558c28b12bf4dafa95e25aa66977 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • a680c5bb93488419b1155ace6c66a5c057d0cad3 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 23a77d68fc87c49ba82d3f730c9046cac79fc750 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • f6b58c467559f7d53cdd0adcf63a6b5d7cfb34dd Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 4897d1f6b298c4617b18dc1d6182c2a4614446e4 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 7dac43dd5c15deaba8d00f0481bcd56a21695766 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 35544b94e998e9be71f8962e633f402ec325f6f6 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 2c6def83b321b542b172ba6c0dd3995cc3df5131 Merge branch 'main' of https://github.tools.sap/developer-relations/sap-devs-cli
    • 0501fcd9e83dc0c6bf21e283556b40a823f5479a Merge pull request #1 from SAP-samples/migrate/github-com-module-path
    • 32e5983a0f8a057b1b3093291dcb1922bb0eed8e Merge pull request #10 from I347491/tipwork
    • 09d1018d992529668b2328aeef5ae21834375937 Merge pull request #11 from developer-relations/feat/dynamic-content-injection
    • 36e655a39273f86a584ecdd94ddf44487b776c16 Merge pull request #12 from developer-relations/feat/html-content-conversion
    • f708aa3241be6feff6ed13a22a62343a627a9298 Merge pull request #13 from developer-relations/feat/inject-size-budgeting
    • af641fceabffda7f231f79cba1af009ff2308ffd Merge pull request #14 from developer-relations/feature/base-layer
    • 5ec4febb06c21755a2f9e4543f4128f7064c267b Merge pull request #15 from developer-relations/feature/builtin-profiles
    • 53347bebb9999a3ce3f59ba4d3b56113255920b8 Merge pull request #16 from developer-relations/feature/additive-content-layers
    • d4bed27e5a263e1cceb1c1ba19e00af19cb93138 Merge pull request #17 from developer-relations/feat/base-pack-preamble
    • b7f097abd864e0b3abae3ad3969bac096cf33cef Merge pull request #18 from developer-relations/feat/base-pack-preamble
    • 17867f3081741c86b045d14b611620ccb7c07ee6 Merge pull request #19 from developer-relations/feat/config-location
    • 69ebc840705a697279938853a9c44b94fe7bd52a Merge pull request #2 from SAP-samples/feature/sync-progress-ui
    • 7c7427bb270590733f624626d1062f5694897ea9 Merge pull request #20 from developer-relations/feat/hook-system
    • 88a553dde5257c5c17db42eb1f18d7ca9a8cb5cd Merge pull request #21 from developer-relations/feat/tip-rotation
    • 0c052494d616fb8ff08f4242d327f1aa07c5069a Merge pull request #22 from developer-relations/feat/inject-uninstall
    • bb9b9bd4ee537b572b615c3d42e6be15adc89a34 Merge pull request #23 from developer-relations/feat/inject-status
    • 855877dbda7065fc2439607126e7e70fbf7d26de Merge pull request #24 from developer-relations/feat/news
    • a91d1a6aa44676e936c3d1d9059224282109e21e Merge pull request #25 from developer-relations/feat/news
    • 0c4270cb4dffffc950c54d1227fc0173cd9ebd66 Merge pull request #26 from developer-relations/feat/influencers
    • d886ea1f8a6030e65cd26b4f645ccc03eb2176c9 Merge pull request #27 from developer-relations/feat/events
    • 86f39796e2b5355045a8c30ac6396ccc8b253a08 Merge pull request #28 from developer-relations/feat/events
    • 7d32a82bcca770b45a927c1379ceb1a889e19db6 Merge pull request #29 from developer-relations/feat/khoros-events
    • 05f1c994d47783b0042eb876619debcf4df9d9a2 Merge pull request #3 from SAP-samples/feature/os-scheduler
    • 1f420a70568b3902e9adfa56043acb8d35fbce41 Merge pull request #30 from developer-relations/feat/new-adapters
    • 848548acf830e5d6753b57409a59f5ca8e9b757b Merge pull request #31 from developer-relations/feat/samples
    • 2e3d62fc64ccf53fd023b17bdfa797efdca30196 Merge pull request #32 from developer-relations/feat/youtube-integration
    • f487f6a1c0d6f91429077d8ceb28b74ae4fa832d Merge pull request #33 from developer-relations/feat/discovery-center
    • d251049b911e136210af6adf90a3a48b35f6c711 Merge pull request #34 from developer-relations/feat/tutorials
    • 24258ffcb6d251bc29e5cb735bef0ebe3545434a Merge pull request #35 from developer-relations/worktree-feat+learning-journeys
    • 99b4604378dfa1baf7a101a68075a0d15ab03165 Merge pull request #4 from SAP-samples/feature/tray-lifecycle
    • 0e582ae096b267142be88d238bf986d270b141c7 Merge pull request #5 from SAP-samples/feature/wails-tray
    • 5cb2e7497922bc1fe2075335cf2eecc334710230 Merge pull request #6 from SAP-samples/feature/gui-config-editor
    • 8770c48d275e2b88449deb92cac6905292ea81e6 Merge pull request #7 from SAP-samples/feature/news-resilience
    • 66524f230c59cbb49bc771712b1e8c0ee4dce7e6 Merge pull request #8 from SAP-samples/worktree-feature+mcp-server-improvements
    • b9a37a2539e68174d100ba30a9e42e216d08db2c Merge pull request #9 from SAP-samples/fix/mcp-quality-improvements
    • 97ea358290b0bf05c40636906984d3aba5d4293c Remove finished items from TODO
    • 6063ca0514e796cb0c58fea8a15a1e5fc09c0fa1 Remove obsolete HTML files and update CLAUDE.md with SAP Developer Context
    • b2b398d445f2840b2917f7ac10b1c5a83568f0de Remove pruned worktree aritfact
    • f6d08849963cb2f613d3171e02178b0424930da5 Resolve MCP-to-MCP orchestration; add analysis
    • 974ea8fef57e772046ce7305a8f52c8ffb516fe6 Scoop update for sap-devs version v0.0.4
    • cffe80bceaec31510ed05a0ff14caf915901185d Support BTP TargetHierarchy array format
    • 5bd061db56489984e0c30fbbd3ef19c7c773668d TODO - can AI be used as a content instructor for tutorials or CodeJams
    • 64f77d808ab6719cc448282c0963616dad5512e8 build: copy cities.json into tray binary data dir at build time
    • 539e0d0fff54f3a9cc23df1d1f047c504db2fdb9 chore(deps): update Go dependencies
    • 8c1ce4a661772edb95149ca104814a37ff7003bb chore(schema): add hook.schema.json and wire in VS Code settings
    • 2abde3e5b2d46192dfca0e55a8580c4d3a299413 chore: add html-to-markdown/v2 and cascadia dependencies
    • 322a66073382a10c891fbe61daace406806fbcd5 chore: fix go.mod direct/indirect markers after convert.go creation
    • 97163b5bd317872826e07a026b71389d7c88a9bf chore: ignore sap-devs-news build artifact
    • a7e0c8ceb7bab500591d363f59e5c802b400b3fe chore: mark inject --status as done in TODO.md
    • b0942f979180d45e1142129bd6bab937e0dec797 chore: mark inject --uninstall as done in TODO.md
    • 89499ae68b471d66a3cdbec7815e73ffc991e1f0 chore: migrate module path to github.com/SAP-samples/sap-devs-cli
    • 05d1c00b6245081f8b1e61b13731504324d6a38b chore: redirect to github.com/SAP-samples/sap-devs-cli
    • 1301f9d5887650f117bf0d5bef6dc2a87ad92c67 chore: restore README.md after migration redirect
    • 361ef3db81b3b55b39bb78d6ebd8e91de3a00df8 chore: update news episode index
    • 5b39b23fa230a48f2e27d2b1183f1cc0575410fb chore: update news episode index
    • 6a7c711038370ff9fab066a7ec6deeb874713ca5 chore: update news episode index
    • 2b5a9258b926a50770e969cdd6b75d90d1ece9fe chore: update news episode index
    • c5e00ca1978f523d01a131297b04adcb40ffac38 chore: update news episode index
    • a0d1462ccf33f27cb40d3f882f8eb532fadcd58d chore: update news episode index
    • e5d20928f902a624cdea938fbf92065646f42dde chore: update news episode index
    • fadfd87590779ad0a2aef3d884e138a285345a17 ci: add tray binary build and release workflow
    • d429ed26f543108ff612d3bce64bba4b2bcdc6b2 content(base): add preamble.md with AI agent priority instruction
    • 22cac3a6e0fa5ac91609cfeb69bc90d3726a5c82 content(base): add tip-on-session-start hook; wire hook_config in claude-code adapter
    • 498a47e02979169bc7d78a725597ae6b1292300e content(cap): remove Agent Instructions section (moved to base preamble)
    • 786e603c5eee0006ad465c04e23ea174ad7c1ae4 content(cap): update sync:fetch marker with format, selector, and max_lines=1000
    • 475732f3e256114fd7f4c4f6e7a180e4069c820f content(tapestry): finalize consolidation of tool-injection content and add AI-priority preamble
    • 54b76ba9aaafc3e77d79ef3890459f586e73717d content: add curated discovery.yaml for base, cap, btp-core, abap packs
    • 5c75cc898c6022e20ce9b37bea5826d75b8b09df docs(TODO): add inject enhancements for uninstall and status commands
    • ef6e7f4500df4d19f4dcab0a68542755242562de docs(adapter): clarify budget guard behaviour with base packs
    • 2d6363a2f8a1d7cfb928306b1d969d1edbb7bae1 docs(content): document additive layers feature and editor schema setup
    • 7c9468edb141ee6bce87f492ec325b9fac27ec1c docs(content): document base pack field and base layer authoring guidance
    • 534e54e46a1a2b5fdf3118fefe66702cc848635e docs(content): document built-in all and minimal profiles
    • c0e1a5da6a527ed257020b18718b20ec166a89b7 docs(content-authoring): document preamble.md — structure, order, constraints, layer rules
    • 60fed0929b5dd7c7a2a889bcca797721213ec10d docs(init): clarify detect keyword is intentional English-only sentinel
    • c02048aeab314c9d6b3e7bb4efdb17456ead3172 docs(plan): adapter-specific rendering implementation plan
    • 79790be2996b6702c7c624e38232540c8a43e7f9 docs(plan): add base layer implementation plan
    • 5387a9f1bf3a9ce00dfcf39b0b82ab319c908f10 docs(plan): add built-in profiles implementation plan
    • f56571eba6962d02967ce6d2e83c8f933d6cfcba docs(plan): add hook system implementation plan
    • fe9bd3a56460a2c5cf6522d5db73178708d86e8c docs(plan): additive content layers implementation plan
    • aef488f199a45093b1dc148b243fa39aa9bc28d5 docs(plan): base pack preamble implementation plan
    • 1f3d3b94ae8ffb95b5d458c475b7e8fd114c7a46 docs(plan): fix blocking review issues in base layer plan
    • 936887ce519297d1d67b87b3d63509f0065298aa docs(spec): adapter-specific rendering design
    • f7b9df0ebb1229a25e8ebf96b52868ed58a808c5 docs(spec): add base layer design
    • 4e9a72270e3bd90791baa612517337e3caba146b docs(spec): add built-in profiles design (all and minimal)
    • cfdf6b8b972d7b34825498a6c006d024ed6a04a4 docs(spec): add hook system design spec
    • b2b453faa5512c27b2917f07f7f0ef5509323c50 docs(spec): additive content layers design
    • 20fb5cc2885d34d3b9b0dec8cfc77a602aa4c3bc docs(spec): address spec review feedback on preamble design
    • 1c2193290391e35789b323f02c0d797306295b8a docs(spec): base pack preamble and agent instructions consolidation
    • a4cf380818a842f9b2d5564519aac108b305309e docs(spec): fix markdown lint warnings in base layer design
    • d05b0cc02f1405c565b040a47b7b1b0ec0a8b90d docs(spec): fix review issues in built-in profiles design
    • fc0acf240a03dc0501308b50bf5f03e0e356c104 docs(todo): remove completed adapter-specific rendering item
    • 10fdaba834dbae2d555103bdb8504c7be1fc6dc0 docs: add BTP active context detection design spec
    • 637e5d4cca779e6b85f38570a831499db8721065 docs: add BTP active context detection implementation plan
    • 7136aa6465901bb3417a36bbfba2fe7a63f4fd6d docs: add Claude Code setup guide, MCP server docs, and CLAUDE.md refinements
    • 4f4465791765eb27d960e8ece73f18daa67ff1d5 docs: add Discovery Center integration design spec
    • b9c5723a80616a19c197172bcdfa9494195b31fd docs: add Discovery Center integration implementation plan
    • 2903dc543bf1f30e11968c6c397bf3c5d94b9c90 docs: add Friday Developer News hook design spec
    • 7a578cb55bdc9c997f8f996b44ada851ba3027bc docs: add Friday news tip override design spec
    • 875f05cf39d12a2af089fd28f651f72835f1d0ee docs: add GUI config editor design spec
    • 2e31e2ccd87e430e451d972fddd0b670e10221a9 docs: add GUI config editor implementation plan
    • 58506ace231e37562b02bd52633020713d14a00f docs: add MCP server design spec
    • d39cc7c943c3517258b602aae2e1e96824b3a0a2 docs: add MCP server improvements design spec
    • ed1f68dfa4e6471677f9cbf293b323b3e65e3fc7 docs: add MCP server improvements implementation plan
    • 86e8ba544b4e03475a142ec7f217f663a9609ec1 docs: add Phase 2b design spec (reordering + bulk editing)
    • 03a91944f0421db4903044ba88d887017151b561 docs: add Phase 2c content creation wizard design spec
    • bd1b88a51a44eef21d2810536e662c24a474e01f docs: add What's New injection block design spec
    • 24a2e49a35d2a65834597d117ecc70df75b84688 docs: add What's New injection block implementation plan
    • 5b27f32be8f1f25708a6d5db22402a88d478d025 docs: add YouTube integration design spec
    • f9167b10d85ffa891e177ed46fdbc19c1efcf4b5 docs: add YouTube integration implementation plan (12 tasks)
    • ff6f263edb7216995a6cf8f136b0c33e768e8a2c docs: add config location feature spec
    • 6ed12330b0be93592c0af79f1270e5997f8031cf docs: add config location implementation plan
    • 4c57e98fb7ab8a5e3c38a12158ebbe49ad4a60b2 docs: add constraints injection design spec
    • 82d1044dff575156f875c770d3ac90d84790e62b docs: add constraints injection implementation plan
    • 9b0ad5163fb5889587588803df8ad6c34eaf3a5e docs: add content editing UI Phase 1 design spec
    • 8e35b36374b3fd7cf423195042c8e2c2f50b2534 docs: add content editing UI Phase 1 implementation plan
    • d2712b8335df35e371f476ed45ccdd4e7bccc0d8 docs: add content-authoring guide covering markers, agent instructions, and token budget
    • 123617aaf8353638bbcd89940937a3669cb7733a docs: add design spec for MCP CLI wrappers (BTP + CF)
    • 3f4a9e533ac5a0ad4df247d282f222903c237902 docs: add design spec for Windsurf and Gemini Code Assist adapters
    • b098531612b2f11b80e13003cf5d8b0af009b490 docs: add design spec for tip install/uninstall and internal/shellhook
    • 7432d814d373aa8a187afc32aa8b6b15541c4c1a docs: add dynamic content injection design spec
    • aa6f13a1ecd46b7d5f57fe91988d8e675ba68941 docs: add dynamic content injection implementation plan
    • 10b24730f5c6608c3ee3e6fae5ea5bc35bef9951 docs: add dynamic injection design spec
    • a3315faa652b97d424f376f272ef0207573f7e9f docs: add dynamic injection implementation plan
    • 8ca0c0d8dd241cf96efa0d3e9dd7410d22bbe2e1 docs: add error pattern library design spec
    • 986b90232c164fa92ea17e3c47a72decafcf9583 docs: add error pattern library implementation plan
    • 6207c2b1bb5a6c1b784a8cf5a2dcf81238bb4c05 docs: add events Phase 2 implementation plan
    • 9f7e4ed34decefab4f9efd3282172bb51116facd docs: add events command Phase 1 implementation plan
    • c3eade18df1a85fff9da4a2e58b658e7f4adf75d docs: add events command design spec and content editing UI backlog
    • 1b5de8cdcff67ca77caf6f66ae110e22668e22ed docs: add events command to CLI commands table
    • 59857824136a6faa2ae1eab5934b6f48bdae863b docs: add html content conversion design spec
    • 3c310e443683acea1779ec7609ba5d4646bab13c docs: add html content conversion implementation plan
    • 9e6022b3ed86d805c3511b3ee3e6f8e606c1a0ec docs: add implementation plan for Windsurf and Gemini Code Assist adapters
    • 3a76bfb21d3e7e5152555a853cf2bfeb34e3a97c docs: add implementation plan for tip install/uninstall
    • f6f1a6f26c6145cfd7b0fed8b9c1d62e0ffbde0d docs: add implementation plans for Friday tip override and news hook
    • 590eed1956d4dcd41d3d6ece232928421e143532 docs: add influencers command design spec
    • 7c1c4eaf78ad23d4de811d3fa585e6f40f468e4a docs: add influencers command implementation plan
    • 21339e9fa84bdada7947aa67624914b9c3715802 docs: add influencers command to CLI commands table
    • 56330efd6828269eb433c16f4bae86eddd3da487 docs: add inject --status design spec
    • b33330bd5a629942959f8d4ef292ccbffdb7dd71 docs: add inject --uninstall design spec
    • 91cc248a95f70d3264eb7ead33425874d499b0d8 docs: add inject size budgeting design spec
    • 862656ac16f7652a01f82008c38b37f03e6eba17 docs: add inject size budgeting implementation plan
    • 62c2e6cfc210a889fbec8d6b4188ad39b300d8b4 docs: add inject verbosity modes design spec
    • c2b3759f5c64d86b38b9ff3504d3c6bb4978eb0f docs: add learn command design spec
    • 4eea4a080c2a2ca188485fe23a37809179d4d2b6 docs: add learn command implementation plan
    • ab2c6e2dd2fa9a7e2e458d7c87b0186b43195e9e docs: add learning command to CLI reference
    • d4986881175bcaf4face129a6c2a2833f2a9e048 docs: add learning command to CLI reference
    • a1a9eebfcfb62d81baec2953ad21387194fc9001 docs: add learning journeys architecture section to CLAUDE.md
    • fbc4b9fbac2aa329f099d05966f71b71ce776247 docs: add learning journeys feature design spec
    • a7abc6474772c0902db9dbf2323833eddbaa2c2b docs: add learning journeys feature design spec
    • 0d5b2f7e4647c6ce7a1a5a35bb6446e7aa3c86f8 docs: add learning journeys implementation plan
    • c70a1264e01d321df0e91f328c0f1828cd50cb22 docs: add learning journeys implementation plan
    • 498bf95b493a98d73faca6a79f86862d50b0dfe2 docs: add news command design spec
    • e1956e4bd4104837683391535809ed330143e59b docs: add news command implementation plan
    • 9212891b410e858c3206eeccdbe2ffa38fedab6a docs: add project detection and health check design spec
    • f9dd8d479593f1e8ec333db130edda3d7b37bc7e docs: add project detection and health check implementation plan
    • 30828cb99768784d8769e487ef9e863b5cc7919d docs: add samples feature to CLAUDE.md and content authoring guide
    • 2febe6121c905c5a098721a4aa2d0b438b31a55a docs: add scratch/session context design spec
    • 1543fb2ee4ffa0c0648bf7e80c0b5849c94f9865 docs: add scratch/session context implementation plan
    • 953ae1d4b8fc3fa58a1404d922756da23af359ac docs: add service commands to CLI reference and architecture
    • 9718841a5d703f6a258af245def52a069d0c1380 docs: add structured context.md conventions design spec
    • 51101fa17847b0f67977e56bec9ccc55b2ac397a docs: add structured context.md implementation plan
    • 8529c5b3d9c10eca99d22c0b8a3d39ffde26afaf docs: add sync progress UI design spec
    • 9496b45aeccc9da70b1415fba7b55585714da562 docs: add sync progress UI implementation plan
    • 11cb20146499aa22a791e9377b6c738eac4d5dfc docs: add system tray & GUI companion design spec
    • 01826c9dfc12503bc8ab1c2785cd8301019d0ff7 docs: add system tray implementation plans (3 parts)
    • cfef23d3bd19f0fa50f7db586ccd1d0261a84f66 docs: add tray binary architecture to CLAUDE.md
    • d8c2d9d0970ea1a982187a8fdc5153b9a1355026 docs: add tray commands and architecture to CLI reference
    • e46a9200ed194fd8a370fdb191f4415d2d3ee533 docs: add tutorial guided execution tools and Phase 3 analysis to mcp-server.md
    • 341535c1f0e2f1b0b314ceaf805f336007ee6f5c docs: add tutorial guided execution tools and Phase 3 analysis to mcp-server.md
    • f950e1157da0b0fb5be4a21c9d7746d27552b941 docs: add tutorial image URL resolution design spec
    • 359b44d7b4b510af5045a241ccce457deb64f64c docs: add tutorials feature design spec (Phase 1)
    • d6c96642282a1a76c4f281c12211c678d1550dbf docs: add tutorials implementation plan
    • 1eec968ffc8e4bf380cd8f09e2761aab94a6b86a docs: address round 2 spec review feedback for inject verbosity modes
    • 9e88e4305b9e53876fc4478adc2cb4e3a1074573 docs: address spec review feedback for BTP context detection
    • cfddd9cf167f92ada25a1f52ffaed8e14c251466 docs: address spec review feedback for What's New injection design
    • 0eacbc41ff1aeb4cc080f7367d8d0c02ed280ebb docs: address spec review feedback for constraints injection
    • 65b9ec5ab602a4af3ba506dcd2e95ac46fb953d8 docs: address spec review feedback for error pattern library
    • efc1d707026a3252ce589fe7c83dafb977647913 docs: address spec review feedback for inject verbosity modes design
    • abba113c9aa6aeaec2f8daa22a99bec89fc5c739 docs: address spec review feedback for learning journeys
    • a908f96151d07189b3a073f37c89381cf8040458 docs: address spec review feedback for learning journeys
    • e435a624bd27ecaa4e7223c97e0b40a45e864e56 docs: address spec review feedback for new adapters design
    • 026d37ed831ae16546ff04aecd116aa49bba66ad docs: address spec review feedback for project detection design
    • 41ee6386918afa03643911c72752778e6ae25c63 docs: address spec review feedback for scratch/session context
    • fe2f6770eb637582f7bdb99bff312e081d8b3a93 docs: address spec review findings for MCP improvements
    • 38d230646206ba49944467797ae555448c4be0e0 docs: address spec review issues for YouTube integration
    • edb62ff4ae018e5aa5198eeef97df2eb001cc89d docs: clarify additive_position omission and findSchemasDir location in Phase 2c spec
    • ebee08568b3328b4a30a27c0718db656c1891371 docs: clarify failure behaviour — preserve cached expansion vs first-fetch fallback
    • db372c433071f16735fb563e09a637f6e4906322 docs: clarify field type coverage, clone logic, and selection clearing in Phase 2b spec
    • a4b50359bff7303b42107f79bda72a682832324e docs: clarify inject-status StatusRow is per adapter+target pair
    • 88d426b374eca4853156dcf824cde2d16d106d4d docs: clarify lcs returns byte length not character count
    • ace333b2e798e86d2e01d765fa0e13869872adb1 docs: clarify progress bar arithmetic for hidden/conditional phases
    • 73b6abe837151dea1b25aaa96e297dfa3e122d3d docs: document --stats flag, max_tokens adapter field, and overlaps pack field
    • 043115a51caa47f680b287a41a3916d491fd8d68 docs: document Friday tip override, newsPlaylistURL, and Community User-Agent
    • 9cf2ad90a982854b356c70cfec221f04b12df0d4 docs: document discovery command and discovery.yaml format
    • 603896c0c2c3074ddb7169d3c715214b1b466e99 docs: document hook.yaml authoring, hook_config adapter field, and CLI commands table
    • 869175171a69a9b0b2b887f05cd5b4a3c5b3876a docs: document inject --status, --verbose, --json flags
    • 38ced3832957ef8f7e9abae1a3420cdbc1a2edaa docs: document inject --uninstall flag in user guide and developer guide
    • 9cbf6ed1ba302d4033478a4f73d8927497552d01 docs: document news command in CLAUDE.md and developer guide
    • d3b42d41a17e4adb3ecd49c10af81e9528aa8779 docs: document news hook subcommand and Friday reminder hook
    • 3bc8efbc1aab727470ed14c6801df05d0a197841 docs: document tip install and tip uninstall commands
    • 712d4690d92a356204944da404ea1b72629d5531 docs: document tutorials command and architecture
    • 6b288a8a9cefad42c395fa9c93ff28c3b4afc85d docs: document videos command and youtube.yaml format
    • 6fde6282597860f95527d3614d7195ac620ef512 docs: enhance CLAUDE.md with adapter system details and dynamic content expansion
    • 7665e01686df9b79b5788dfaae5ba920c4f3c735 docs: fix MCP server plan from review
    • df7c7b8b3b85ecdada845333ce5160bcaebf6377 docs: fix MCP server spec issues from review
    • f29004f5cbb807774a511de8f33af46fd00898db docs: fix Packs type to []*content.Pack in MCP server spec
    • b737121923592a17f88b5b8d0be10d81895d2fc6 docs: fix config location spec after review
    • a4b748337bba703fb336f5d83a682bc2b82e9a09 docs: fix description trim unit to Unicode characters
    • b174669387b9f3805bf43a1fd557d49f7a803dd3 docs: fix double pointer and missing fmt import in sync progress plan
    • d31f1baa3057d79c867c5eb536e8b46deb8d634b docs: fix dynamic injection spec after review
    • 93989db76f24e8246968e163c6e8b28b3da212a9 docs: fix inject-status spec — TrimPacks in render, clarify staleness extraction, i18n append_warning key
    • b8d5dab035da688a7180d9e6b7361b2d43bd259a docs: fix inject-status spec — replace-file preamble newline, renderSectionContent location
    • 6ac9422f7eb737a52b9efe2b3ad7c4a1a3a23bf0 docs: fix iteration 2 spec review issues for YouTube integration
    • 555b37bdde37d517e8853b5b0656163a894b872f docs: fix learn spec per review — correct API signatures, add validation
    • 913c18ce3297827ee92808a2e87338cbfd1c0ebe docs: fix markdown lint warnings in news command spec
    • ef67b31164b61aa76fa0b20fe7e4619aadd4b601 docs: fix round-2 spec review findings
    • faec51ac409b20d82176b34dd1c7b4eb09adb72a docs: fix spec issues from review loop
    • d20323ad2785facc34eaf829c3033c868b193cfc docs: fix spec review issues in Phase 2c design
    • 1ec4a35bb79f5565f8688293991f31e900b9956c docs: fix tutorials spec — variable default branches, repo-groups.json format
    • e0d7d4acc976f02623e6927dd801e7c5d7a6f244 docs: mark 'sap-devs learn' feature as completed
    • 5d2281fa82e28ced7cd0ca0f297e3e43b7b8f374 docs: mark Friday SAP Developer News promotion and hook reminder as completed
    • f17833cec4f9e55e71d4e5796f27e00d19e76705 docs: mark adapter TODOs as done/skipped
    • 7e4b6b263cc0cafdcfb2119b53687f17cb69510f docs: mark completion of configurable tip rotation frequency and uninstall feature
    • 824ec36019a76f158c3d871f39e891c36701cd7b docs: mark doctor MCP TODO as done
    • 1a82d2befa85db306040aa65adc233cf3579e877 docs: mark influencers command as completed
    • 4b34db14418ae925a4db232c98d8373f5aad996f docs: mark scheduler and tray as done, document in developer guide
    • b8e73015eb8e94781a66279c01749257c4a8b744 docs: note duplicate-prefix behavior in ScanOtherSections
    • 368ce11a89768089d612641ff7d78707fc506c2d docs: refine tip install/uninstall spec based on review feedback
    • 287dd73ec85d5762ae767bf73773639ad04602b7 docs: revise sync progress UI spec after review
    • 984e802339889c6dc328de0b1d5ea74231e96d08 docs: specify concrete sync guard logic for YouTube integration
    • 690e0247e30fcfd556a9a17fccf80ec9b35155de docs: update CLAUDE.md and context.md for MCP server improvements
    • 0f2643e08036ce3a01e8430a1ad44a404f3da27e docs: update MCP server documentation for 32 tools and inline images
    • 59c705f3ff417178837e1ea8a2f2536a7a78ea0e docs: update TODO.md to mark YouTube and SAP Discovery Center integrations as completed
    • 7e55357d9ff8e18d1d5a39bcbbaa10c6d2caf361 docs: update TODO.md to reflect completion of editor features
    • 1915d823d18d59aea5d01f9861bd502f6985dd6f docs: update TODO.md with completed sap-devs news command and add Friday Developer News hook reminder
    • 291849ad8746608afeac807e5699ba2eec0724a0 docs: update content-authoring with format/selector attributes and pack author guidance
    • 9c48cc0963242871edfd656bd0efe784a5df29a7 docs: update html conversion spec with reviewer fixes
    • 495984e7699cdff980b553e7e1eeb738e4aafcec docs: update inject --uninstall spec after review iterations
    • d1cd142cdead81b4343d04279cf0602313b67334 docs: update server instructions quote to match expanded coverage
    • bb6f3bb98247e6b635b6456b8231f3565a08020c docs: update status of Windsurf and Gemini Code Assist adapters to DONE
    • 309ea4eef436b95ef31967c3b4763701228628b6 feat(TODO): enhance configuration options and context detection for AI agents
    • d1653cb91157d6e233163c6beed42178e24d0d00 feat(adapter): add HookConfig struct and hook_wire.go
    • 247becf8fca333311acf06176fabe7f018d598f7 feat(adapter): add MaxTokens field for per-adapter budget
    • 9b4d96897d1146aee174eefa4f99157527509c89 feat(adapter): add RunResult return type to engine.Run and update all call sites
    • 9afc3c26b5e9a1b3b2b2ee19bc7d1dd38fb1d01e feat(adapter): add deleteFile helper
    • ace6d9428b17a2ee0895f3a5cd57774def4270af feat(adapter): add file-export hybrid adapter type (ExportFileAndClip)
    • cd3d6b4cf343bf49bd75ef2e304a2a4d265b99d5 feat(adapter): add removeSection with dry-run and newline collapse
    • 197dbc727bd25521ec7d157020015f40e7c3aaeb feat(adapter): add replace-file write mode with preamble support
    • 8d4582239079d2691f136bc574c5c3f14921aeff feat(adapter): add runFileUninstall and uninstall dispatch to engine.Run
    • f289f45aeaf3eef1fcea0ac273c7cbbeabf4db89 feat(adapter): add sectionStatus type and findSection helper
    • 50cd023cb50572422c745f422a68919ed9ba8c04 feat(adapter): refactor Engine to render per-adapter with budget trimming and stats
    • 7956bbb061bcb49bad6d4d6f028ebab5ea34b679 feat(adapter): rename ClipFormat to Format; add MaxBytes, ExportPath, Preamble
    • 577d0b764dbb061ed5281de1c2c3e44b00a22402 feat(adapter): thread DynamicContext through Options into RenderContext
    • cf70a9889244286c69b4d5dfd5bc16876b04c59e feat(adapter): wire FormatOutput, MaxBytes budget, and file-export in engine
    • 5d6e97393b5cf4c6a1dce1b5c31ad6db62eb4f7d feat(adapters): add Gemini Code Assist file-inject adapter
    • fc1381c7bc853a563aa0e73f546d303ddb0fe543 feat(adapters): add Windsurf file-inject adapter
    • d2071527e8be5a2ae1ee5be5821e13b42be1e088 feat(adapters): fix paths, add frontmatter, file-export for ChatGPT, remove Cody
    • a7724096d6f32421f9f441594c31ba812279c988 feat(build): add sap-devs-tray build process and update .gitignore
    • 1a312bfd32139aaa01946f871c5c16f775bd7d5f feat(cmd): add config location subcommand with --detect flag
    • 63d23ca21c082c41251129789b6183cc193a5390 feat(cmd): add discovery command with missions list, search, open
    • bb5e45e086dd408d1a90d45fd774434c25ce82d9 feat(cmd): add discovery guidance tree, show, open subcommands
    • 7d1b108f9e4c4952e6a02120943fb815fdfb66df feat(cmd): add discovery services list, search, open subcommands
    • 90be3be624be4016c1d9c087b3a449de6f020bf7 feat(cmd): add hook list/install/uninstall/status command
    • 71d2203d6631b1a4563494bfedf0e374f3261f2a feat(cmd): add inject --uninstall flag with mutual exclusion and summary output
    • 1e01e1dd58818e2aa1ac2692ec05d57189b8bfa8 feat(cmd): add videos command with list, search, open subcommands
    • 27f8d692cb85c922ccbd964b750934e219be5b67 feat(cmd): profile show prints built-in note for all/minimal profiles
    • 3ca5daa05015e22c55d2e845de19dc7860ccc343 feat(cmd): wire --stats flag and per-adapter packs/profile into engine
    • a0715c877c651f9ba8775125d6fa5bb63ed9d4b1 feat(cmd): wire GatherDynamic into inject for dynamic runtime context
    • 989ab50a65f7896fd62904378ff1e9c98ef8cdfa feat(config): add Location field with omitempty
    • 67afb6417528b8e06d950682b02f68b46dfeec8a feat(config): add TipConfig struct with Rotation field
    • 9c51443ca6b4a0b3c9e532cf97c860e11b11645d feat(config): add YouTube sync TTL, --service flag for token, config show update
    • f6e898b95242cbf5b4da2a68e53c6c2c87369ac2 feat(config): add tip-rotation subcommand and config show entry
    • b32ce9c3027b7e068699a415604821add12b0e16 feat(content): LoadPack prefers context.expanded.md over context.md when present
    • e05986009d96181fde0e05762be1475bd308d566 feat(content): LoadPacks returns base packs only for minimal profile
    • 0074ab342048b833108f2b33eba3452b15f7ca6b feat(content): add Additive and AdditivePosition fields to Pack
    • 8b8fba577d7f70b629a31f46256c85f036c853c9 feat(content): add Base field to Pack struct and pack.yaml schema
    • 692f340f18798000e1bdab6bb8d29f2be6b3423c feat(content): add BuiltinProfiles and IsBuiltinProfile to profile.go
    • afe1038f0058e7f4ac1a74cd96a493fb01ec9277 feat(content): add DynamicContext types
    • 99ff07b12a26f505bcd44e2a68c9d65eaf721ee6 feat(content): add FlattenHooks and FindHookDef helpers
    • c4fc44f40807d39b1c8f79e0747edf642aac6b41 feat(content): add FormatOutput and TrimToBytes
    • fdedebe597916cb1b8429d4ad8badb9328e122ee feat(content): add HookDef struct and load hook.yaml in LoadPack
    • 48f3fa16e75b3290c3e8a875f8ace627877d9e56 feat(content): add Overlaps field to Pack for deduplication
    • 9ee50b6b8e0f15a827e832621f8f6de77094a63e feat(content): add PreambleMD field; load preamble.md in LoadPack
    • 1b3ae0934f48108d57e7f154a0382db5448b7faa feat(content): add TrimPacks for deduplication and budget enforcement
    • 6c0c94286f49831f0d35ece96d91d82431b2373f feat(content): add YAML schemas and VS Code editor wiring
    • 75aa857c474133fd848ad630d3be586875c77027 feat(content): add YouTubeSource and Video structs, load youtube.yaml in LoadPack
    • cac648c1f6c707cea214ef73cf9e92dfcf090d15 feat(content): add base pack with shared SAP ecosystem entry points
    • 547f23468e3e19e6a19bd7ff3be19b9f91a12d99 feat(content): add discovery ref types, loader, and merge support
    • 27543dc97cb2dad4e3e1af751c1558d3ce2e3b82 feat(content): add flatten/collect helpers for discovery refs
    • f79d41ff3f7be337aa05a6e92d5b6a5b2619dd96 feat(content): add merge helpers for additive content layers
    • b2fbe4ad8267970165409070f08a7c535c38d9d6 feat(content): add mergeYouTubeSources for additive pack layer support
    • aedc0bc6a5e012fd3385d538af3fd57f3a1a6af1 feat(content): add youtube.yaml for base and cap packs with JSON schema
    • c954f1db317a93387b28f092925b23565f2a197a feat(content): apply additive merge in LoadPacks
    • a9e716a9fa0eebd1c999a4d9ba0a13ba24c969b1 feat(content): exempt base packs from TrimPacks budget and deduplication
    • 77b367c17f59a13ceb307864a927b1419ea86fac feat(content): implement Pack.MergeWith for additive layer merging
    • 95dd5298b8bb9301026bf74207296b32c19c8ec7 feat(content): inject built-in profiles in ContentLoader.LoadProfiles
    • 9f2423e8c841cc2c5617faf7c7b2e00866dd763b feat(content): pin base packs first in LoadPacks output
    • 6e4e09dbf02c9d64e9728ce9c0bafc879acb7ab2 feat(content): render base pack preamble before ContextMD in RenderContext
    • 8793b224fb7f438ad9c9f75e3beea5e01be0efb3 feat(content): render dynamic context section in RenderContext
    • e5702a6925bee2b2ffd47237d70974102e0e10f8 feat(content): short-circuit FindProfile for built-in profile IDs
    • 5f020dfe33d5aadd54784089347a2972999a2894 feat(content/cap): add feb26 release notes marker and agent instructions
    • e77c044bd8c93b95efacaff3badd307cf0560b8b feat(credentials): add service-keyed storage for YouTube API keys
    • 22ad21d19795fdd5f76d880f29732eedd3e5508e feat(discovery): add API response types for Discovery Center OData
    • 6fe6ce669e046a2c59baf3cdd46e7deafb5d6735 feat(discovery): add OData V2 client for Discovery Center APIs
    • dc61938fb21be6bee0a4c56a6ec7bea6a670b849 feat(discovery): add TTL-based cache layer with generics
    • fd5e47747bcba51829d555713afb44fa9cde4725 feat(discovery): add resolve/enrich/filter orchestration layer
    • f525a4183454619145e286cf3b5e6b81a197e0d2 feat(docs): enhance TODO with built-in profiles and background automation plans
    • ea10be1b8e6b59cb0e7420576f734093aa596a1b feat(docs): enhance developer guide and TODO with config editor details
    • 706137acee850ed1b0e3593b945cab87128d533c feat(docs): expand TODO with release, distribution, and code signing plans
    • 346c499f3ca6148dc9bf335c8e7d47c31a5171ae feat(docs-site): add CDS syntax highlighting via TextMate grammar
    • 9a6418ee77a01480ff2bc22388e70c24c110c26b feat(docs-site): mascot branding, hero redesign, mermaid diagrams
    • d985800dce277d4b10a1463c5bb596b9f23ce3ac feat(dynamic): implement GatherDynamic for runtime context collection
    • 22c7767afbb3e0f170ca729e9720c13e31473505 feat(editor): add reordering and bulk editing to content editor (#50)
    • d1852bc89636d6b4dc4c2614dca4f9caaa83a402 feat(editor): add undo/redo and pre-save diff review to content editor (#49)
    • d21033f1bcae9d8904b4c5a6c70da054b68165a4 feat(events): add EventType and EventInstance structs, loading, and merge
    • 0a3269b4d34cc800053aace1d49cf115576ea0a6 feat(events): add EventsConfig sub-struct with distance and notification settings
    • 612da99f8060a563ee6e849c8eceef9586c374a2 feat(events): add Haversine distance calculation
    • 703070b977b27c150c3f4f5066a8f5fae6377690 feat(events): add Phase 2 i18n keys (export, notify, config)
    • 8c8b01a49e3fd2c056c809a519e578d491fc2cf3 feat(events): add RSS fetching and parsing for events
    • b35dedbdb4f72abcfbaf58c25147d37d024ecacf feat(events): add Resolve, FilterByLocation, and MergeAndSort
    • 9ffde2e4cb6ebdff1b750fea141b9f7621679f16 feat(events): add URL column to event table and update translations feat(build): create build script for sap-devs.exe fix(.gitignore): correct entry for sap-devs-news
    • e48e1a0ae350dc6015dd675d62d1176a98a95980 feat(events): add calendar export (iCal, vCalendar, Google Calendar URL, Outlook URL)
    • a5874f23d9d3fcfa62ddbdbc30827d69d71764ec feat(events): add config events subcommands for radius and notification settings
    • b56a1b793d3d15db12f28d78242c7887fa675b4b feat(events): add content helper functions for events
    • 93e895ef8722bbc3ea8fe6b2870fae6fc4acb297 feat(events): add cross-platform OS notification dispatch
    • d963981557083ef75ce113eed4f2f86301f63207 feat(events): add embedded city database with geocoding lookup
    • 8895d87c5f21f81dadcbaf52a551b2daecfcefb1 feat(events): add events command with list, open, types, and filtering
    • 8513a801c84e31b69f52734e22104d8dee88eaf8 feat(events): add export, hook, and notify subcommands
    • bd1c745d22432fafa17b9becd0434040368ea0c9 feat(events): add file-based event cache
    • f80ce0a4df66842184893372b057b684ab485e32 feat(events): add i18n keys for events command (en, de)
    • a40225eb5aeff4c00bd6d218066c5c512db0536c feat(events): add seed data, JSON schemas, and VS Code wiring
    • 13fa223476cbd9a2b18f3e372e6db3ffc6dddcc3 feat(events): add upcoming event detection and hook message formatting
    • da414bbd53aa0e7d2dd0d660958ca01410388fa9 feat(events): integrate events RSS caching into sync
    • 6afd208a41d1dc22d836d45ce09f12bcac2504ed feat(events): switch CodeJam events from broken RSS to Khoros LiQL API
    • d28cb347dfb0e27f33a268ce87354eea29f0f8ea feat(i18n): add discovery command translations for en and de
    • 8816b3d18ad5ef5dd87fb952b486887271c25546 feat(i18n): add inject.uninstall.* keys for en and de
    • df4fa2be034cc9866aa4c2356bd26163720be65d feat(i18n): add location keys; renumber init steps 4-5 to 5-6
    • 51bd38d162d15adb53624ed2571766f3b0508fd8 feat(i18n): add tip_rotation keys to en and de catalogs
    • 65e7dd54bc63ddc428cb487c11ad98f762fb7db9 feat(influencers): add Influencer struct, Pack field, and YAML loading
    • 393e4b0bd04a38a073c2c75520f3974cdcf60ba1 feat(influencers): add helper functions for flatten, filter, find, random
    • d67254b8459d98d8241507a9ec4fcd40835acfac feat(influencers): add i18n keys for influencers command (en, de)
    • 539c3b681715ad0e637251bf1ac51393f679955b feat(influencers): add influencers command with list, open, and filtering flags
    • e8f0b4e60a0d51bb0be5580223ba9223ff20e572 feat(influencers): add seed data, JSON schema, and VS Code wiring
    • 50d4dea94717157dfd43a2875066ea266e5166ca feat(init): add Step 4 location collection to setup wizard
    • aef35233a52147881c79915fa57abee326b6d247 feat(inject): add staleness check, --sync/--no-sync flags, and inline sync with pack reload
    • f1c326b2c07aafc2b3c0140ee7d562d00c792d77 feat(learning): add CLI commands (list, search, show, open)
    • 0fce29209fb6dbf660db3e145a5795a6f2859dad feat(learning): add cache layer
    • 289ff544102a3d20c0bd474aa94817b056e2f10a feat(learning): add catalog fetcher
    • ae22f3b19b76c76d40693d1ae854ff19809f8f84 feat(learning): add context injection of featured learning journeys
    • d79ebc61b3de5ba3e1a73c5bd8803058b822ff0a feat(learning): add i18n translation keys
    • f0635468038759950db0d99e12a0eedde447d9cf feat(learning): add i18n translation keys
    • 46c8961c08acf4a400a441ac210ea5a27c0af622 feat(learning): add local search and filters
    • c9bdbf1931a875598e009a0aa2aa5bb890760512 feat(learning): add pack content files and JSON schema
    • 780c8091b7aec164357c86d79fab3e903e8c015f feat(learning): add pack content files and JSON schema
    • 3e467ba803bd263be6e4fc854a00c5084412ce55 feat(learning): add pack integration types, merge logic, and content helpers
    • b7f78e2bdf869fafbd5dbd41b1d3a1e23ea5aa57 feat(learning): add search API client
    • 8bcdfd7eaf806975553dc963ade26a973f4382c4 feat(learning): add sync TTL config field
    • 9cd66105a8beb9f20e806433547c7e254ef39a8b feat(learning): add sync TTL config field
    • a19ecda690b295c16ba1c09df5dd77fce177b5f1 feat(learning): add sync integration for catalog fetch
    • 1e00111a93892c7f4204e5dbf874013e8cfaaf30 feat(learning): add types and constants
    • 3ec45f0e65578d3caa4d721c559b37a562935cf1 feat(mcp): add ResultEnvelope type and wrapResults helper
    • 4ed11a2665e384a21c1e782344b1ac8aebf10a64 feat(mcp): add check_tools and check_project tools
    • 81b9a87736e861439a342c34f961d38ad9452ee7 feat(mcp): add get_news_detail tool with structured episode parsing
    • 182398283c911b55d3b345d4eae7b0302e0273c9 feat(mcp): add search_events tool
    • 86010e36bfc9cefe957a42139dc8a6d247855009 feat(mcp): add search_videos and search_discovery tools
    • 29be373598c07bacda18bcb8dacf4723edca09bc feat(mcp): update all existing tools with envelope, limit, enriched descriptions
    • 3f0c39d071c973cc25958d376e91af3ea3576a99 feat(mcp): update content tools with envelope, verbosity, structured tip
    • 5dcccb16f57d7add0cd918c6ac563eaf8559447a feat(mcp): update server instructions and add Cwd to Deps
    • eba138e260624f3ebe57b10de83b2dd8945fdc04 feat(news): add resilient multi-layer fetching with cache and retry
    • e00b39e4b70e178349a256acef9b5a767a442897 feat(release): add Windows code signing and package manager publishing
    • f8c180d350c4ef9b9a4ac4826991c9df56eb4820 feat(samples): add JSON schema and VS Code mapping
    • e474ecbe21345c890b0cc680550811efa4ac6a3e feat(samples): add Sample struct and pack loading
    • ddc1ca68e5915f2f67b50c3232bc4fd7ec706191 feat(samples): add content helpers with tests
    • f0b3623bb6c965ef596eda366affe7e73a632e4b feat(samples): add i18n strings for samples command
    • 4a90fd016ebb48871f30f5e0fed65d88233b1f1d feat(samples): add initial CAP sample data
    • 2f6714bced2cc8b3aa1a1c2ab6c9c56f23360da5 feat(samples): add samples command with list/search/open/clone
    • 2b7810e2af47702955948364485f8c8b24562c07 feat(samples): add samples merge logic with tests
    • a7981dd8309127be78c8a1cdd1efda01949d881d feat(samples): implement code sample pinning with samples.yaml and CLI commands
    • 941225f26e36eb3e5f9ef32ab5855d51baa26ca9 feat(samples): inject canonical patterns section into rendered context
    • a0799e74e7b3ac01b44b61a51cd16b723bbf6833 feat(schema): add discovery.yaml JSON schema and VSCode wiring
    • d6b9a62c182d38a4ac0d22dad72454a1a01041c4 feat(service): add Linux systemd timer scheduler implementation
    • bd1be45f2ffc472abccc988d3f998c3748b6e22b feat(service): add Scheduler interface and Status type
    • b4e5b4891dd0368eca614c3874675fe7df9fd6fa feat(service): add Windows Task Scheduler implementation
    • 3ddc637471a8729e74b864c0f1e0b8b4cc1e3a05 feat(service): add macOS launchd scheduler implementation
    • 0056a085e0dce0bfe6224b3beaff3d2972f5c6ba feat(service): add service install/uninstall/status CLI commands
    • 808f8d3e091c5df6bd206108a32a1f73cc18ec02 feat(service): add service_interval config key with 6h default
    • d3254e1b1a3467cda80e048889f2f3fe84e853d9 feat(sync): add Discovery Center data to sync flow
    • 45919479227a7411c11c1dc45556b3f4dced93ca feat(sync): add FetchMarker with line/token truncation
    • 588489d4b6578e4fe8bcab9abb53e3c40fe51488 feat(sync): add Format and Selector fields to Marker struct
    • 79afa48ade8be19ef6a7a639f1d5202efb7bc2d2 feat(sync): add marker scanner and expander (ScanMarkers, ExpandMarkers)
    • cb28446d2cb3c14d69a8b014ff96433a84a6e5bd feat(sync): add versioned SyncState with migration from flat format
    • 7a1140ec3ae5237726aa7254fe241bc270a54581 feat(sync): export MostRecentSync for dynamic injection
    • 33f7c5c031938039db27fc06b791e1baaffb4ee1 feat(sync): extract runSync helper; add Phase 2 marker expansion with Bubbletea progress
    • e583aefa9bae45c23fd18658d16340cf085fa5c0 feat(sync): implement convertContent helper for HTML format conversion
    • caf33e7a73bdcd28c0a8a77a63cfcf7c67d2e3ea feat(sync): migrate Engine to SyncState; add SetPackHasMarkers, RecordMarkerState, GetMarkerState
    • a81d8bd420f11a064f5486af298d521c8348acbe feat(sync): split archive/independent categories, add YouTube sync phase 4
    • 5db726db9d1caaaedbd3e8437b75268397fd5e3f feat(sync): unified progress UI with Bubbletea phase list, progress bar, and TTY fallback
    • 69c54e148006dc5471588a74701cb9431831e680 feat(sync): wire convertContent into FetchMarker; truncation now applies after conversion
    • 180894835ab3869c979b3f8f227e4f94be3b0296 feat(theme): add SAP Fiori Horizon Evening dark theme (#47)
    • 187d4c961e879c276c22008dae93d0b862a48a84 feat(theme): add comprehensive guide for creating theme variants from SAP Fiori Horizon styles
    • fbbd78ced39ab02c7eaa9557d18a32ecc540a60c feat(tip): add --markdown and --plain output flags
    • 66e8ca424abf401bc76a1d9e5334cca394f1f69e feat(tip): add tipSeed helper, --new flag, and configurable rotation
    • fbdcbbaf69db1d2c9bc33253fcaa4e87b5cd1744 feat(tray): add Config button to dashboard panel via open-config API
    • 753923916e9e304c1a6353d01eefa3a3d477afff feat(tray): add Joule theme variant with configurable theme switching
    • b30e1d378573692609386b461e2095a5e95843b6 feat(tray): add cities search, languages list, and location detect APIs
    • 14a3dba574c82edbb8771d5a0d833dc390aa0fc3 feat(tray): add config API handlers for read, write, validate
    • f632240d33d5cb059067e2a8370090344f7669d9 feat(tray): add config editor CSS styles
    • c07b67d889cff9ce6edef58003aa7fd38530c0db feat(tray): add config editor HTML with Fiori panel layout
    • 6f83935d9c83f22dfd94f1fc0d2c7e23bcd08b03 feat(tray): add config editor JavaScript (form logic, typeahead, validation, save)
    • d08d2b44ceccd19a7b9239853268109fe4c705d1 feat(tray): add config window (520x700) and Config menu item
    • 1565216451be2037dc00e1c0e512bc4c305a3d93 feat(tray): add service status, install/uninstall, and autostart APIs
    • 70360b0ccf8f943881c58e87099949069df558d5 feat(tray): add tray install/uninstall/start/stop/status CLI commands
    • 66bcd39c7360bb324c01f3e97b8a6795985a7641 feat(tray): add tray_autostart config key
    • 28e3576541549523af1f7c6dd35c1ab1194f36f9 feat(tray): add trayctl manager for download, verify, start, stop
    • 89b348c2db4b19a05a1da5349e575ee3a473329e feat(tray): redesign dashboard UI, add live sync log and tool detection
    • e703d83f5a3cd67a547b7c0b99b5690c5737285d feat(tray): update tray binary during sap-devs update
    • d03af514fcc96203e396428667edecc73db7acea feat(tray-binary): add Fiori dashboard with Fundamental Styles theming
    • d00b9c86b0b1349c8f2a6d35fdd255f2b1319cab feat(tray-binary): add embedded HTTP server with session token auth
    • ee977619472c5569d9d001c0f14e18c617dc3dae feat(tray-binary): add shared state reader for dashboard
    • 0506150dd6083ab2f8256d5cd43f5fe8eda98eb4 feat(tray-binary): initialize Wails v3 module with skeleton main
    • 1d8d4375aeaa1e8fde45e0ef1aded23f9f663cc5 feat(tray-binary): wire Wails v3 system tray with webview panel
    • 50d4c8919cf320c245ffc3ef822334cbdffcd62e feat(tutorials): add GitHub client for repo list, tree, and content fetching
    • d9a44076d7cf513201c4ccc528756625b0673f3d feat(tutorials): add TutorialRef helper functions with tests
    • 6d620df1032fc5670bd75126df29b0424d790af7 feat(tutorials): add TutorialRef struct and LoadPack integration
    • 6ec9005a84fa882d8bc176aa1912da70a73936c4 feat(tutorials): add i18n keys for tutorial commands
    • 5357d142bd91219b78ebdbe575bc8c244ed95d49 feat(tutorials): add interactive step-by-step TUI
    • df68e80fe0f6db89a482f658a7d71b3e38080aad feat(tutorials): add markdown parser with v1/v2 support
    • e3382712be54ae8529f6a639db41ce6a8ec2b013 feat(tutorials): add optional developers.sap.com API enrichment
    • 880e870a01b3fe1603fdf733f58f149ddd76a896 feat(tutorials): add progress tracking
    • de5156f7ea9f535be70cc5a586bbf1f217d91575 feat(tutorials): add schema, VS Code wiring, and initial curated tutorials
    • e05b2812c735ab9f833650366fc08ee76c8e1f84 feat(tutorials): add search and filtering
    • 9176b9e54bd00541610c98352130679e06bc6fb3 feat(tutorials): add tutorial list/search/show/open commands
    • 4020a999a4de194d8e4bdd55aea1eec29c7ca5d5 feat(tutorials): add types and cache layer
    • a5f4b1a1a3cb6eed734ee7f23830cece2694594c feat(tutorials): enhance tutorial parsing and execution with branch support refactor(tutorials): improve error handling for unavailable repositories chore(youtube): remove deprecated playlists and clean up YAML files test(tutorials): add tests for batch JSON extraction and tutorial parsing
    • 032cc89b24acbc4b87aa953096ffb3e6ed27aa10 feat(tutorials): wire tutorials sync with TTL, incremental fetch, and enrichment
    • 3d6e64a66abc5e406ed063ea8e8525434f391d74 feat(ui): add Bubbletea inline progress model for marker expansion
    • 06d1f40445c2a060e501e62efd16db6e3769e1c5 feat(ui): add RunSyncProgress entry point and plain text fallback
    • a0257758e9f5bd1c0f22bdc8eb9a7da6ea2438bb feat(ui): add sync progress Bubbletea model with phase list and progress bar
    • 465b773291affbccddce3ff3a4bd90fcd6ba222b feat(videos): add cache and helper functions for video resolution
    • 1d6df149acc4ee6183255257689ca9f830ed0165 feat(youtube): add Resolve function with API v3/RSS/video dispatch
    • 2221b333f1492d83f6e0f5bccf7281bbf4201e9b feat(youtube): add YouTube Data API v3 client with parsing and pagination
    • a6c4eee9e100ed489e61dfee8479c824e4241c37 feat(youtube): extend Episode struct with Duration and Tags fields
    • f049c97993fd5a5144a64b16d487716363fdc80d feat: VitePress documentation site with SAP Fiori styling (#15)
    • 044cffda1824dfc4f0590c8e977fa22ac5c0fb94 feat: What's New injection block after sync (#42)
    • e930b3a3826856ad9b1c9501f3d0b715beff8757 feat: add "Phone a Friend" feature for expert recommendations based on user queries
    • 4722cfbe16fefe48aaf5635c974aa21892bee1c1 feat: add 11 MCP tools for CF and BTP CLI inspection (26 total) (#11)
    • 802eea21d036368e752282eecfa8754672367b91 feat: add Status() method to Engine
    • 83f1460f1206fc6c0f908beb56921e5a675917e3 feat: add StatusRow, SectionInfo, EstimateTokens, ScanOtherSections
    • 345d80fc9bf4711c5389767975d7ba7dce2cfee5 feat: add constraints.md injection per pack (#38)
    • 33e22f51391bb5300153a6fa996c49dd7dc8855c feat: add context add/list/clear for ephemeral project scratch notes (#41)
    • f71d96a5ed4d7070aefed9bbd2ed7b492b380906 feat: add dynamic "all" profile to include all packs in content layers
    • 38d10b9da95fde7fdf89f14206f0a62ada00da76 feat: add error pattern library with known_errors.yaml per pack (#40)
    • 1ea6640b485a0631afaa3cb84b1a48ac222eb028 feat: add formatFridayTip and staticFridayTip helpers with tests
    • 78818ab058e1cecafc904a754959c436963717b5 feat: add inject --status command with --json and --verbose flags
    • 094641a393b478f4460054ee742fa9474b9bded5 feat: add inject.status i18n keys (en + de)
    • c8ee30335e37e8a1b4a77986dca0a484b22298d4 feat: add internal/community package for SAP Community RSS and post extraction
    • 0745fbc7b0cb2a775077c751c638fceaaee76607 feat: add internal/news correlator package
    • 5090d3230cc23ced32a53e439dcaf7c194f142f7 feat: add internal/youtube package for playlist RSS parsing
    • 5b3f08bac337f24138251e95624bf102ac51fc51 feat: add news hook command with Friday reminder message
    • 2c5401c5dd055de72993929e0973e76379a12cea feat: add renderSectionContent helper to Engine
    • 77924f30c3fa828ffc184fe890041ca3afd89418 feat: add sap-devs learn command (#37)
    • 720c6499a45fd198de4a8d94af95ab34c9fc7ef9 feat: add sap-devs news command with list, open, search, and read subcommands
    • f49ea816e668eec803173e5ee3f51c19005df6c8 feat: add security reviewer guidelines, release notes generation, and MCP server configuration
    • 1488b47c448117a63be45e57b7e024abe164cb06 feat: add skill installation via hook install command (#14)
    • b00d97e815f8f2280e590a3aa353925ead073219 feat: add tip install and tip uninstall subcommands
    • deaf04e1c8115e2d8baaca6b1eb10882919414d2 feat: add tutorial guided execution MCP tools (Phase 2) (#12)
    • 8d2162119f99c57468331f32bd2de5213da2edee feat: built-in MCP server (sap-devs mcp serve) (#48)
    • 6c471ad3d6dadcbe0fde4fb15257db72bc2ffc69 feat: content creation wizard (Phase 2c) (#51)
    • 85719e0f0d978cbf0d615b491eef38e4cfad682d feat: content editing UI Phase 1 — TUI editor with schema-driven value help (#46)
    • 923d00abcfd49c112712fff1d02c046599806854 feat: detect BTP subaccount and CF org/space at inject time (#44)
    • 462a7b161f32413a0f92b63ba8118f614cbaaa92 feat: enhance content editing capabilities and introduce project health check command
    • ff0016d45a33d8157e38c0a3c5c4c264df109a97 feat: implement sap-devs inject --status command with JSON and verbose output options
    • fcdc42dcf2d91b073aae29bfc6f16b0d70450ce9 feat: implement schema validation logic with error handling
    • 91f187aca864d3da6c30eee0634ec891f7a28295 feat: implement shellhook.Add with full-line duplicate detection
    • e8aa1893477ebd2e0890d18f443563a7f54743f1 feat: implement shellhook.Remove with full-line matching
    • 10f36237a1e94481d49121865044f09e1cfab69f feat: inject verbosity modes with semantic section tagging (#43)
    • 9117274864a3faac7f11c0f19aeca8414ec281ae feat: inline tutorial images in MCP server responses (#16)
    • 3d6f995e322452103d9d23350b85200315470ffe feat: mark project-aware context detection on inject as completed
    • 0a61d173d1a1c2e6096829bdd3c0c9670d04d0be feat: override tip with SAP Developer News episode on Fridays
    • dd7a929c3c836624b879d45e1ad95bc4baa263b9 feat: project-aware context detection and health checks (#39)
    • 9316df37674f6712bcb2e3a279279447c3dca8e2 feat: register friday-developer-news session-start hook
    • 7b28fee6374a90140e795d4a30974e45ab7ca4d5 feat: scaffold internal/shellhook with platform profile detection
    • a54847a775e428cd8dff810b9faaca9e85e355fd feat: structured context.md conventions with section validation (#45)
    • b6522a75bf23a7744e3ba57c3c709b32607d34f1 feat: tutorial instructor skill and MCP tool enhancements (Phase 2+) (#13)
    • d0850c2729db7a9d1db48e8266bea3bc76cde88b feat: update TODO and context.md with completed tasks and CLI reference for AI agents
    • 61e6d8149dee4d915980bd9dac537e83fc5b2ff7 fix(.gitignore): add .playwright-mcp/ to ignore list
    • d092c7cd9bd6d2687f70e4ff38f9f11574cc5b3f fix(adapter): add lookupArray for read-only traversal; strengthen empty-array removal test
    • 7366cd3bc8c9533f7ef1ec355fa14a6292b3d144 fix(adapter): handle non-NotExist os.Stat errors in deleteFile
    • 257a977f3b30a185ea6524cc50016780ee2f2dfc fix(adapter): reserve guidance-line bytes before TrimToBytes in ExportFileAndClip
    • c139cd8d63f49722d9fe0953c14f1d5e69768cb8 fix(adapter): show Trimmed status in stats table and route budget warning to stderr
    • c4cb5bed848c93ed5a1eaa94ccb59334fa9420d2 fix(adapter): skip stats for mcp-wire; strengthen budget test assertion
    • a8b3a3484ee4034d0970f7c1092bad7f0f834fbd fix(adapter/test): use io.ReadAll for reliable stderr pipe drain in append-mode test
    • 026b0554b6ce119a5384a90ef4f0a9e56b22051f fix(cmd): check loadAdapters error in normal inject path; fix test cleanup completeness
    • 219fbea0c798c037c1a3a0234ddb015eddcc0039 fix(cmd): fix resp.Body leak, use os.Stdin for --detect prompt, fix i18n lang
    • 5bdefb394a59404a5dc99ee04fe42d6d1b549971 fix(cmd/hook): use Unicode status symbols; error when no hooks to install
    • 99f82066550223095082bb9796992d5384cf3407 fix(content): explicit AdditivePosition clear; add before-position integration test
    • 0185b9e99bc6076f59133530fe61f6f4ba18a055 fix(content): improve MergeWith call site comment; add non-additive override test
    • a0d56d4a080508f39674c8ea9a2d42c63b60bd98 fix(content): merge Hooks from additive packs in MergeWith
    • 08fe0fbe5426fafeb7f35370f4d481d9e8a6f7b9 fix(content): trailing newline in preamble.md; fix doc tree path
    • 5c2e7ae6091fa1f5dd58f0f2040707851554a35b fix(docs-site): address 6 plan review issues
    • 94542d6d4d086e6c7c951aab03c482058110f6f4 fix(docs-site): exclude Vue builtins from isCustomElement
    • 2df0a5010c1af8e412a748294bdf8d6b69893aad fix(docs-site): fix sidebar layout with custom shellbar
    • 7c63ee15cadaf275674b646688490845b98c9cf3 fix(docs-site): generate archive index pages to prevent 404
    • d5d043b7d05126416ac64276ac3d0466411f93f6 fix(docs-site): prevent OOM in CI by hoisting HTML5 Set and increasing heap
    • bf61a5c4545fa654c97de9ff9e94af948756ae31 fix(docs-site): use withBase() for public asset refs in Vue components
    • f0cf40c42ba0ecd7613584ab46c0a80559309fb6 fix(learning): handle mixed types in catalog Duration_in_hours field (#36)
    • ba73ad732751d1caca183ea73bbfb0c33e5a7340 fix(mcp): add URL validation, exec timeout; rewrite mcp-server.md
    • af0f9f003794eb276d923a161a510d9b78d26ad6 fix(mcp): improve news detail parsing, search ranking, and correlation
    • fc7ee3a261f4451a2442807f42cedb67855bf8e2 fix(mcp): improve search quality, error handling, and response consistency (#10)
    • 755eb9511c16f06e69643a56b7d5b6dee2720b41 fix(release): add ids filter to scoop/homebrew sections in GoReleaser
    • 68bf76eca48d9170ad10235dbb9a8159afd9b025 fix(release): use workflow_run trigger for tray workflow
    • ddf60b26a5a9da9646dc7690cdec17f6167a9e3c fix(service): address code review findings
    • d5f9ee7b74215126a8a8c75946f58f972f6cc63b fix(service): update Linux test assertion to match quoted binary path
    • 863ce357c81f2dd2f00c8ed368befb05d65bf395 fix(sync): clarify Format field comment and tighten truncation test assertion
    • 5408ceab81eb69854f5fcb6d0cc866f44c808d43 fix(sync): guard truncateTokens idx>=0; cap FetchMarker body at 1MiB; add edge-case tests
    • cdd4d5e33bc9e4848212adae0f84153f4a12df39 fix(sync): improve state reset safety and test coverage for marker round-trip
    • 536aa415b0a343ba12100e45f4d75c6741f17c49 fix(sync): pad Bubbletea view to prevent ghost lines from height changes
    • 661f7a16bb04d01c5aae913b0f2984cc38f00ae5 fix(sync): prevent changelog from reading failed company cache, remove dead markersNeeded field
    • 9c2ac09feeb2ac16c6fd1a0ee6468ba5e1a39a82 fix(sync): prevent ghost lines by capturing stderr and fixing view height
    • c4c938bc1c08ec0f5a5be1dfc9aebfabbcd36b32 fix(sync): remove dead PrintPlainProgress start calls, fix markers failure reporting, restore company https check
    • c9e4e6ca5baef3753d911e5f33c2a7f720984a6b fix(sync): simplify unknown-format fallback and improve tests
    • 027bb8058abe91dcf25eea08bfdce63a27703f14 fix(sync): use composite packID::index key in RunMarkerExpansion to prevent multi-pack collisions
    • 86a7ed1a423c60bf7ee443e09bfad1f04ed546a7 fix(sync): warn on invalid numeric marker attributes; test ExpandMarkers fence skip path
    • f90bbcf1e9b021ae21978e9198d7f0820b1ef098 fix(test): narrow omitempty assertion to tip: YAML key
    • 5e4a8de6797acc5085cb654d570088d1a3015215 fix(test): use UTC for timestamps in MostRecentSync test
    • d4e713b6e03f47690ec02260833b5970577284ab fix(tip): use cmd.ErrOrStderr() for rotation warning
    • 3ba8799bac4f78f524b3472376a0b2088024ddeb fix(tip): use sap-devs warning prefix, clarify session alias, strengthen random test
    • 993e9a9d396bdd1aae95f25737d067afcf049680 fix(tray): address code review findings
    • 5b295001e40f0ae8161a8c95311f481c343d1ee4 fix(tray): prevent switch toggle from overlapping label text
    • 9527cb1567a853127dc8488c338ea19975e2c34e fix(tray-binary): address code review findings
    • caf98932ef458caa7ae3a9c66310910e01a93245 fix(tray-binary): fix sync state parsing, version display, add close button
    • 0eba12c610ffd76dd57ff5cca3482b1e914d14e2 fix(ui): match items by packID+index; use stderr for errors; tidy go.mod
    • 45a6fbf03329f739945862ef5ad8c758f6a0aad1 fix: add graphify-out directory to .gitignore
    • 73d14a37071a1e375606aec036583e2c083e2218 fix: address final code review findings for YouTube integration
    • 0a7910219c9a1a00c71473a3e09ac96e3f03c830 fix: address plan review issues for inject verbosity modes
    • 5f93b22a18fbcb459f26d36e60c974a7a12bd8d8 fix: address plan review issues in content editing UI plan
    • 5faf9ccd35dec255245b3f6a9354a36f6b72744a fix: align regex with spec, fix AdapterName JSON tag
    • c03d8a08afa4123ed442961de6a13bb520c61eb2 fix: correct TTY fd and add explicit markers guard in inject staleness block
    • 35361c49018372b6566313d7b9b1c37d172c7143 fix: correct cds-dk version detection pattern in tools.yaml
    • 1ce385e98959a7b478880ec82c2eefe5fc12a0d9 fix: guard renderSectionContent against empty TrimPacks result
    • 9a3c5274646827262a5f5587bef9591c542b5b8b fix: handle $PAGER with arguments, expose -n flag on bare news command
    • 9b8c3568e73780d7d78e2119999ea03f682dcadd fix: hide news hook from user-facing help output
    • 5990c31899cc5d7bef9a384ea9273e82041a314c fix: instruct agents to include image URLs as clickable links
    • 6293a279c63b9e00ca4514193d775e9c3fc4cc61 fix: make TestTipSeed_RandomProducesDistinctValues robust against nanosecond collisions
    • 9e22673ea9959f957294081a03a202ff602263fd fix: pass full adapter to RenderSectionContentForTest, deduplicate innerStart
    • 4be2ef44eb8bce2cb8022af2d7a652eb00323504 fix: print "not found" message when no shell profiles exist
    • adf7f664faa80292100cfe4100e68a68f383110b fix: remove nil PacksBlock guard and fix Y/n prompt hang on empty input
    • 203895a771851941da8256d895762eb9366f9b00 fix: rename copy shadow and add lipgloss version note in plan
    • 60bf44f7add346da6b5ca36c64eca87cdecc66e0 fix: scope gitignore binary patterns to repo root
    • 5e75173c2017e5f597a1ac6fb05b2f2cc14d1205 fix: send User-Agent header to avoid 403 from SAP Community RSS
    • bb18af56dc4c500af463bad370306a8a246d1424 fix: skip "restart terminal" message when shell hook already present
    • 9e998a61b02eb373a809a889bb061df342666f97 fix: stat error handling, official-layer comment, and tilde fence support
    • dff00c9e85cf0a56d1aa780ec6c2e9a8b4505191 fix: surface OS error in tip uninstall instead of misleading "not found" message
    • 381ef5cb40caf389f32380a06812ada71a83b15e fix: thread io.Writer into openPager fallback, update stale newsYTMusic comment
    • 2aa94bb2330d8b4b73af61739451c26016c56dad fix: update MCP server tests for envelope response format
    • 9f5bc0aa61f12cedc1b4dd73a964c282fbbf8a71 fix: update community news RSS feed URLs and improve date parsing logic
    • ad12f6c548762989e55c15287b94bcd2475deb5d fix: use direct duration comparison instead of float64 in correlator
    • 7134c132cad503a22a07393e03e172cb0b03d8c0 refactor(adapter): use findSection in ReplaceSection
    • c8cb1ffa672bc1573339dec9fb3872af977ab203 refactor(adapter/test): use two-line RunResult pattern for engine.Run call sites
    • 5eae4ba3a47bee5c21f5060e797fbcd226f25408 refactor(content): add PackID re-stamp rationale comments; add MCPServer append test
    • 73d58f40f4a73e7f74fa95bf88a2f94945d4074f refactor(content): hoist regexps to package-level, fix parameter shadowing
    • 1c3b48f7a16f206dc08834fec9b1632e2262f66c refactor(tutorials): simplify tutorial parsing by removing branch parameter
    • e47ac041180f1ecddaa7c674a77c508f2574b664 refactor(ui): slim progress.go to marker types only, remove standalone Bubbletea program
    • 5488e926e413cb822628e14a63dc8a2418dca7b2 refactor: replace addShellHook with shellhook.Add in init wizard
    • 92d4de1be2720a16c33a0b39e6a9355ed1a0fb15 remove btp tag for cap dev pack
    • c7966f00fcc147e10aa11db19c8805a3ba67e1be style(adapter): fix comment indentation in engine.go stats block
    • a1d34e2ff82228a248ddba886953f323d006a264 style(adapter): fix struct field alignment in Target
    • 304231120d5b7862f6c0bec3df2b7405ca6b8301 style(content): add blank line between Base and ContextMD in Pack struct
    • 89d21a8dedfdebe8c081e1b5aaa24d95666e5283 style(tip): sort stdlib imports
    • 0a4a864404849be60744c1498157663994279f26 style: add blank line before mergeSamples doc comment
    • 219b831dac1fa40259434116fdc840d50d442852 style: gofmt pack.go after adding AdditivePosition field
    • b1f3b2eae29e93335c7b67a3d971c1bb52da6e1e style: remove extra blank line in render.go
    • a768975a0bebc74d4b20296e967741ec6c06293e test(adapter): add NotFound coverage and buf output assertions for uninstall engine tests
    • c1d06442b2ba19b21cc7902eac05c274f9520122 test(adapter): strengthen ExportFileAndClip tests with file-content assertions
    • 5f2f0a376542cc73bfe2bd6a2b8abe7929094453 test(cmd): add --stats + --uninstall combination test to verify no mutual exclusion
    • c09c9e940f512bb576fd448fc6cf2da85162e7f3 test(content): assert lang=en also resolves to expanded file
    • 20c813fb759fe6283cd12c2104db5c2e9be65f14 test(content): fix PreambleMD test name style to match file convention
    • 72553c6469b9d8beb8351686d2a9fcc58fe50519 test(content): verify additive pack cannot override base PreambleMD
    • b544718d3ee8fed7459958814aa802a6a351c80d test(dynamic): add missing pom.xml CAP Java project type test
    • 51d3084a849822f39bb76c4ae8b708d3bacf674f test(dynamic): fix misleading test name and strengthen MCP missing-file test
    • 56bdbd1972087db50fe8274458ee2718ce2ce214 test(sync): assert LastFetched in NewFormatRoundTrips test
    • fb4f3830a5dae76f29a83bdd4403422bffc83e98 test(sync): fix misleading comment and add file-deletion assertion in reset test
    • 0035dc0890f9f652c266c6d125816dbce6fa0b39 test: add TestAdd_MultipleHookBlocks for spec coverage
    • a4c20c932bb9fc6a8443875bd30b8632b83ff836 test: assert exact rune count in truncation test
    • 26a67f56841291fac7b80f237b7323ad2db8cf28 test: strengthen TestExtractMarkdown_Empty assertion
    • 7a126551eb3d64b4e3df558ab16ba19767a5ebe1 use random seed for tips in local dev mode
Agent guidance
  1. sap-cx-developer-companionAgent skill for SAP Customer Experience APIs, CDS and errors
  2. sap-cloud-integration-pipeline-assistantAgent skill for the Pipeline Concept in SAP Cloud Integration
  3. DanKromp/skillOverflowCollection of 41 agent skills, 37 for SAP development tasks
  4. ARC-DRAWMCP server drawing BTP solution diagrams on a draw.io canvas
  5. sap-ai-dev-toolkitMCP proxy pinning an agent's ABAP tools to one SAP system
  6. sap-odata-explorerRust CLI and desktop app for exploring SAP OData services
  7. btp-solution-diagram-generatorClaude plugin writing BTP solution diagrams as .drawio files
  8. abap-skillsSeventeen agent skills for ABAP development
  9. drawio-skill-sapGitHub Copilot skill writing BTP solution diagrams as draw.io XML
  10. sap-mdk-appsAgent skill for Mobile Development Kit projects
  11. sap-architectureClaude Code plugin and skill drawing validated BTP diagrams
  12. SAP Datasphere Plugin for ClaudeEighteen Datasphere skills over a bundled MCP server
  13. SAP Power for KiroSAP skills for the Kiro IDE
  14. drawio-btp-diagram-skillsClaude Code skills for BTP architecture diagrams in draw.io
  15. aicore-skillsFour agent skills for SAP AI Core in SAP's AI Skills Library
  16. SAP/automation-pilot-agent-skillsEight skills for writing and operating SAP Automation Pilot content
  17. SAP Developers MCPHosted MCP server of developers.sap.com tutorials and missions
  18. sap-fiori-iosAgent skill mapping Fiori iOS UI Kit nodes in Figma to SwiftUI
  19. SAP/leanix-ai-pluginsClaude Code plugin with two skills for SAP LeanIX scripting
  20. SAP-samples/html5-applications-migration-skills-for-sap-btpClaude Code plugin with skills migrating HTML5 apps to appFront
  21. SAP-samples/joule-a2a-agent-toolkitSkills for building an A2A agent for Joule and deploying it to CF
  22. sap-tutorials-contentAgent skill mapping the developers.sap.com content API
  23. secondsky/sap-skillsForty SAP development plugins for coding agents

Details

Sources3
Added by handdiscovered herechecked
github.com/SAP-samples/sap-devs-clitree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainbtp, ai-and-agents
Contributors3

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:sap-samples-sap-devs-cli
JSON
/artifacts/sap-samples-sap-devs-cli.json
MCP
Connecting an agent