mapbox / mapbox/cpp-cli-skel

Status of project

Open
#4 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

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.