devenv

command module
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

README

Devenv

Devenv is a simple tool to manage the setup of consistent developer environments for projects containing multiple languages.

It's primary motivation is to enable the local developer workflow to be replicated under CI/CD, and vice versa.

(It will also always only be a single binary install for maximum portability)

Design

Devenv makes heavy use of existing language package managers and similar tools, thanks to:

  • Homebrew[^1] - for system wide dependencies and recommendations
  • Trunk.io - for hermetically managed project specific dependencies and code quality automation
  • go-task - for implementing scripts to perform common project tasks

[^1]: Also works on Linux, previously known as Linuxbrew

Usage

You can download the binary directly from the releases page, but it's prefered distribution is via Homebrew, which will include it's core dependencies:

brew install metafeather/tools/devenv

You will need run devenv init to install it's embedded assets before use.

It is then recommended to run devenv doctor to see if there is anything else required.

For use in managing git project dependencies and linters you will most likely need be prompted to install trunk-io[^2]

[^2]: Trunk Check runs 100+ idiomatic code-checking tools for every language and technology, locally https://docs.trunk.io/check/cli

Documentation

Overview

Copyright © 2024 Liam Clancy (metafeather) github@metafeather.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
log
Logger wrapper around the log/slog package to enable changing the log level dynamically.
Logger wrapper around the log/slog package to enable changing the log level dynamically.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL