TODOs

These may also be scattered throughout the codebase... Search @TODO across the codebase for more things TODO

quality of life

  • Fix the prompt function, so it wraps to new line when line end is reached
  • Take argument to skip prompts:
    • bent switch branch_name

unsorted

  • [bent save COMMIT_MSG] to disable the prompt for message
  • [bent move] move project (to a new host), move file?, move...?
  • [bent find] find project, find file (in current state or across commit history?), find string in files
  • [bent use] Use feature. Use extension. Use remote project??
  • [bent cd project_name] as a way to cd into a project directory. Probably bent switch project NAME
  • [bent check] to: check current status, download latest updates, and whatever else I think of. Intention is to run at the start of your code day to get your project into a proper state

delete

  • [bent delete project]: Delete project online
  • [bent delete submodule]: Remove a submodule from your project
  • [bent delete file]: Remove a file from git, but maybe not from local machine? Idk

switch

  • [bent switch host] to change whether you're pushing to origin or my_personal_server or whatever
  • [bent switch project] to cd into another project

manage

config

  • Configuration options.
    • to auto-upload on save or not
    • multiple remotes, multiple users
    • Colors of headers, instructional messages, status messages, etc

setup

  • normalize method names
  • Guidance for setting up webhooks

show

other

  • [bent archive]: create a tag, prefixed with archive/
  • [bent reset]: force local to be identical to remote files
  • [bent reset remote]: Force remote to be identical to local files
  • Expose internal functions via bent internal func_name or something...
  • SSH assistance: Before doing a git push, check & make sure your SSH key is active, otherwise log you in
  • A publish feature, generally for web servers, to upload your local repo to your webserver

extensions

  • [bent use extension]
  • add extensions feature
    • extensions could be downloaded by git url & managed by git bent, including managing updates & choosing which version to install
  • add extension for my php testing library
    • Download the library & add the cli command to your path... something like that? That's not really a bent extensions... Idunno exactly what I'm thinking here.
  • add extension for my php documentor library

internals

  • Convert everything to script-friendly commands (using rev-parse, I think?)
  • Create a prompt_ordefault function. Example output: We will upload to 'origin': ([enter]-confirm / c-cancel / e-edit):
    • This could also take a string input & use that over the default instead of having an e-edit step
    • I don't remember where I have this kind of functionality currently, but I'm using it in one or two places
  • Maybe add an automated way to find all executable commands... To make sure the help menus cover everything
  • Write tests. Start REALLY small...