{"id":42774988,"url":"https://github.com/clicon/cligen","last_synced_at":"2026-01-29T22:05:11.069Z","repository":{"id":9481363,"uuid":"11368986","full_name":"clicon/cligen","owner":"clicon","description":"CLIgen is a Command-Line Interface generator","archived":false,"fork":false,"pushed_at":"2026-01-15T12:03:48.000Z","size":8665,"stargazers_count":34,"open_issues_count":23,"forks_count":42,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-15T16:43:53.120Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.cligen.se","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clicon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-07-12T13:15:19.000Z","updated_at":"2026-01-15T12:03:52.000Z","dependencies_parsed_at":"2026-01-15T14:12:27.372Z","dependency_job_id":null,"html_url":"https://github.com/clicon/cligen","commit_stats":null,"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/clicon/cligen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clicon%2Fcligen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clicon%2Fcligen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clicon%2Fcligen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clicon%2Fcligen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clicon","download_url":"https://codeload.github.com/clicon/cligen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clicon%2Fcligen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28886882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T21:06:44.224Z","status":"ssl_error","status_checked_at":"2026-01-29T21:06:42.160Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-29T22:05:10.458Z","updated_at":"2026-01-29T22:05:11.057Z","avatar_url":"https://github.com/clicon.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CLIgen\n\n[![Build Status](https://github.com/clicon/cligen/actions/workflows/ci.yml/badge.svg)](https://github.com/clicon/cligen/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/clicon/cligen/branch/master/graph/badge.svg?token=6HXN51SARU)](https://codecov.io/gh/clicon/cligen) \u003ca href=\"https://scan.coverity.com/projects/cligen\"\u003e\u003cimg alt=\"Coverity Scan Build Status\" src=\"https://scan.coverity.com/projects/29565/badge.svg\"/\u003e\u003c/a\u003e\n\nCLIgen is a Command-Line Interface generator.\n\nWell, actually it is not really a generator, since it does\nnot _generate_ code for CLI:s. Instead, it builds and interprets\ndatastructures (a parse-tree) which a library (libcligen) interprets\nin runtime.  It is fast and efficient and helps you develop CLI:s\neasier. You enter a CLI syntax in a text file, and \nwrite callback functions in C. The callback functions add the semantics, that is, what the\ncommands in the CLI are supposed to do. \n\nThe main documentation is the [cligen tutorial](cligen_tutorial.pdf)\nwhich is usually kept up-to-date and is probably the best way to\nunderstand CLIgen.\n\nSome background material can be found on the [CLIgen project page](https://www.cligen.se).\n\nCLIgen is _not_ a system in itself, you need to build your own\n'backend'.  There is another co-project: 'clixon' which is\na whole system where you load dynamic frontend and backend\nmodules. See [CLIXON project page](https://www.clicon.org) and [CLIXON\ngithub](https://github.com/clicon/clixon). Clixon provides a\nsystem with embedded database, commit semantics, YANG and NETCONF\ninterface, etc. CLIgen is a part of clixon but can be used by itself.\n\nThe source code here is built and installed using:\n```\n  configure;\n  make;\n  sudo make install.\n```\n\nThe source builds a single library. If you build applications, you should include cligen.h and link with the library.\n\nThere are several example applications:\n* cligen_hello Simplest possible. Just builds a 'hello world' greeting by in-line C\n* cligen_file Read a syntax specification from file. You must supply the file.\n* cligen_tutorial Samples of techniques used in [cligen_tutorial.pdf](cligen_tutorial.pdf)\n\nSee also [Changelog](CHANGELOG.md).\n\nFor building the C reference documentation using doxygen, do: `make doc` and place your browser at `doc/index.html`.\n\nCLIgen is dual license. Either Apache License, Version 2.0 or GNU\nGeneral Public License Version 2. You choose.\n\nI can be found at olof@hagsand.se.\n\n## getline\n\nCLIgen uses getline with the following copyright:\n\nCopyright (C) 1991, 1992, 1993 by Chris Thewalt (thewalt@ce.berkeley.edu)\n\nPermission to use, copy, modify, and distribute this software \nfor any purpose and without fee is hereby granted, provided\nthat the above copyright notices appear in all copies and that both the\ncopyright notice and this permission notice appear in supporting\ndocumentation.  This software is provided \"as is\" without express or\nimplied warranty.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclicon%2Fcligen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclicon%2Fcligen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclicon%2Fcligen/lists"}