You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Goal: NOTEaliases now renamed to projects. Allow me to "tap" into external sources for projects so I can just run bp new rust and that gives me the best Rust starter there is, without me having to search for that, configure it etc. In principle similar to formula and Homebrew taps. This shift the focus from me writing my own aliases (projects) to consuming something that's ready-made and public. External file content is the same format of configuration, but we only take projects: for now.
Config does merging of local and global as before. Now additional step will be added:
await config.resolve_projects()// mut
Which will:
verify files in ~/.backpack don't already exist. if they do, bail.
if no files corresponding to sources, download the files, name them according to project source name (e.g. community.yaml).
Next,
with the array of external projects,
concat all additional projects into projects list in config, only add missing, never overwrite, make sure their source is external
resolve from main projects array.
Some changes to project alias records:
Each alias should now have a source: local | external
Should have a description
Should have a run command (for post-clone). External run will be prompted by user to approve. Local runs will run without prompt.
The data structure should also support:
backpack new
<interactive menu - choose your project>
And should be ready for but not implement yet:
fuzzy search in menu
frecency score (most recent and most used projects at the top)
rename aliases to projects
project should now have description, run: <string> (not implemented yet), source (default local)
build external projects resolver, returns a list of projects, initialized with external
merge logic in Config, careful not to overwrite from external
Config gets a new defensive API that hides the data inside of it.
new interactive UI module.
implement choice menu, sourced by projects, divided by local and external, rig it to bp new and bp apply when called with no arguments, this also means we will need to take in dest interactively.
bp config --projects should now show a divided list of available projects. consider just saying bp projects instead.
The text was updated successfully, but these errors were encountered:
Suggestion / Feature Request
Goal: NOTE
aliases
now renamed toprojects
. Allow me to "tap" into external sources for projects so I can just runbp new rust
and that gives me the best Rust starter there is, without me having to search for that, configure it etc. In principle similar to formula and Homebrew taps. This shift the focus from me writing my own aliases (projects) to consuming something that's ready-made and public. External file content is the same format of configuration, but we only takeprojects:
for now.Design:
Which will:
~/.backpack
don't already exist. if they do, bail.Next,
projects
list in config, only add missing, never overwrite, make sure theirsource
is externalSome changes to project alias records:
local | external
The data structure should also support:
And should be ready for but not implement yet:
fuzzy search in menu
frecency score (most recent and most used projects at the top)
rename aliases to projects
project should now have
description
,run: <string>
(not implemented yet), source (default local)build external projects resolver, returns a list of projects, initialized with
external
merge logic in Config, careful not to overwrite from external
Config gets a new defensive API that hides the data inside of it.
new interactive UI module.
implement choice menu, sourced by projects, divided by local and external, rig it to
bp new
andbp apply
when called with no arguments, this also means we will need to take indest
interactively.bp config --projects
should now show a divided list of available projects. consider just sayingbp projects
instead.The text was updated successfully, but these errors were encountered: