reactive-python / reactive-python/reactpy

Custom Component CLI

Open
#644 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority-3-low
Dominant language
Python
Stars
8.1k
Forks
332
PR merge metrics
No merged PRs in 30d

Description

Current Situation

Currently, creating a custom component requires manual steps. Namely, the developer must use the template repository and pip install cookiecutter.

Since the template repo is a Git repo, you need to have git installed when you run cookiecutter to use the template. This is an unnecessary added dependency and barrier to entry.

Proposed Actions

Create a Command Line Interface (CLI) for creating custom components.

For example, Django has it's django-admin startproject <project_name> command for users. We could implement something similar. For example, reactpy js_component <component_name>.

Work Items
  • Move the template repo into ReactPy core and distribute the template repo with the project
  • Make a CLI that calls cookiecutter on the static template repo to start a new project

Contributor guide

No contributing guide indexed for this repository

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 the existing template repository and how ReactPy currently exposes user-facing commands. Move the template into ReactPy core, distribute it with the project, and add a command such as reactpy js_component <component_name> that invokes cookiecutter without requiring users to fetch the Git repository. Done means both work items are implemented and a custom component project can be generated through the CLI.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, javascript, python
Domain
cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.