{"ref":"artifact:mrbandler-cds2types","page":"/artifacts/mrbandler-cds2types","json":"/artifacts/mrbandler-cds2types.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"mrbandler-cds2types","name":"cds2types","artifact_type":"cli","ecosystem":"cap","flavors":[{"key":"node","source":{"url":"https://github.com/mrbandler/cds2types","title":"mrbandler/cds2types — README","checked":"2026-09-13","quote":"npm install cds2types --save-dev"}}],"domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A command-line tool that generates TypeScript interfaces from a CDS model, written before [@cap-js/cds-typer](artifact:cap-js-cds-typer) existed.","short":"CLI generating TypeScript interfaces from a CDS model"},"links":{"npm":"https://www.npmjs.com/package/cds2types","repo":"https://github.com/mrbandler/cds2types"},"type_properties":{"distribution":{"value":["npm"],"sources":[{"url":"https://github.com/mrbandler/cds2types","title":"cds2types — README","checked":"2026-10-18","quote":"npm install cds2types --save-dev"}]}},"lifecycle":[{"state":"deprecated","source":{"url":"https://github.com/mrbandler/cds2types","title":"mrbandler/cds2types — README, the caution notice","checked":"2026-10-15","quote":"This project is not maintained anymore."}}],"provides":[{"capability":"capability:typescript-patterns","what_it_does":"Converts the definitions of a CDS model into TypeScript types at the command line, one file per namespace or service, so the code around them has something to import. It states nothing about how that code is then arranged.","sources":[{"url":"https://github.com/mrbandler/cds2types","title":"mrbandler/cds2types — README","checked":"2026-10-15","quote":"CLI to convert CDS definitions to native Typescript types."},{"url":"https://github.com/mrbandler/cds2types","title":"mrbandler/cds2types — README, version 3.0.0","checked":"2026-10-15","quote":"For each CDS namespace or service a separate file is generated in the output folder (module syntax)"}]}],"provenance":{"discovered_via":[{"source":"source:npm"},{"source":"source:discover"}],"first_seen":"2026-09-02"},"maintainers":["actor:mrbandler"],"contributors":["actor:heneryhawk","actor:mrbandler","actor:theo-sun","actor:thisisevanfox"],"history":[{"date":"2026-09-08","field":"artifact_type","from":"cds-plugin","to":"cli","reason":"Typed cds-plugin by placement, which defaults every candidate to that. It is not one."},{"date":"2026-09-08","field":"description.one_line","from":"CLI to convert CDS models to Typescript interfaces and enumerations","to":"Generates TypeScript interfaces from a CDS model at the command line, from before @cap-js/cds-typer existed.","reason":"Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim."},{"date":"2026-10-15","field":"lifecycle","from":null,"to":"deprecated","reason":"The README read today opens with a caution notice from its maintainer: the project is not maintained anymore, and it points readers to capire's TypeScript page instead. Deprecated is the state that matches that sentence — not to start with it any more — rather than retired, which would say the maintainer had ended it; nothing in the notice says that, and it carries no date, so none is recorded."},{"date":"2026-10-15","field":"provides[typescript-patterns]","from":"bare ref","to":"what_it_does","reason":"The edge carried no sentence. It now says what the tool produces and that it says nothing about the arrangement of the code around it. Whether this edge belongs on typescript-patterns at all is an open editorial question recorded with the capability's review: generating types from a model is the typing concern, and this pass does not move the edge."}],"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"fair","evidence":"11 months since release"},{"label":"Continuity","tier":"good","evidence":"5 contributors, 1 publisher"},{"label":"Repository","tier":"fair","evidence":"pushed 2025-11, not archived"}],"compatibility":[{"label":"Declared for","tier":"poor","evidence":"^6.3.1 — stops before cds 9"},{"label":"Survived majors","tier":"poor","evidence":"no release since @sap/cds 10 shipped (July 2026)"},{"label":"Maintainer's CI","tier":"good","evidence":"build green, 2025-11-27"}],"practice":[{"label":"Tests","tier":"good","evidence":"5 test files, npm test"},{"label":"Docs","tier":"good","evidence":"README 9 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":271,"unit":"installs/week"},{"value":22,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"3.0.1","majors":{"1":{"version":"1.0.0","date":"2020-01-22"},"2":{"version":"2.0.1","date":"2020-05-14"},"3":{"version":"3.0.0","date":"2022-11-28"},"0.1":{"version":"0.1.0","date":"2019-12-19"},"0.2":{"version":"0.2.0","date":"2019-12-19"},"0.3":{"version":"0.3.0","date":"2019-12-22"},"0.4":{"version":"0.4.0","date":"2019-12-23"},"0.5":{"version":"0.5.0","date":"2019-12-23"},"0.6":{"version":"0.6.0","date":"2019-12-26"},"0.7":{"version":"0.7.0","date":"2019-12-26"},"0.8":{"version":"0.8.0","date":"2019-12-26"},"0.9":{"version":"0.9.0","date":"2020-01-21"}},"license":"MIT","first_release":"2019-12-19","last_release":"2025-11-27","releases":39,"cadence_days":7,"maintainers":1,"repository":"git+ssh://git@github.com/mrbandler/cds2types.git","peer_cds":"^6.3.1","test_script":true,"types":false,"downloads_weekly":271,"stars":22,"forks":9,"open_issues":20,"archived":false,"pushed_at":"2025-11-27","license_spdx":"MIT","org_owned":false,"default_branch":"master","contributors":5,"tree_truncated":false,"test_files":5,"workflows":3,"other_ci":false,"readme_bytes":9188,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"ci_status":"success","ci_run_at":"2025-11-27","ci_workflow":"build","ci_event":"push","readme_path":"README.md","readme_sha":"28524893c9a66d3af40165039b639d0522576a6d","months_since_release":11,"dormant":false,"repository_directory":null,"dependencies":5,"node_engine":null,"downloads_monthly":2803,"created_at":"2019-12-19T12:13:01Z","open_prs":6,"first_commit":"2019-12-19","last_commit":"2025-11-27","commits":210,"repo_read":"2026-10-26"},"release_notes":{"license":"MIT","quotable":true,"prereleases":4,"source":{"kind":"github-releases","url":"https://github.com/mrbandler/cds2types/releases"},"format":"github-releases","releases":[{"version":"3.0.1","date":"2025-11-27","date_source":"github","heading":"v3.0.1","url":"https://github.com/mrbandler/cds2types/releases/tag/v3.0.1","sections":[],"hash":"7882567e33b35722"},{"version":"3.0.0","date":"2022-11-28","date_source":"github","heading":"v3.0.0","url":"https://github.com/mrbandler/cds2types/releases/tag/v3.0.0","sections":[{"kind":"other","heading":null,"items":3}],"hash":"016be0edf813ad36"},{"version":"2.8.0","date":"2022-08-02","date_source":"github","heading":"v2.8.0","url":"https://github.com/mrbandler/cds2types/releases/tag/v2.8.0","sections":[],"hash":"e2fcbf3796f23f3c"},{"version":"2.7.4","date":"2022-06-15","date_source":"github","heading":"v2.7.4","url":"https://github.com/mrbandler/cds2types/releases/tag/v2.7.4","sections":[],"hash":"14c91f114f2cc7f2"},{"version":"2.7.3","date":"2022-06-10","date_source":"github","heading":"v2.7.3","url":"https://github.com/mrbandler/cds2types/releases/tag/v2.7.3","sections":[],"hash":"d85b4bf92a590f4a"},{"version":"2.7.1","date":"2021-12-30","date_source":"github","heading":"v2.7.1","url":"https://github.com/mrbandler/cds2types/releases/tag/v2.7.1","sections":[],"hash":"08a19360d2d23922"},{"version":"2.7.0","date":"2021-12-21","date_source":"github","heading":"v2.7.0","url":"https://github.com/mrbandler/cds2types/releases/tag/v2.7.0","sections":[],"hash":"58b563fb76c7de67"},{"version":"2.6.2","date":"2021-09-07","date_source":"github","heading":"v2.6.2","url":"https://github.com/mrbandler/cds2types/releases/tag/v2.6.2","sections":[],"hash":"46da149c65338e5b"},{"version":"2.6.1","date":"2021-06-21","date_source":"github","heading":"v2.6.1","url":"https://github.com/mrbandler/cds2types/releases/tag/v2.6.1","sections":[],"hash":"e3b0c44298fc1c14"}],"versions":[{"version":"3.0.1","date":"2025-11-27"},{"version":"3.0.0","date":"2022-11-28"},{"version":"2.8.0","date":"2022-08-02"},{"version":"2.7.4","date":"2022-06-15"},{"version":"2.7.3","date":"2022-06-10"},{"version":"2.7.2","date":"2022-01-04"},{"version":"2.7.1","date":"2021-12-30"},{"version":"2.7.0","date":"2021-12-21"},{"version":"2.6.2","date":"2021-09-07"},{"version":"2.6.1","date":"2021-06-05"},{"version":"2.6.0","date":"2021-01-07"},{"version":"2.5.1","date":"2020-11-07"},{"version":"2.5.0","date":"2020-11-07"},{"version":"2.4.0","date":"2020-08-30"},{"version":"2.3.0","date":"2020-06-09"},{"version":"2.2.1","date":"2020-06-08"},{"version":"2.2.0","date":"2020-06-08"},{"version":"2.1.2","date":"2020-06-03"},{"version":"2.1.1","date":"2020-05-18"},{"version":"2.0.1","date":"2020-05-14"},{"version":"1.1.3","date":"2020-03-23"},{"version":"1.1.2","date":"2020-03-23"},{"version":"1.0.2","date":"2020-02-28"},{"version":"1.0.1","date":"2020-02-28"},{"version":"1.0.0","date":"2020-01-22"},{"version":"0.9.0","date":"2020-01-21"},{"version":"0.8.0","date":"2019-12-26"},{"version":"0.7.0","date":"2019-12-26"},{"version":"0.6.0","date":"2019-12-26"},{"version":"0.5.0","date":"2019-12-23"},{"version":"0.4.1","date":"2019-12-23"},{"version":"0.4.0","date":"2019-12-23"},{"version":"0.3.0","date":"2019-12-22"},{"version":"0.2.0","date":"2019-12-19"},{"version":"0.1.0","date":"2019-12-19"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:mrbandler","name":"mrbandler","json":"/actors/mrbandler.json"}],"contributors":[{"ref":"actor:thisisevanfox","name":"Evan Fox","json":"/actors/thisisevanfox.json"},{"ref":"actor:mrbandler","name":"mrbandler","json":"/actors/mrbandler.json"},{"ref":"actor:heneryhawk","name":"Simon","json":"/actors/heneryhawk.json"},{"ref":"actor:theo-sun","name":"Theo Sun","json":"/actors/theo-sun.json"}],"explained_by":[{"ref":"content:taking-cap-to-the-next-level-with-typescript","name":"Taking CAP to the next level - with TypeScript","json":"/content/taking-cap-to-the-next-level-with-typescript.json"}],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}