Feat(cli): add base command-line interface #16

Merged
jakob.scheid merged 21 commits from feature/cli into main 2026-09-13 20:11:00 +02:00
Owner

Base command-line interface

This pull request adds a base command-line interface:

  • subcommands for languages:
    • Python subcommand with options for allowing HTML, allowing Markdown tables, sections included, and sections excluded
  • unit tests for CLI
  • integration tests for CLI

cli is now a package instead of a module.

Related issues

Closes #15

# Base command-line interface This pull request adds a base command-line interface: - subcommands for languages: - Python subcommand with options for allowing HTML, allowing Markdown tables, sections included, and sections excluded - unit tests for CLI - integration tests for CLI `cli` is now a package instead of a module. ## Related issues Closes #15
jakob.scheid added this to the 0.2.0 milestone 2026-09-13 20:00:02 +02:00
jakob.scheid added the Kind/Feature
Priority
High
2
Kind/Urgent
labels 2026-09-13 20:00:02 +02:00
jakob.scheid added this to the Project Board project 2026-09-13 20:00:02 +02:00
jakob.scheid added 19 commits 2026-09-13 20:00:02 +02:00
Added a subparser for Python documentation and a function to generate
Python documentation.
Added the script 'jcloud-docsgen' to pyproject.toml so that jCloud Docsgen can
be run directly without using 'python3 -m ...'.
The CLI now handles error that may result from user input and prints an
error message. Following error types are handled:
 - file not found
 - not a directory
 - directory instead of file
 - file exists
 - permission error
 - general operating system errors
 - Unicode errors
 - errors parsing project source code

Additionally, KeyboardInterrupt and BrokenPipeError are catched and an
appropriate exit code is returned.
Added a __main__ module that calls the CLI main function.
pyproject.toml Outdated
@@ -11,2 +11,4 @@
license = "Apache-2.0"
[project.scripts]
jcloud-docsgen = "jcloud_docsgen.cli.cli:main"
Author
Owner

Please use jcloud_docsgen.cli:main.

Please use `jcloud_docsgen.cli:main`.
jakob.scheid marked this conversation as resolved
@@ -0,0 +16,4 @@
The command line interface
'''
__all__ = [
Author
Owner

This is redundant.

This is redundant.
jakob.scheid marked this conversation as resolved
jakob.scheid added 1 commit 2026-09-13 20:09:28 +02:00
jakob.scheid added 1 commit 2026-09-13 20:10:43 +02:00
jakob.scheid merged commit 8930efc7e6 into main 2026-09-13 20:11:00 +02:00
jakob.scheid deleted branch feature/cli 2026-09-13 20:11:00 +02:00
jakob.scheid moved this to Review in Project Board on 2026-09-13 20:11:04 +02:00
jakob.scheid moved this to Done in Project Board on 2026-09-13 20:11:10 +02:00
jakob.scheid added the Kind/Documentation label 2026-09-22 13:26:25 +02:00
jakob.scheid changed title from Feature(cli): add base command-line interface to Feat(cli): add base command-line interface 2026-09-22 19:15:53 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jCloud/jcloud-docsgen#16