Giter Site home page Giter Site logo

ideas's Introduction

ideas's People

Contributors

vjpr avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

ideas's Issues

How to tame repo root config files / dot files?

Most repos are full of tooling or library config files that insist they live in the root directory of a repo.

These include configuration for linting, code-formatting, text editor settings, transpilation, CI, git, runtime version, package management settings and manifest, testing, code coverage, etc.

Some are stubborn and need to be left where they are because their location is significant. E.g. package management manifests like package.json.

Others have a cli switch to allow a configurable location - although usually this adds a lot of complexity to your tooling because you have to configure your project run scripts, IDE tooling, or other tooling to use these switches. There are a lot though that don't allow their configuration to be copied.

Some tools allow declarative config to be placed in a common file such as a package.json or pyproject.toml.

I have a bunch of repos and I'd like to be able to use the same configuration for each of them.

A good first step would be to put all the various config files in a single tools folder that is easily copyable to other projects. Adjacent files could be used to provide custom config

I'm looking for some ideas on the best way forwards. Things I can think of:

  • Push for a community-standard for config file configurability. Have a standard file like .tools.ini that would allow specifying the location of the config file to use for each tool.
  • Build a wrapper script that would mock the filesystem for tools that don't have configurable file locations.
  • Tooling lint tool. CLI tool that would advise on the best way to configure your projects to have minimal root-level config files. Maybe could extend it to be a linter for your directory structure. Maybe it can setup symlinks to organize things into a central tools dir and add the original file names to the top of the file.
  • GUI tool to allow all configurations to be made through a web app or electron app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.