mapbox / mapbox/cpp-cli-skel

Status of project

Open
#4 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Makefile
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

I see great value to cpp-cli-skel because:

- Command line interfaces are a great way to prototype new projects
- Command line interfaces are a common and very valuable way to distribute C++ code, and therefore establishing best practices for how Mapbox devs develop C++ CLI interfaces is important for scaling our work.

At the same time this project has been dormant, in my mind, because:

- Attention of @mapbox/core-tech has so far been primarily on https://github.com/mapbox/hpp-skel
- https://github.com/mapbox/hpp-skel, because it contains benchmarks and unit tests executables, already has two types of "cli" examples, and therefore is fairly useful for using to prototype (no need for this separate cpp-cli-skel)
- Most serious command line tools end up needing to parse options, and option parsing in C++ requires an external dependency, which raises the harder question of which external dependency, refs https://github.com/mapbox/cpp/issues/35

Questions in my mind:

- Should we put this project on ICE and clearly direct interested people to hpp-skel for prototyping for now?
- Should we put time into investigating the ideal option parser and reboot https://github.com/mapbox/cpp-cli-skel/pull/2 with it and get things landed and working?

@mapbox/core-tech

Contributor guide

Open the contributing guide

Research direction

Start by reviewing hpp-skel's existing CLI examples, the unresolved option-parser discussion in mapbox/cpp#35, and the proposed cpp-cli-skel#2 pull request. Determine whether this project should be paused or rebooted; done means the maintainers have chosen and documented a clear direction.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.