Your developer portal powered by automated documentation.
The problem with traditional documentation
Traditional documentation is often too hard to find and too much work to keep up to date. As a result you can not trust it, and creating or maintaining the documentation is seen as a boring waste of time.
Features

Accurate
Missing or wrong information can lead to confusion and mistakes.
Contextmap scans your projects both at compile time and runtime, supporting different languages, frameworks or technologies. Accurate documentation is guaranteed by directly looking at your single source of truth, e.g. source-code, configurations, properties, markdown, version control, etc.

Zero effort
We believe documentation should be easy. Easy to setup, easy to update, and it should be easy to find the information you need.
By spending less time keeping your documentation up to date, and less time trying to find information in various locations, your teams will have more time working on your product

Always up to date
When integrated in your CI/CD pipeline you can decide to update a project’s documentation each time a change is pushed to your version control. Or maybe your teams prefer to only update when they make a release. Enjoy having the latest and greatest information available to you at all times.
Contextmap in Action
To assist in knowledge sharing you can create explanatory models to visualize different aspects of your architecture. Create a helicopter view, then drill down to the lowest level.

System View
Components from the same system are automatically identified. This allows to create high level views on the architecture.

Component View
Look inside a system to find which components it contains. Find out how your microservices, frontends and API-gateways are interconnected.

Bounded Context

Storages
Track which components use storages, no matter what type: SQL, NoSQL or in-memory cache.

Events
See the events published by components, and which other components subscribe to their events. Find out what the payload is of each event.

Explanatory Models
Contextmap is designed to be an interactive tool. Create explanatory models by drilling down, filter out what’s irrelevant, or applying a specific color schema, etc
... and much more
Automation allows to document much more compared to what you would otherwise have to keep in sync manually. Here’s a list of some of the details you can find in contextmap.
- REST api’s
- recent Git commits & tagged Git releases
- BDD features and scenarios
- architectural decision records and other markdown
- glossary
- statistics such as SLA, degrees, cluster coefficient, …
- event payloads
How does it work?
For each of your projects:- Add a plugin to your project depending on the programming language and framework.
- Configure your CI/CD pipeline
- Done, from now on your project's documentation will always be automatically updated
<dependencies>
<!-- contextmap runtime scanning of configuration and beans at startup -->
<dependency>
<groupId>io.contextmap</groupId>
<artifactId>java-spring-runtime</artifactId>
<version>1.3.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- contextmap compile-time scanning during CI/CD via: mvn contextmap:scan -->
<plugin>
<groupId>io.contextmap</groupId>
<artifactId>java-spring-compiletime</artifactId>
<version>1.3.0</version>
<configuration>
<key>PLACE_KEY_HERE</key>
</configuration>
</plugin>
</plugins>
</build>
{
"scripts": {
/* contextmap compile-time scanning during CI/CD via: npm run contextmap:scan */
"contextmap:scan": "scan-contextmap"
},
"devDependencies": {
"scan-contextmap": "^0.0.4"
},
"contextmap": {
"key": "PLACE_KEY_HERE"
}
}
Living Documentation
Documentation is about transferring knowledge. Most of the knowledge is already available in the code, just waiting to be extracted...