bendavidaaron / gocart Goto Github PK
View Code? Open in Web Editor NEWGolang Configuration And Revision Tracker, no longer maintained as I started using Bashdot
License: GNU General Public License v3.0
Golang Configuration And Revision Tracker, no longer maintained as I started using Bashdot
License: GNU General Public License v3.0
As a gocart rider
I would like to be able to clone my dotfiles on to a new machine and use gocart to populate my system with symlinks to the newly-cloned copy of my dotfile repo
So that I can swiftly and elegantly make myself at home on a new computer
Currently, gocart.json
stores both the list of known platforms (.platforms
) and the currently active platform (.activePlatform
). This is nonideal because the active platform will need to be checked into version control as part of the gocart.json
file in use, and therefore synced across systems.
Storing the activePlatform
name across invocations should be host-specific, and be kept in a seperate file so it can be .gitignore
d.
As a gocart user
I would like to be able to check if my .gocart.json file in a given repo is compatible with my installed version of gocart
so that I don't break my configs during or because of a gocart update
Currently, if a .gocart.json
file isn't available the gocart
will throw lots of ugly error messages during command initialization.
Commands that accept --name
--path
or --platform
args currently read values from .gocart.json
to get default values.
They should pass nil
as default values, which can be populated at execution time instead.
Currently each config is stored as an object with a Name
, Path
, and Platform
. This suffices for users who only run one set of configurations on one system, but does not accommodate users seeking to share configurations for a single app across multiple platforms (say using the same .vimrc on both Windows and Linux).
I propose changing the data schema to associate paths and platforms, per-configuration.
Now:
{
"Configs": {
"bonk": {
"Name": "bonk",
"Path": "/Users/me/src/gocart/fake-configs/.bonkrc",
"Platform": "MacOS"
}
},
"Platform": "MacOS",
"Path": "/Users/me/src/gocart/.gocart.json"
}
Proposed:
{
"Configs":{
"bonk":{
"Name":"bonk",
"Paths":{
"MacOS":"/Users/me/src/gocart/fake-configs/.bonkrc"
}
},
"Platform":"MacOS",
"Path":"/Users/me/src/gocart/.gocart.json"
}
}
This will allow platform specific execution of gocart install
after cloning your configuration to a new machine.
The internal/tasks module is mixing layers of abstraction. It was an ugly mistake and I hate it. Delet This!
As a command line power user
I would like to use gocart verb noun -a args
syntax to interact with Gocart
So that I can use the kubectl-like syntax I'm familiar with
As a gocart user
I would like to only see the tasks I asked for instead of all traces printed to stdout
so that my terminal isn't polluted with noise
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.