Skip to content

Latest commit

 

History

History
127 lines (102 loc) · 4.38 KB

_README_OLD.md

File metadata and controls

127 lines (102 loc) · 4.38 KB

Fishing Hook by Adi Dizdarevic from the Noun Project

hooked

A tool for executing preconfigured scripts via multiple channels (e.g. REST, CLI, WEB).

Installation

npm install -g mountain-pass/hooked

Server Usage

jserver

Developers: To run the source code locally (with live reload)...

npm install
npm start

Command Line Interface

j

Developers: To run the source code locally...

./cli.js

Hooked - Example Command Line Interface

Web Interface

Hooked - Example Web Interface

TODO

CLI

  • allow non-interactive command input -> workaround: use curl and rest
  • use auth/https certs to verify client <-> server security
  • allow chaining hooks
  • adding hook - validate hook has a name
  • allow local execution of scripts? (security impl?)
  • allow auto discovery of servers
  • support different types of hooks?
  • allow continuous input mode
  • log "REST/CURL" equivalents of running commands
  • Create a DSL? a la Fastlane
  • allow multi server configuration e.g. export HOOKED_SERVER=http://foobar:4000,http://catdog:3000
  • allow server configuration ➡️ export HOOKED_SERVER=http://foobar:4000
  • "rename" hook
  • order list options alphabetically
  • "createSlackNotificationHook"

Server

  • move user prompts config into server - expand inquirer params - description/help, cardinality, prompt, defaultValue, etc
  • ‼️ allow updating/editing hooks & metadata (e.g. version, description, supported os, last modified, etc)
  • check whether hook command is "supported" e.g. curl --help && echo $? == 0
  • create job to view job config
  • setup a Docker job
  • setup a Steam job
  • setup an AWS job
  • setup an Azure job
  • metadata - add "support" fields
    • supported until
    • details of support contract
    • warnings when unsupported/out of support
  • support service versioning
    • multiple version running at same time?
    • strict version vs semantic versioning?
    • include version in http headers (for client as well) - @Tom - what do you recommend? (dotnet/aspnet-api-versioning#42)
  • add auditing (requires user auth?)
  • flag to disable internal/admin hooks?
  • add ability to schedule hooks
  • ❗ stop "injection" attacks
  • save config - debounce
  • make hooks a navigable hierarchy?
  • add tests
  • git version control static config?
  • implement http caching - etag
  • handle when backend server is down
  • add icons to hooks
  • disable livereload for non-dev environments ➡️ export LIVERELOAD=true
  • add metadata to services
  • write configuration to a user configurable location
  • read configuration from a user configurable location ➡️ export HOOKED_HOME=/Users/nickpersonal/.hooked
  • allow external configuration of server port ➡️ export HOOKED_SERVER_PORT=4000
  • ❗ create a web frontend ➡️ http://127.0.0.1:3000

Server Website

  • mobile - put hook buttons into a dropdown?
  • create a component for http loading?
  • add "external" access to select hooks via a web interface
  • align colours (CLI with Website)
  • ability to import hooks from external sources (marketplace? updates?)
  • add validation
  • todo componentise pug sections?
  • provide sample curl commands?
  • mobile supported display
  • fix dropdown styling
  • handle list inputs

Attributions

Fishing Hook (modified) by Adi Dizdarevic from the Noun Project - CreativeCommons3.0