{"ref":"artifact:abapify-acds","page":"/artifacts/abapify-acds","json":"/artifacts/abapify-acds.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abapify-acds","name":"@abapify/acds","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A parser for [ABAP CDS](artifact:abap-cds) DDL source — tokenizer, parser and a typed AST covering tables, structures, simple types, service definitions and metadata extensions.","short":"Parser for ABAP CDS DDL source with a typed AST","what_it_solves":"Built on Chevrotain with error recovery, so partial or in-progress source still yields a tree. It is the piece anything that wants to analyse [ABAP CDS](artifact:abap-cds) without a system needs first."},"links":{"npm":"https://www.npmjs.com/package/@abapify/acds","repo":"https://github.com/abapify/adt-cli"},"identity":{"author":"abapify","license":"MIT"},"compat":{"runtimes":["build-time"]},"provides":["capability:abap-static-analysis"],"provenance":{"discovered_via":[{"source":"source:npm","channel":"keywords:cds"}],"first_seen":"2026-09-07"},"maintainers":["actor:abapify"],"contributors":["actor:openhands-agent","actor:theplenkov"],"history":[{"date":"2026-09-08","field":"provides","from":"capability:data-modelling","to":"capability:abap-static-analysis","reason":"Placed on data modelling because it deals in ABAP CDS definitions. Reading the capability again moved it: acds does not help you define data, it parses definitions somebody else wrote into a typed AST — which is the substrate static analysis is built on, and it lives in the adt-cli repository. The mistake surfaced when repointing a CAP package away from the ABAP capability left this one holding it alone."}],"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"good","evidence":"released this month"},{"label":"Continuity","tier":"good","evidence":"11 contributors, 1 publisher, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"good","evidence":"Codacy Security Scan green, 2026-10-23"}],"practice":[{"label":"Tests","tier":"good","evidence":"369 test files"},{"label":"Docs","tier":"good","evidence":"docs/ with 40 pages, README 13 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":302,"unit":"installs/week"},{"value":20,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","latest_version":"0.4.21","majors":{"0.0":{"version":"0.0.0","date":"2026-04-20"},"0.3":{"version":"0.3.4","date":"2026-04-20"},"0.4":{"version":"0.4.0","date":"2026-05-29"}},"license":"MIT","first_release":"2026-04-20","last_release":"2026-10-22","releases":22,"cadence_days":1,"maintainers":1,"repository":"git+https://github.com/abapify/adt-cli.git","peer_cds":null,"test_script":false,"types":true,"downloads_weekly":302,"stars":20,"forks":3,"open_issues":14,"archived":false,"pushed_at":"2026-10-23","license_spdx":"MIT","org_owned":true,"default_branch":"main","contributors":11,"tree_truncated":false,"test_files":369,"workflows":8,"other_ci":false,"readme_bytes":13666,"docs_files":40,"changelog":true,"license_file":true,"dts_files":0,"ci_status":"success","ci_run_at":"2026-10-23","ci_workflow":"Codacy Security Scan","ci_event":"push","readme_path":"packages/acds/README.md","readme_sha":"3df2cbd9ff22125a1dc5650cffca0e4e4219ab75","months_since_release":0,"dormant":false,"repository_directory":"packages/acds","dependencies":1,"node_engine":null,"downloads_monthly":1389,"created_at":"2024-10-07T17:22:10Z","open_prs":5,"first_commit":"2026-03-17","last_commit":"2026-10-23","commits":59,"repo_read":"2026-10-24"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"repo","path":"packages/acds/CHANGELOG.md","ref":"main","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md"},"format":"headings","releases":[{"version":"0.4.22","date":"2026-10-23","date_source":"heading","heading":"0.4.22 (2026-10-23)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0422-2026-10-23","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.21","date":"2026-10-22","date_source":"heading","heading":"0.4.21 (2026-10-22)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0421-2026-10-22","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.20","date":"2026-10-22","date_source":"heading","heading":"0.4.20 (2026-10-22)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0420-2026-10-22","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.19","date":"2026-10-21","date_source":"heading","heading":"0.4.19 (2026-10-21)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0419-2026-10-21","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.18","date":"2026-10-21","date_source":"heading","heading":"0.4.18 (2026-10-21)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0418-2026-10-21","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.17","date":"2026-10-21","date_source":"heading","heading":"0.4.17 (2026-10-21)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0417-2026-10-21","sections":[{"kind":"feature","heading":"🚀 Features","items":1},{"kind":"fix","heading":"🩹 Fixes","items":7},{"kind":"other","heading":"❤️ Thank You","items":3}],"hash":"4083cf7103ce3cb3"},{"version":"0.4.16","date":"2026-09-29","date_source":"heading","heading":"0.4.16 (2026-09-29)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0416-2026-09-29","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.15","date":"2026-09-29","date_source":"heading","heading":"0.4.15 (2026-09-29)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0415-2026-09-29","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.14","date":"2026-09-28","date_source":"heading","heading":"0.4.14 (2026-09-28)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0414-2026-09-28","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.13","date":"2026-09-28","date_source":"heading","heading":"0.4.13 (2026-09-28)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0413-2026-09-28","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.12","date":"2026-09-28","date_source":"heading","heading":"0.4.12 (2026-09-28)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0412-2026-09-28","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.11","date":"2026-09-23","date_source":"heading","heading":"0.4.11 (2026-09-23)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0411-2026-09-23","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.10","date":"2026-09-21","date_source":"heading","heading":"0.4.10 (2026-09-21)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#0410-2026-09-21","sections":[{"kind":"fix","heading":"🩹 Fixes","items":1},{"kind":"other","heading":"❤️ Thank You","items":1}],"hash":"22e8646a235a4a56"},{"version":"0.4.9","date":"2026-09-20","date_source":"heading","heading":"0.4.9 (2026-09-20)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#049-2026-09-20","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.8","date":"2026-09-20","date_source":"heading","heading":"0.4.8 (2026-09-20)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#048-2026-09-20","sections":[{"kind":"feature","heading":"🚀 Features","items":3},{"kind":"fix","heading":"🩹 Fixes","items":3},{"kind":"other","heading":"❤️ Thank You","items":2}],"hash":"5cdb0d6bb143c5e3"},{"version":"0.4.7","date":"2026-09-18","date_source":"heading","heading":"0.4.7 (2026-09-18)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#047-2026-09-18","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.6","date":"2026-09-18","date_source":"heading","heading":"0.4.6 (2026-09-18)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#046-2026-09-18","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.5","date":"2026-09-17","date_source":"heading","heading":"0.4.5 (2026-09-17)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#045-2026-09-17","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.4","date":"2026-09-17","date_source":"heading","heading":"0.4.4 (2026-09-17)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#044-2026-09-17","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.3","date":"2026-09-16","date_source":"heading","heading":"0.4.3 (2026-09-16)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#043-2026-09-16","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.2","date":"2026-09-08","date_source":"heading","heading":"0.4.2 (2026-09-08)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#042-2026-09-08","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.1","date":"2026-05-29","date_source":"heading","heading":"0.4.1 (2026-05-29)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#041-2026-05-29","sections":[],"hash":"4862258652bb7585"},{"version":"0.4.0","date":"2026-05-29","date_source":"heading","heading":"0.4.0 (2026-05-29)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#040-2026-05-29","sections":[],"hash":"4862258652bb7585"},{"version":"0.3.6","date":"2026-04-21","date_source":"heading","heading":"0.3.6 (2026-04-21)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#036-2026-04-21","sections":[],"hash":"4862258652bb7585"},{"version":"0.3.5","date":"2026-04-20","date_source":"heading","heading":"0.3.5 (2026-04-20)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#035-2026-04-20","sections":[],"hash":"4862258652bb7585"},{"version":"0.3.4","date":"2026-04-20","date_source":"heading","heading":"0.3.4 (2026-04-20)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#034-2026-04-20","sections":[{"kind":"fix","heading":"🩹 Fixes","items":1},{"kind":"other","heading":"❤️ Thank You","items":1}],"hash":"b7812a92c2fa74d3"},{"version":"0.3.3","date":"2026-04-20","date_source":"heading","heading":"0.3.3 (2026-04-20)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#033-2026-04-20","sections":[],"hash":"4862258652bb7585"},{"version":"0.3.2","date":"2026-04-20","date_source":"heading","heading":"0.3.2 (2026-04-20)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#032-2026-04-20","sections":[],"hash":"4862258652bb7585"},{"version":"0.3.1","date":"2026-04-20","date_source":"heading","heading":"0.3.1 (2026-04-20)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#031-2026-04-20","sections":[],"hash":"4862258652bb7585"},{"version":"0.3.0","date":"2026-04-20","date_source":"heading","heading":"0.3.0 (2026-04-20)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#030-2026-04-20","sections":[{"kind":"feature","heading":"🚀 Features","items":1},{"kind":"fix","heading":"🩹 Fixes","items":1},{"kind":"other","heading":"❤️ Thank You","items":2}],"hash":"c9f04f81621637ed"},{"version":"0.2.0","date":"2026-04-02","date_source":"heading","heading":"0.2.0 (2026-04-02)","url":"https://github.com/abapify/adt-cli/blob/main/packages/acds/CHANGELOG.md#020-2026-04-02","sections":[{"kind":"feature","heading":"🚀 Features","items":2},{"kind":"fix","heading":"🩹 Fixes","items":1},{"kind":"other","heading":"❤️ Thank You","items":2}],"hash":"4d1cfd34dfdaf888"}],"versions":[{"version":"0.4.21","date":"2026-10-22"},{"version":"0.4.19","date":"2026-10-21"},{"version":"0.4.17","date":"2026-10-21"},{"version":"0.4.16","date":"2026-10-21"},{"version":"0.4.15","date":"2026-09-29"},{"version":"0.4.14","date":"2026-09-29"},{"version":"0.4.13","date":"2026-09-28"},{"version":"0.4.12","date":"2026-09-28"},{"version":"0.4.11","date":"2026-09-28"},{"version":"0.4.9","date":"2026-09-21"},{"version":"0.4.8","date":"2026-09-20"},{"version":"0.4.7","date":"2026-09-18"},{"version":"0.4.6","date":"2026-09-18"},{"version":"0.4.5","date":"2026-09-17"},{"version":"0.4.4","date":"2026-09-17"},{"version":"0.4.3","date":"2026-09-16"},{"version":"0.4.1","date":"2026-05-29"},{"version":"0.4.0","date":"2026-05-29"},{"version":"0.3.6","date":"2026-04-21"},{"version":"0.3.5","date":"2026-04-20"},{"version":"0.3.4","date":"2026-04-20"},{"version":"0.0.0","date":"2026-04-20"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:abapify","name":"abapify","json":"/actors/abapify.json"}],"contributors":[{"ref":"actor:openhands-agent","name":"OpenHands","json":"/actors/openhands-agent.json"},{"ref":"actor:theplenkov","name":"Petr Plenkov","json":"/actors/theplenkov.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}