Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1044 commits
Select commit Hold shift + click to select a range
d691f17
docs: add feature parity analysis spec for AWS ABAP Accelerator compa…
Copilot Apr 20, 2026
2892b3f
docs+sample(openai-codegen): Wave 3 v2 — regenerate petstore3, update…
ThePlenkov Apr 20, 2026
5161eba
docs: add comprehensive AWS ABAP Accelerator feature parity spec and …
Copilot Apr 20, 2026
3e3e1ce
fix(openai-codegen,abap-ast): Steampunk activation fixes
ThePlenkov Apr 20, 2026
e5a3b2e
feat(openai-codegen): table query params + HTTP exception wrapping
ThePlenkov Apr 20, 2026
fd4e65f
fix(openai-codegen,abap-ast): address PR #109 review feedback + CI
ThePlenkov Apr 20, 2026
bea5e33
fix(openai-codegen): server prefix, client cleanup, configurable json…
ThePlenkov Apr 20, 2026
56ba4a0
test+fix: broaden Z-prefix regex, mark test class in abapGit metadata
ThePlenkov Apr 20, 2026
7a7ecba
fix(openai-codegen,abap-ast): more PR #109 review fixes
ThePlenkov Apr 20, 2026
b2314b5
Merge pull request #109 from abapify/feat/openai-codegen
ThePlenkov Apr 20, 2026
e2b33bc
Merge branch 'main' into copilot/feature-parity-research-sap-abap-acc…
ThePlenkov Apr 20, 2026
19157a5
feat(adt-mcp): Wave 1 — Streamable HTTP transport + stateful sessions…
ThePlenkov Apr 20, 2026
e4d82a7
Merge branch 'main' into copilot/feature-parity-research-sap-abap-acc…
ThePlenkov Apr 20, 2026
294da39
Revert "feat(adt-mcp): Wave 1 — Streamable HTTP transport + stateful …
ThePlenkov Apr 20, 2026
19ea531
feat(adt-mcp): Wave 2 — HTTP auth middleware (bearer + reverse-proxy …
ThePlenkov Apr 20, 2026
f09d055
feat(adt-mcp): Wave 1-C — migrate tools to session-aware args + getAd…
ThePlenkov Apr 20, 2026
980ed69
feat(adt-mcp): Wave 4 — OAuth 2.1 bearer validation (Okta / Entra ID …
devin-ai-integration[bot] Apr 20, 2026
51512b9
feat(adt-mcp,adt-cli): Wave 3 — transactional changesets (MCP + CLI p…
ThePlenkov Apr 20, 2026
a6e6ced
docs+infra(adt-mcp): Wave 5 — Dockerfile, docker-compose, deployment …
ThePlenkov Apr 20, 2026
ad7af45
Merge remote-tracking branch 'origin/main' into copilot/feature-parit…
ThePlenkov Apr 20, 2026
83a3f55
fix(adt-mcp): lint — preserve cause + no-fallthrough on --help case
ThePlenkov Apr 20, 2026
9c6daa5
fix(adt-mcp): ReDoS in Bearer extraction (CodeQL finding)
ThePlenkov Apr 20, 2026
fcbe46c
fix(adt-mcp): SonarCloud quality gate — reduce duplication + fix dead…
ThePlenkov Apr 20, 2026
be851c2
fix(docker): explicit chmod a-w to satisfy SonarCloud docker:S6504
ThePlenkov Apr 20, 2026
349c732
fix(docker): use root:root owner + 755/644 for COPY (Sonar S6504 comp…
ThePlenkov Apr 20, 2026
ffda249
fix(adt-mcp): address Devin Review findings
ThePlenkov Apr 20, 2026
6e12a44
fix(adt-mcp): address review findings (Devin + Copilot)
ThePlenkov Apr 20, 2026
134f09f
fix(adt-mcp): merge tool-call credentials in resolveClient path 3 (De…
ThePlenkov Apr 20, 2026
af1dc66
fix(adt-mcp): don't leak locks on force=true rollback failure + docs …
ThePlenkov Apr 20, 2026
59a0456
fix(adt-mcp): reject systemId mismatch in sap_connect + async resolve…
ThePlenkov Apr 20, 2026
aee125f
Merge pull request #110 from abapify/copilot/feature-parity-research-…
ThePlenkov Apr 20, 2026
d44839d
docs(openspec): propose @abapify/aclass (ABAP OO parser)
ThePlenkov Apr 20, 2026
64bfd0f
chore(release): publish 0.3.0 [skip ci]
github-actions[bot] Apr 20, 2026
c184c51
fix(ci): unblock v0.3.x release — npm scope override + Docker website…
ThePlenkov Apr 20, 2026
98a3ca2
feat(aclass): Wave 0 — package skeleton + Chevrotain lexer
ThePlenkov Apr 20, 2026
06aaabd
Revert "feat(aclass): Wave 0 — package skeleton + Chevrotain lexer"
ThePlenkov Apr 20, 2026
2e65d3a
feat(aclass): Wave 0 — package skeleton + Chevrotain lexer
ThePlenkov Apr 20, 2026
1bc63e8
chore(release): publish 0.3.1 [skip ci]
github-actions[bot] Apr 20, 2026
3a00fab
feat(tools): nx-npm-access plugin — pre-release readiness check per p…
ThePlenkov Apr 20, 2026
65f11e6
refactor(nx-npm-access): port check script from .mjs to .ts, run via bun
ThePlenkov Apr 20, 2026
be6cfbe
chore(nx-npm-access): drop unused build target
ThePlenkov Apr 20, 2026
a90a836
feat(nx-npm-access): add npm-fix target — auto-remediation, not just …
ThePlenkov Apr 20, 2026
1b44057
feat(nx-npm-access): add npm-prepare target — port /npm-publish prepa…
ThePlenkov Apr 20, 2026
229ede2
refactor(nx-npm-trust): rename from nx-npm-access, collapse to one ta…
ThePlenkov Apr 20, 2026
9eaff97
docs(nx-npm-trust): correct usage — flags forward without --args=
ThePlenkov Apr 20, 2026
c26cc97
chore(bun.lock): update package versions to 0.3.1
ThePlenkov Apr 20, 2026
1fe3a31
refactor(nx-npm-trust): trim log output — one line per package by def…
ThePlenkov Apr 20, 2026
b000da7
refactor(nx-npm-trust): rename --json flag to --verbose
ThePlenkov Apr 20, 2026
a1014c9
chore(package.json): add publishConfig for public access
ThePlenkov Apr 20, 2026
7f04b1c
fix(nx-npm-trust): don't fail when --fix successfully patched everything
ThePlenkov Apr 20, 2026
b2b046f
fix(nx-npm-trust): don't treat auto-fixable issues as lingering errors
ThePlenkov Apr 20, 2026
3f0d884
fix(nx-npm-trust): --prepare now speaks the right dialect of npm CLI
ThePlenkov Apr 20, 2026
a7c6ccb
fix(nx-npm-trust): don't pass scope registry override to `npm trust`
ThePlenkov Apr 20, 2026
9d2e04c
chore(release): publish 0.3.2 [skip ci]
github-actions[bot] Apr 20, 2026
fab0581
fix(ci): force npm as nx release publish driver (bun has no OIDC)
ThePlenkov Apr 20, 2026
2f7cd78
fix(ci): set cli.packageManager=npm + bump npm for OIDC publishing
ThePlenkov Apr 20, 2026
1047751
fix(ci): revert global nx.json cli.packageManager, keep job-local ove…
ThePlenkov Apr 20, 2026
bca3caa
chore(release): publish 0.3.3 [skip ci]
github-actions[bot] Apr 20, 2026
659c8ab
fix(ci): clear setup-node .npmrc to enable OIDC trusted publishing
ThePlenkov Apr 20, 2026
cc38766
debug(ci): diagnose OIDC readiness before publish
ThePlenkov Apr 20, 2026
0a1adf1
fix(ci): nuke repo .npmrc entirely in publish job to unblock OIDC
ThePlenkov Apr 20, 2026
8c1f836
fix(packages): add repository/homepage/bugs to every published package
ThePlenkov Apr 20, 2026
97a76f8
chore(release): publish 0.3.4 [skip ci]
github-actions[bot] Apr 20, 2026
1669923
fix(ci): propagate id-token: write to publish job in release.yml
ThePlenkov Apr 20, 2026
ceec3c2
debug(ci): decode OIDC token claims for trust match diagnosis
ThePlenkov Apr 20, 2026
3421831
fix(ci): disable Nx Cloud for publish job (org exceeded free plan)
ThePlenkov Apr 20, 2026
88c5579
fix(release): set preserveLocalDependencyProtocols=false so workspace…
ThePlenkov Apr 20, 2026
78009ec
fix(ci): set NX_NO_CLOUD=true in release version step too
ThePlenkov Apr 20, 2026
f78f2c5
chore(release): publish 0.3.5 [skip ci]
github-actions[bot] Apr 20, 2026
9a9f968
debug(ci): enable npm verbose logging to diagnose OIDC failure in wor…
ThePlenkov Apr 20, 2026
839a812
fix(ci): trigger publish.yml on tag push, not via workflow_call
ThePlenkov Apr 20, 2026
28904c3
fix(ci): chain release -> publish via workflow_dispatch (GITHUB_TOKEN…
ThePlenkov Apr 20, 2026
ce5d325
fix(ci): grant actions: write to release job so it can dispatch publi…
ThePlenkov Apr 20, 2026
21b0bb1
chore(ci): remove redundant npm upgrade step
ThePlenkov Apr 20, 2026
a17ab5c
docs: refreshed root README + READMEs for 4 previously undocumented p…
ThePlenkov Apr 21, 2026
b3854ef
feat(nx-cloud): setup nx cloud workspace
ThePlenkov Apr 21, 2026
fbb3554
Merge pull request #112 from abapify/nx-cloud-setup
ThePlenkov Apr 21, 2026
057243f
chore(release): publish 0.3.6 [skip ci]
github-actions[bot] Apr 21, 2026
8ce544b
chore(sonarcloud): fix ~220 mechanical findings across 87 files
ThePlenkov Apr 21, 2026
8749389
chore(ci): remove NX_NO_CLOUD=true workaround (OIDC auth activated)
ThePlenkov Apr 21, 2026
846c610
ci: wire NX_CLOUD_ACCESS_TOKEN via GitHub Environments
ThePlenkov Apr 21, 2026
12f3d09
Merge branch 'main' into chore/sonarcloud-fixes
ThePlenkov Apr 21, 2026
c1d0a10
cleanup(sonarcloud): tidy two files left with orphaned comments
ThePlenkov Apr 21, 2026
cfb6864
fix(sonarcloud-review): safe-guard JSON.stringify in S6551 helpers
ThePlenkov Apr 21, 2026
726e0b3
Merge pull request #113 from abapify/chore/sonarcloud-fixes
ThePlenkov Apr 21, 2026
93c00e8
fix(security): unblock SonarCloud Quality Gate on new_security_hotspo…
ThePlenkov Apr 21, 2026
306c267
Merge branch 'main' into feat/aclass-parser
ThePlenkov Apr 21, 2026
4641440
feat(aclass): Wave 1+2 — parser, typed AST, fixtures, roundtrip
ThePlenkov Apr 21, 2026
afb156c
feat(openai-codegen): Wave 3 — aclass parse-gate + lexer extensions
ThePlenkov Apr 21, 2026
a399437
fix(aclass): proper regex metacharacter escaping in `kw()` helper
ThePlenkov Apr 21, 2026
c03da56
style(aclass): drop redundant `\-` in REGEX_META character class
ThePlenkov Apr 21, 2026
e93b94e
Initial plan
Copilot Apr 21, 2026
daed148
chore: outline plan for cross-platform and plugin fixes
Copilot Apr 21, 2026
b8786fd
fix: apply cross-platform scanning and runtime configurability updates
Copilot Apr 21, 2026
c54dacf
ci: split Nx Cloud token into RO/RW repo secrets, drop environments
ThePlenkov Apr 21, 2026
0544c1f
Merge branch 'main' into copilot/fix-unix-specific-find-command
ThePlenkov Apr 21, 2026
8057026
fix: address validation feedback for quote stripping and adt binary path
Copilot Apr 21, 2026
c654b30
fix: harden cross-platform resolver traversal and adt command execution
Copilot Apr 21, 2026
16dd280
fix(aclass+openai-codegen): address PR #111 review findings
ThePlenkov Apr 21, 2026
5c9a2d5
refactor(aclass): extract parseNameTypeStatement helper to fix SonarC…
ThePlenkov Apr 21, 2026
18cd169
feat(aclass): typed EventDecl + forward-class decl + abaplint gate
ThePlenkov Apr 21, 2026
09a50c2
fix(aclass): qualified method names + keyword method names
ThePlenkov Apr 21, 2026
8743bc8
Merge branch 'main' into feat/aclass-parser
ThePlenkov Apr 21, 2026
1586b4a
Merge pull request #111 from abapify/feat/aclass-parser
ThePlenkov Apr 21, 2026
7bbaba0
Merge branch 'main' into copilot/fix-unix-specific-find-command
ThePlenkov Apr 21, 2026
3ed007d
security: anchor github.com host match in detectGithubRepo
ThePlenkov Apr 21, 2026
9695ec6
security: rename report.checks.mfa to mfaPolicy to reflect semantics
ThePlenkov Apr 21, 2026
67e0928
quality: simplify detectGithubRepo to cut regex complexity
ThePlenkov Apr 21, 2026
2bfbe36
review: harden detectGithubRepo (SCP vs URL, dotted repos, shell-safe…
ThePlenkov Apr 21, 2026
75420a0
Merge pull request #115 from abapify/fix/main-health
ThePlenkov Apr 21, 2026
8300984
Merge branch 'main' into copilot/fix-unix-specific-find-command
ThePlenkov Apr 21, 2026
e69ce70
review: restore check.ts script path in nx-npm-trust plugin
ThePlenkov Apr 21, 2026
f493530
quality: deterministic sort + node: imports in built-in abapGit resolver
ThePlenkov Apr 21, 2026
d3ae006
quality: dedupe abapGit finding resolver (adt-plugin-abapgit → adt-atc)
ThePlenkov Apr 21, 2026
3da4b8d
review: enable shell mode on Windows for adt .cmd execution
ThePlenkov Apr 21, 2026
eab8d05
review: normalise resolver paths to POSIX separators
ThePlenkov Apr 21, 2026
a709871
review: use bunx for adt CLI invocation (monorepo hoisting)
ThePlenkov Apr 21, 2026
54769fa
security: resolve adt binary by walking up node_modules/.bin
ThePlenkov Apr 21, 2026
190be8e
Merge pull request #114 from abapify/copilot/fix-unix-specific-find-c…
ThePlenkov Apr 21, 2026
3250568
Merge branch 'main' into add-adk-unit-tests
ThePlenkov Apr 21, 2026
a6da8ac
review(adk tests): fix toText expectations, isolate registry state
ThePlenkov Apr 21, 2026
0d93a70
feat(openspec): add-abapify-pilot spec — proposal, design, specs, tasks
Copilot Apr 28, 2026
e94a996
feat(adt-pilot): scaffold package — source, tests, config
Copilot Apr 28, 2026
1bcbe2c
feat(adt-pilot): fix build — disable dts (OOM), explicit return types
Copilot Apr 28, 2026
07427a7
refactor(adt-pilot): rework workflow + harness modes for 100% accuracy
devin-ai-integration[bot] Apr 30, 2026
cb4ec8f
fix(adt-pilot): use https in test/example URLs to clear SonarCloud ho…
devin-ai-integration[bot] Apr 30, 2026
25a04aa
fix(adt-pilot): use extensionless internal imports per bundler-import…
devin-ai-integration[bot] May 1, 2026
e45846d
fix(adt-pilot): align declared deps with actual usage
devin-ai-integration[bot] May 1, 2026
d885bd9
chore(nx): migrate nx 22.5.3 → 22.7.1
ThePlenkov May 6, 2026
b7a54d1
docs: add MCP changeset tools and aclass package documentation
ThePlenkov May 7, 2026
9e1c51c
Merge branch 'main' into pr-114
ThePlenkov May 7, 2026
39f2bea
review: address PR #117 feedback
ThePlenkov May 7, 2026
3dc137e
fix: apply CodeRabbit auto-fixes
coderabbitai[bot] May 8, 2026
d2f6f98
fix: apply CodeRabbit auto-fixes
coderabbitai[bot] May 8, 2026
393c1d6
Merge pull request #117 from abapify/pr-114
ThePlenkov May 11, 2026
9a37f2e
Merge branch 'main' into copilot/implement-abapify-pilot-agent
ThePlenkov May 11, 2026
e8cf3dc
fix(adt-pilot): address review and lint findings
devin-ai-integration[bot] May 11, 2026
2361a85
chore: rerun code review check
devin-ai-integration[bot] May 11, 2026
bc59265
Merge pull request #116 from abapify/copilot/implement-abapify-pilot-…
ThePlenkov May 11, 2026
21e44ae
Merge branch 'main' into add-adk-unit-tests
ThePlenkov May 11, 2026
0c614e6
Merge pull request #97 from abapify/add-adk-unit-tests
ThePlenkov May 11, 2026
95a9689
feat(openspec): add arc-1-feature-parity change proposal with SDD art…
Copilot May 11, 2026
f486e0c
feat(adt-lint): scaffold shared abaplint utilities package
Copilot May 11, 2026
82beb8c
feat: implement arc-1 parity across adt-lint, adt-contracts, adt-mcp,…
Copilot May 11, 2026
fb29467
fix(adt-lint): replace lazy '.*?' with '[^']*' in token regex to fix …
Copilot May 11, 2026
066f92c
fix: address PR review — regex security, method detection, BTP 404, l…
devin-ai-integration[bot] May 12, 2026
74cae8d
fix: reduce duplication, remove useless conditional, harden JSONC parser
devin-ai-integration[bot] May 12, 2026
7a4d80b
fix: guard starts[0] with nullish coalescing for SonarCloud reliability
devin-ai-integration[bot] May 12, 2026
f4dd4f7
fix: use localeCompare in sort for SonarCloud S2871 reliability
devin-ai-integration[bot] May 12, 2026
9cf1d2b
Merge pull request #118 from abapify/copilot/sdd-approach-implement-f…
ThePlenkov May 12, 2026
af925dc
docs: generate Triangular Consistency Review discrepancy report
google-labs-jules[bot] May 12, 2026
83bbde6
Potential fix for pull request finding
ThePlenkov May 12, 2026
988789b
Potential fix for pull request finding
ThePlenkov May 12, 2026
e45bda1
Potential fix for pull request finding
ThePlenkov May 12, 2026
b0d1d52
Potential fix for pull request finding
ThePlenkov May 12, 2026
4671ff1
docs: update discrepancy report for clarity and consistency
ThePlenkov May 12, 2026
f9fc18f
refactor sap connection resolution and align specs/docs
Copilot May 12, 2026
e66c3d0
docs: add resolver type documentation for connection service
Copilot May 12, 2026
5e78697
Merge pull request #119 from abapify/audit-triangular-consistency-rev…
ThePlenkov May 12, 2026
03b1668
feat(adt-pilot): add local dev stack for HTTP MCP and Mastra playground
ThePlenkov May 18, 2026
bf9a4de
Merge branch 'main' into copilot/implement-abapify-pilot-agent
ThePlenkov May 18, 2026
0f11dc2
Apply suggestions from code review
ThePlenkov May 18, 2026
b7873e5
Potential fix for pull request finding
ThePlenkov May 18, 2026
300416a
chore: placeholder — outlining fixes
Copilot May 18, 2026
d865beb
chore(agents): consolidate SSOT under .agents with runtime stubs
ThePlenkov May 18, 2026
75af75b
fix(adt-pilot): remove unused @mastra/mcp dep; fix URL log sanitizati…
Copilot May 18, 2026
5728173
Apply suggestions from code review
ThePlenkov May 18, 2026
650a981
fix(adt-pilot): lint failure, URL credential leak, doc port inconsist…
Copilot May 18, 2026
212dc2f
fix(adt-pilot): address PR #121 review — docs, types, workspace deps
ThePlenkov May 18, 2026
7379a9a
Merge pull request #121 from abapify/copilot/implement-abapify-pilot-…
ThePlenkov May 18, 2026
0769eb2
Merge branch 'main' into chore/agents-ssot-from-dotagents
ThePlenkov May 18, 2026
6976bd4
fix(agents): run Codex nx MCP via bunx to match monorepo convention
ThePlenkov May 18, 2026
29c0bde
chore(agents): format adt workflows README for nx format:check
ThePlenkov May 18, 2026
55ef810
Merge pull request #123 from abapify/chore/agents-ssot-from-dotagents
ThePlenkov May 18, 2026
71ba663
chore(agents): update verification guidelines and clarify Prettier usage
ThePlenkov May 18, 2026
3a79490
chore: update subproject commit for abap-file-formats
ThePlenkov May 18, 2026
3b069d7
Initial plan
Copilot May 19, 2026
20fe89f
feat: transport deletion-aware import with obj_func filter and multi-…
Copilot May 19, 2026
2d5c127
refactor: address code review - use path.basename, export matchesSele…
Copilot May 19, 2026
bf549f2
refactor: extract shared parseFilterOption helper to command-helpers,…
Copilot May 19, 2026
9d11f55
feat: simplify import transport - comma-sep multi-TR, --save-tr-metad…
Copilot May 19, 2026
8f481a8
fix: prefer-const lint error in cts tr objects command
Copilot May 19, 2026
1228b7c
Changes before error encountered
Copilot May 19, 2026
d43dec3
fix: apply prettier formatting to service.ts
Copilot May 19, 2026
05ce835
Apply suggestions from code review
ThePlenkov May 19, 2026
38a136b
Potential fix for pull request finding
ThePlenkov May 19, 2026
8a85bb9
fix: optimize findObjectFiles index, restore transportNumber compat, …
Copilot May 19, 2026
192a20e
chore: require Copilot to finish only when all PR checks are green
ThePlenkov May 20, 2026
d9e089f
fix: resolve SonarCloud reliability and duplication findings
Copilot May 20, 2026
b377e0d
fix: use const variable for transportNumbers[0] to avoid non-null ass…
Copilot May 20, 2026
0f677ae
Merge pull request #125 from abapify/copilot/feature-transport-object…
ThePlenkov May 20, 2026
fd4c10a
refactor transport resolution and hoist test helpers for Sonar findings
Copilot May 20, 2026
3c3acc5
Merge pull request #126 from abapify/copilot/fix-sonarqube-findings
ThePlenkov May 20, 2026
6648824
Initial plan
Copilot May 20, 2026
51fc395
docs: improve after-changes.md clarity, fix broken links in AGENTS.md…
Copilot May 20, 2026
3c7b65b
Merge pull request #127 from abapify/copilot/update-package-guidance
ThePlenkov May 20, 2026
dbf25e1
feat: add e2e/adt-sdk to .gitignore
ThePlenkov May 29, 2026
460f0cf
feat(p2): include p2-cli in CI publish pipeline
ThePlenkov May 29, 2026
5c6d1f3
feat(p2): bootstrap npm publish metadata and trusted publishing
ThePlenkov May 29, 2026
93f7f54
Merge pull request #128 from abapify/feat/p2-cli-ci-publish
ThePlenkov May 29, 2026
9614d82
chore(release): publish 0.4.0 [skip ci]
github-actions[bot] May 29, 2026
12a4dd6
Initial plan
Copilot May 29, 2026
403a63c
Initial progress report
Copilot May 29, 2026
3343445
fix: ensure p2-cli dist/ is built before npm publish
Copilot May 29, 2026
c07e4ac
Merge pull request #130 from abapify/copilot/abapifyp2-cli-fix-publis…
ThePlenkov May 29, 2026
c513f42
chore(release): publish 0.4.1 [skip ci]
github-actions[bot] May 29, 2026
589b8d5
feat: add ADT proxy server with JSON↔XML conversion
Jun 16, 2026
ffec103
refactor: reduce cyclomatic complexity in proxy server and createServer
Jun 16, 2026
0ed61e2
fix: address CodeRabbit review feedback
Jun 16, 2026
145580f
fix: address all review feedback - round 2
Jun 16, 2026
eb41f70
fix: address CI feedback - error handling, fetch timeout, server cras…
Jun 16, 2026
8e08cc6
fix: use bunx instead of npx in auth hint
Jun 16, 2026
067bb4b
fix: address 3 blocking issues in ADT proxy rework
Jun 16, 2026
bd58989
fix: address CI review feedback - security, reliability, and code qua…
Jun 16, 2026
f13a58c
fix: address CI failures - remove dynamic RegExp, fix lint errors, ad…
Jun 17, 2026
4ed533d
fix(lint): use const for defaultHeaders in proxy command
Jun 17, 2026
69281a3
fix(proxy): skip set-cookie in forEach loop to prevent header flattening
Jun 17, 2026
d6dc24f
Merge pull request #131 from ThePlenkov/gt/maple/a80c2beb
ThePlenkov Jun 17, 2026
5d0880b
chore(deps-dev): bump vite in the npm_and_yarn group across 1 directory
dependabot[bot] Jun 17, 2026
6bfde7c
Merge pull request #132 from abapify/dependabot/npm_and_yarn/npm_and_…
ThePlenkov Jun 17, 2026
809af4b
feat(source-history): add bounded ADT source history support
ThePlenkov Jul 19, 2026
49acbe1
feat(adt-mcp): enforce destination scopes
ThePlenkov Jul 19, 2026
ade493d
fix(adt-mcp): freeze destination access
ThePlenkov Jul 19, 2026
d077ea7
refactor(adt-mcp): expose embeddable HTTP handler
ThePlenkov Jul 19, 2026
5f4a673
feat(adt-mcp): verify signed invocations
ThePlenkov Jul 19, 2026
c4b6711
feat(adt-server): add guarded MCP sidecar
ThePlenkov Jul 19, 2026
4a7237e
feat(adt-server): configure signed MCP runtime
ThePlenkov Jul 19, 2026
9ea7812
feat(adt-mcp): enforce frozen AI Review reads
ThePlenkov Jul 19, 2026
cb3b26e
feat(adt-mcp): scope frozen reads to components
ThePlenkov Jul 19, 2026
6e13941
feat(mcp): bound current source reads
ThePlenkov Jul 19, 2026
c40e10a
fix(mcp): bind immutable sources to capabilities
ThePlenkov Jul 19, 2026
6af4624
feat(adt-server): add capability-bound source reads
ThePlenkov Jul 19, 2026
ad1cae0
feat(adt-server): allow local REST bearer auth
ThePlenkov Jul 19, 2026
b6d63a8
test(adt-server): validate OpenAPI contract
ThePlenkov Jul 19, 2026
914d54e
feat(adt-server): normalize system transport search
ThePlenkov Jul 19, 2026
c078e48
feat(adt-server): release broker leases with audit
ThePlenkov Jul 19, 2026
863d58c
feat(adt-server): add canonical transport detail REST
ThePlenkov Jul 19, 2026
2ab6cf5
feat(adt-server): schema capability source responses
ThePlenkov Jul 19, 2026
0a6b77e
feat(adt-server): paginate canonical package search
ThePlenkov Jul 19, 2026
bc2d533
feat(adt-server): paginate canonical object search
ThePlenkov Jul 19, 2026
442f039
feat(adt-server): require shared REST state secrets
ThePlenkov Jul 19, 2026
c6c6973
feat(adt-server): page direct package objects
ThePlenkov Jul 19, 2026
52ebd7f
feat(adt-server): add canonical object metadata REST
ThePlenkov Jul 20, 2026
1e59c83
feat(adt-server): add canonical object history REST
ThePlenkov Jul 20, 2026
87e4b72
feat(adt-server): add bounded object source REST
ThePlenkov Jul 20, 2026
b43fad8
feat(adt-server): add canonical ATC REST
ThePlenkov Jul 20, 2026
814a482
feat(adt-mcp): scope ATC runs without raw URIs
ThePlenkov Jul 20, 2026
e9d50b7
feat(adt-mcp): reject raw URI read targets
ThePlenkov Jul 20, 2026
a6b9370
feat(adt-server): generate typed REST client
ThePlenkov Jul 20, 2026
4fcb826
feat(adt-mcp): scope autonomous agent reads
ThePlenkov Jul 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 57 additions & 0 deletions .agents/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Workspace agents (`adt-cli`)

Team-visible standards for AI-assisted work live here. **`.agents/` is the single source of truth** for rules, skills, workflows, and ADT command docs. Tool-specific folders ([`.cursor/`](../.cursor/README.md), legacy [`.windsurf/`](../.windsurf/README.md)) stay thin so Cursor/Windsurf only add discovery glue (commands, optional stubs).

## Repository conventions

Monorepo layout, MCP↔CLI coupling, rules index, and package-level guides:
[`repo-guide.md`](repo-guide.md).

## Layout

```
.agents/
README.md # You are here
repo-guide.md # Monorepo + architecture reference for agents
agents/ # Multi-agent manifest + per-runtime notes
rules/ # Conditional rules (“when X, do Y”)
skills/ # Skills (SKILL.md trees; shared across agents)
workflows/ # Multi-step procedures (OpenSpec, lint, …)
commands/adt/ # Long-form ADT workflows (schema, contract, …)
```

## Rules (`.agents/rules/`)

Use imperative, scenario-based wording. Agents load these when the situation matches.

## Skills (`.agents/skills/`)

Documentation for the model: prerequisites, commands to run, troubleshooting. Install into a native agent cache with [`npx skills add`](https://github.com/vercel-labs/skills) when needed; the repo copy remains authoritative.

## Workflows (`.agents/workflows/`)

Reusable procedures (OpenSpec opsx-\*, lint). **Cursor slash commands** under `.cursor/commands/` delegate here—edit the workflow file, not the Cursor stub.

ADT specifics: see [`.agents/workflows/adt/README.md`](workflows/adt/README.md) → [`.agents/commands/adt/`](commands/adt/).

## OpenSpec & planning

- `openspec/specs/` — specifications
- `openspec/changes/` — active changes
- `openspec/config.yaml` — project config
- `docs/planning/` — coordination docs

## Memory: internal vs repo

- **Internal** (vendor-specific persistence): preferences and session DB—not committed.
- **Workspace** (this tree + `openspec/`): versioned, reviewable, shared.

Prefer repo-backed docs for anything the team must agree on.

## Migrating from Windsurf

Legacy `.windsurf/workflows/` and `.windsurf/skills/` now **redirect** to `.agents/`. Remove Windsurf-only duplicates from your mental model; extend `.agents/` instead.

## Multi-agent setup

See [`agents/README.md`](agents/README.md) for registered runtimes (Cursor IDE, Claude Code, Windsurf stubs), ownership, and delegation hints.
33 changes: 33 additions & 0 deletions .agents/agents/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Multi-agent manifest (`adt-cli`)

This repo is edited by **several AI runtimes**. They share one canonical tree—**`.agents/`**—and keep native config thin.

## Principles

1. **Single source of truth**: Rules, skills, and workflow bodies live under `.agents/`.
2. **Thin native layers**: `.cursor/` carries Cursor-only discovery (slash commands → workflows). Legacy `.windsurf/` remains as stubs only.
3. **No duplicated procedure text**: If you change an OpenSpec flow, edit `.agents/workflows/opsx-*.md`.

## Registered agents

| Agent | Native config | Consumes from repo |
| ----------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **Cursor (IDE)** | `.cursor/commands/`, `.cursor/rules/`, `.cursor/skills/` (stubs) | `.agents/rules/`, `.agents/skills/`, `.agents/workflows/`, `.agents/commands/` |
| **Claude Code / Codex** | `.claude/` ([README](../../.claude/README.md)) — thin commands/skills + hooks/settings | Same `.agents/` paths; sync skills with `npx skills add` when needed |
| **Windsurf Cascade** | `.windsurf/` (**deprecated stubs**) | Redirects to `.agents/` |

Details: [`manifest.yaml`](manifest.yaml).

## Delegation

- **Specs & planning**: OpenSpec workflows in `.agents/workflows/opsx-*.md`.
- **Nx / monorepo**: Skills `nx-workspace`, `nx-run-tasks`, `nx-generate`, … under `.agents/skills/`.
- **ADT / SAP**: Commands under `.agents/commands/adt/` plus skills `add-endpoint`, `adt-export`, etc.

When spawning subagents or parallel tasks, pass **paths under `.agents/`** so every runtime reads the same instructions.

## Adding a new runtime

1. Document it in `manifest.yaml`.
2. Point its skill/rule discovery at `.agents/` (symlink, CLI sync, or copy-on-install).
3. Add a short profile file here (e.g. `my-runtime.md`) describing quirks and env vars—keep vendor secrets out of git.
15 changes: 15 additions & 0 deletions .agents/agents/claude-code.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Claude Code profile (`adt-cli`)

## Role

CLI / IDE agent using `.claude/` for hooks, settings, and native slash commands.

## Where to read first

Same as other runtimes: `.agents/rules/`, `.agents/skills/`, `.agents/workflows/`, and `commands/opsx/*.md` stubs that delegate to `.agents/workflows/opsx-*.md`.

## Claude-only files

Keep secrets scanners, git hooks, and `settings*.json` here—they are not portable to Cursor/Windsurf.

See also: `../../.claude/README.md`.
21 changes: 21 additions & 0 deletions .agents/agents/cursor-ide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Cursor IDE profile (`adt-cli`)

## Role

Primary interactive editor agent with repo access, terminal, and MCP.

## Where to read first

1. Repo root `AGENTS.md` (Nx expectations).
2. `.agents/rules/` for conditional standards.
3. `.agents/workflows/` when the user runs `/opsx:*` or asks for a procedural flow.

## Cursor-only files

- `.cursor/commands/*.md` — **Stub only**: frontmatter for the `/` palette + pointer to `.agents/workflows/`.
- `.cursor/rules/*.mdc` — Always-on or scoped hints; keep them short.
- `.cursor/skills/openspec-*/SKILL.md` — **Stub only**: discovery wrapper; canonical skill body is `.agents/skills/openspec-*`.

Do not grow duplicate procedure text in `.cursor/`—extend `.agents/` instead.

There is **no** `/models` command in this repo. If you still see one that hits Anthropic’s API, delete it from Cursor (`/commands`) or from `~/.cursor/commands/models.md` / `.cursor/commands/models.md`.
29 changes: 29 additions & 0 deletions .agents/agents/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Multi-agent registry for adt-cli (documentation contract; not loaded by tooling yet).
version: 1
canonical_roots:
rules: .agents/rules/
skills: .agents/skills/
workflows: .agents/workflows/
adt_commands: .agents/commands/

agents:
- id: cursor-ide
description: Cursor IDE composer/agent
native_config_root: .cursor/
thin_layer_readme: .cursor/README.md
entrypoints:
slash_commands: .cursor/commands/
optional_rules: .cursor/rules/
skill_stubs: .cursor/skills/

- id: claude-code
description: Claude Code / CLI agents using local .claude/
native_config_root: .claude/
thin_layer_readme: .claude/README.md
notes: Slash commands and openspec skill stubs delegate to .agents/; hooks/settings stay in .claude/.

- id: windsurf-cascade
description: Windsurf Cascade (legacy)
native_config_root: .windsurf/
deprecated: true
migration: Prefer .agents/; .windsurf retains redirect stubs only.
Loading
Loading