dcdpr / dcdpr/jp

Template-based workspace initialization with `jp init`

Open
#143 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
16
Forks
3
Avg merge
1d 1h
Merged PRs (30d)
121

Description

When initializing a new workspace with jp init, currently we create a minimal default .jp directory.

I want to be able to use templates for jp init such that I can quickly scaffold a more complete set-up for my projects.

I'm thinking of a few required features:

  • use jp init --template <template-name> to initialize with a given template name
  • short-hand -t works as well
  • templates are stored in $XDG_DATA_HOME/jp/templates/init/<template-name>
  • files/folders in templates/init/<template-mame>/... are copied as-is to .jp/ on jp init
  • multiple templates can be used by passing in --template more than once, any duplicate files are overwritten by the latest template flag
  • if no --template flag is provided, but a default template exists in templates/init/, then it is used, unless --no-template is provided

See also: https://github.com/dcdpr/jp/issues/13#issuecomment-2953070665

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 locating the jp init command and its existing minimal .jp initialization behavior, then review the linked issue discussion for context. Done means supporting repeated --template/-t flags, --no-template, the specified XDG template path, copying template contents with later templates overwriting duplicates, and default-template selection.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
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.