Skip to content
This repository has been archived by the owner on Jul 29, 2022. It is now read-only.
/ tails Public archive

tails enables you to view, edit, and organize all your programming projects in one place

License

Notifications You must be signed in to change notification settings

fox-archives/tails

Repository files navigation

tails 🦊

tails enables you to view, edit, and organize all your programming projects in one place

are you tried of

  • creating the same boilerplate when starting new side projects / apps?
    • ex. editorconfig, prettier, eslint, stylelint, vscode
    • ex. webpack w/ hmr, nodemon
  • not having good linting / styling configurations, because you are tired of setting them up every time?
  • having to search for your project on your hard drive, and find out how to run / access / deploy it?
  • leveraging websites purported to solve these problems (ex. jsfiddle, codesandbox, etc), but they come with some other problems
    • sometimes code output is shown in tiny iframe
    • use online code editor, which is not your ide with all the good plugins
    • projects not stored under version control
    • no easy way to see all / organize your projects from all these sites
    • have projects work easily after you download them (if there is a way to download from the site)

don't you want

  • a tool that helps you organize all your side projects / apps
  • a framework, utility, and ide agnostic tool
  • something super extensible, allowing you to easily add a plugin to extend the feature set for how you want it to be

goals

to be a hub for all your projects, and be super extensible via plugins to modify projects however you like. some examples

  • plugin that automatically boilerplates configuration for programing projects (ex. using yeoman)
    • creates perfect combo of editorconfig, prettier, eslint, stylelint, and vscode setting to go with it etc.
  • plugin that integrated with zeit, netlify etc. one click deploy solutions
  • plugin that deploys chosen microservices to kubernetes cluster on demand
  • plugin that opens up your project with a browser version of vscode, with all the plugins you need (no extras to slow launch time)
  • plugin that gives you integrated dns (so nice urls) during development
  • browse through, label, sort, and manage all your projects within the web interface
  • leverage the tools that some with your ide as much as possible
  • show projects from repl.it, codepen, codesandbox, etc. as separate workspaces
  • plugin security (server side code runs on separate Deno instance)
  • avoid reinventing the wheel

details

some or most of these should be plugins that come bundled by default

  • project type examples
    • web, spa, node, node + spa, deno, c++, scala, etc.
  • ability to 'upgrade' web projects
    • ex. 'upgrade' web (static files) to node (importing express or server-static, etc.)
      • this copies rather than edits to prevent mistakes in upgrade process
    • ex. 'upgrade' (we w/ webpack bundler) + node to non-managed projects
    • similar ejecting for ejecting out of boilerplated config if needed
  • showing stdout / stderr
    • maybe have cli so we can just output crap in an existing pty
    • or just for plugins
  • linting / style formatting
    • option to have no linting or style formatting (meaning, the editor does everything)
    • or option to have prettier, eslint configs symlinked to project directory and have watch optiosn for auto update
    • or have combo wombo or something
  • show generated metadata
    • how much browser support your website has
    • size of codebase gzipped, minified, etc.
  • misc
    • open any mount of subprojecs at once without conflicts

terminology

a project is a folder that contains a programming project

  • ex. folder that contains a package.json
  • ex. folder that is the root of a monorepo

a pack is a folder that contains projects

  • starts with underscore _
  • purpose to make workspace folder less flat and generic categorization
  • does not nest

a workspace is a folder that contains projects and packs

  • specified ~/.config/tails/config.json
  • usually only one is needed

the following is an example of a worksapce called programming-projects

> programming-projects (workspace folder)
  > _30-day-js-challenge
    > day-1
    > day-2
    > day-3
    > ...
  > _throwaway
    > mongodb-test
    > grpc-node-go-experiment
    > create-react-app-test
    > vue-3-alpha-composition-api
  > chat-app
  > custom-database
  > cool-react-app

usage

project still in (heavy) early development (pre-alpha)

contributing

git clone --recurse-submodules https://github.com/eankeen/tails
yarn install
make start

About

tails enables you to view, edit, and organize all your programming projects in one place

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published