Open-source Automated Programming Assistant
Source++ is an open-source automated programming assistant with runtime-aware and context-aware functionality. Source++ is an observant-only programming assistant and aims to bridge application performance management (APM) solutions and the software developer's integrated development environment (IDE) to enable tighter feedback loops.
Source++ will not write source code for you. Source++ can be used to help debug and prevent runtime issues by providing contextualized behavior about your source code throughout development. Future versions of Source++ aspire to provide additional AI-based pair programming features.
- To enable developers easy access to feedback-driven development methodologies
- APMs often lack tight integration with actual development of the source code they monitor
- Source code comprehension can be improved by providing an extra dimension of behavior linked with said source code (ie. being able to visualize how a particular method acts in certain environments vs. locally)
- No websites or dashboards necessary to debug complex asynchronous runtime issues (just look at and follow through your actual source code)
- AI-based pair programming is going to be pretty cool when we get it right
- Supported APMs: Apache SkyWalking
- Supported IDEs: JetBrains
- Supported OSes:
Linux(see), macOS, and Windows
Downloading the IDE
Install a JetBrains IDE if you don’t already have one.
Install the Source++ Plugin
Ctrl+Alt+Sto open the
Settingsdialog and then go to
- Click the
Install JetBrains plugin.
- In the dialog that opens, search for
Settingsdialog and restart your IDE.
After installation you will need to configure the Source++ Plugin (see Configure Plugin).
|:agent:jvm-agent||Used to activate and configure APMs' JVM agents||Java 8+|
|:api||Holds common data models and communication clients||Java 8+|
|:core||Handles integrations, contextualization, & subscriptions||Groovy 2.4+|
|:plugin:jetbrains-plugin||JetBrains implementation of the Source++ Plugin||Groovy 2.4+|
|:plugin:source-plugin-commons||Common Source++ Plugin functionality||Groovy 2.4+|
|:portal||Used to visually display contextualized artifact data||Groovy 2.4+|
Run all Source++ tests:
Build Source++ Agent:
Build Source++ Plugin:
Run Source++ Core (in Docker):
Run Source++ Plugin (in JetBrains IDE):
For full documentation, visit the knowledge base.
To know what is going on, see the roadmap.
Feel free to open issues on just about anything related to Source++.
This project was highly influenced by PerformanceHat. Thanks for the insights that made this possible.