If you’re looking to improve your productivity, there’s a metaphorical ton of apps you can try. For those who prefer using open source software, the selection doesn’t shrink all that much. In fact, there are a lot of open source tools geared toward productive coding.
Of course, any such list is going to have tools you may or may not use. You might have your workflow almost set and know that you’re only missing one piece of the puzzle to lift your productivity to the next level. That workflow probably includes tools like editors, IDEs, code review and analysis, collaboration and documentation, CI/CD, monitoring, debugging, automation, and all points between.
The key here is improving your productivity and there are still plenty of tools ready to serve.
Let’s dive in and see what open source tools you might add to your workflow.
Visual Studio Code
Visual Studio Code is one of the most popular IDEs on the market. VS Code is developed by Microsoft and the source can be viewed on GitHub. This IDE is free, lightweight, flexible, and extensible. VS Code is great for coding, debugging, and testing.
But how can this IDE make you more productive? Consider features like a vast extension library, intelligent code completion, version control integration, code analysis and diagnostics, and cross-platform compatibility and it should be obvious how this IDE can help improve your workflow. Instead of having to use multiple tools, you can handle many of your tasks within this one application. VS Code also supports the most popular languages, such as HTML/CSS, JavaScript, C/C++, C#, Objective-C, Python, PHP, and Java.
Git
Git is a version control system that helps developers manage codebase changes over time. Using Git can greatly improve your productivity because you can not only keep track of changes to your code but also collaborate on a project with a team in real time without worrying one developer will overwrite changes made by another.
Git includes features like track changes, version management, collaboration, commits, branches, merging, and more.
Git helps to make you more productive with a very easy-to-follow and repeatable workflow that looks like this:
- Create a local repository: Initialize a Git repository in your working directory. You can make this repository available to team members on your LAN or you can migrate it to GitHub.
- Make changes and commit: After making changes to your code, you can use git add and git commit to create a new version of your files.
- Push to remote repository: Share your changes (commits) with team members by pushing them to a shared location, such as GitHub.
- Pull from the remote repository: You can then retrieve the latest code changes from the shared location and merge them into your local copy for further work.
Docker/Podman
Containers are an important aspect of software development. Anyone interested in containers will want to check out Docker or Podman, as those two tools are the most effective and efficient methods of developing and deploying containers.
But why containers?
Containers make it possible to develop consistently across environments, so you don’t have to worry about developing for multiple platforms. Containers also feature faster development cycles, simplified dependency management, faster build times, easier testing/debugging, improved scalability, and reduced costs. And because containers are portable, you can develop on your OS of choice and easily migrate the container to another, with the assurance it will work properly.
Jenkins
Jenkins is an automation server that enables developers to build, test, and deploy applications in a repeatable and reliable fashion. Jenkins includes automated builds, CI/CD support, job scheduling, monitoring and reporting, code review, deployment scripts, and more.
But why would an automation platform help with your coding productivity? The most important thing Jenkins can do for you is automate repetitive tasks, so you can concentrate on more important activities. Jenkins also helps to reduce errors, improve collaboration, and get you a faster time to market for new releases and features. Jenkins includes support for Docker and Kubernetes and has plugins for things like GitHub Actions, JIRA, and Docker container builds.
Jenkins is free to use and you can view the source on GitHub.
GPT-Engineer
GPT-Engineer is a text-based tool for interacting with Large Language Models (LLMs) in a way that is more structured and guided. GPT-Engineer allows you to specific software in a natural language, use the AI to write and execute code, and/or ask the AI to suggest improvements to your code.
I know what you’re thinking… using AI to write code is essentially cheating and I’m not going to argue that point. However, one thing you can use such a tool for is learning a specific language or understanding a complex concept or line of code. You can use GPT-Engineer with code housed in a local folder, create a prompt file inside the folder and fill it with your required instructions, and then run the gpte DIRECTORY command (where DIRECTORY is the folder containing the code).
GPT-Engineer can be used for free and can be installed with either Python or Poetry.
Eclipse IDE
Eclipse is a free, open source IDE that is geared towards Java projects. Eclipse is available for Linux, macOS, and Windows, includes an extensive plugin ecosystem, uses a modular architecture, includes code completion and inspections, and advanced debugging capabilities.
Eclipse is highly flexible so you can tailor the IDE to perfectly meet your needs with plugins and customizations. There are plugins for Java Builder, Code Completion, Git integration, and more.
But how can an IDE help you become more productive? Thanks to the vast repository of plugins and impressive feature set, it’s possible to streamline your workflow by reducing errors and improving the overall quality of your code (thereby simplifying and shortening the debugging process).
Continu
Continu is an open source alternative to GitHub Copilot and provides AI-powered code completion and inline assistance for the VS Code and JetBrains IDEs. With Continu, you can connect any LLM you want and then use it with Chat to simplify asking AI for help, without having to leave your IDE.
Continu’s Autocomplete feature provides in-line code suggestions as you type (similar to autosuggestions in Gmail, etc.). There are also Edit (a way to modify code without leaving the currently opened file) and Actions (shortcuts for common use cases).
Continu has a user-friendly UI and can be installed for free from within your IDE plugin market.
Tabby
Tabby is a self-hosted AI coding assistant that can serve as another alternative to GitHub’s Copilot. With Tabby you install and use it locally, so there’s no need to rely on a third party (which means more privacy), and supports consumer-grade GPUs.
You can deploy Tabby as a Docker container in under a minute with the command:
docker run -it –gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve –model StarCoder-1B –device cuda –chat-model Qwen2-1.5B-Instruct
Tabby features code completion, contextual understanding, AI-driven suggestions, and code analysis to reduce development time, improve code quality, and increase productivity.
Configu
Configu is an open source configuration-as-code platform used for automating configuration management, preventing misconfigurations, and eliminating tedious repetitive tasks by configuring and automating the deployment of software applications in different environments.
With Configu, your engineering teams can seamlessly manage and collaborate on things like environment variables, secrets, and feature flags across any environment. This tool can be easily integrated into existing systems and workflows and scales from small to large, simple to complex, and ad-hoc to repetitive.
Configu is used for environment management, configuration automation, and infrastructure orchestration. With Configu added to your workflow, you’ll enjoy increased speed and efficiency, improved consistency, and simplified configuration management.
Configu can be easily installed with the command:
curl https://files.configu.com/cli/install.sh | sh
Tauri 2.0
Tauri is an open source tool that enables developers to create desktop applications by using modern web-based technology such as React, Angular, or Vue.js. Tauri provides an Electron-like environment that includes features like windows, menus, and file dialogs. With Tauri, you can create apps for Linux, macOS, and Linux that look and feel native. Because Tauri uses popular web-based frameworks and libraries, it helps to reduce the time required to build a desktop application.
With Tauri, your developers will enjoy faster development times, easier app maintenance, and improved cross-platform compatibility, thanks to pre-built UI components, web-based config files, and native app performance optimizations.
The typical Tauri workflow looks like this:
- Build the web application using React, Angular, or Vue.js.
- Convert the web app into a desktop application with native-like behavior.
- Test and refine the desktop app on different platforms before releasing it.
Any one of these apps can help improve your coding productivity. Even better… there are always more open source apps to lend a hand with efficiency.
The post 10 Open Source Tools to Supercharge Your Coding Game appeared first on The New Stack.
Comments are closed.