Skip to content

Commit 84c6b49

Browse files
committed
Add installation instruvtions
1 parent 2a63223 commit 84c6b49

File tree

6 files changed

+130
-5
lines changed

6 files changed

+130
-5
lines changed

INSTALLATION.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Installation & Setup
2+
3+
Use these instructions to obtain the workshop files and decide how you want to work with them.
4+
Each language track may have additional prerequisites, so after setting up the repo, consult the installation guide for the track you want to follow.
5+
6+
## Choose your environment
7+
8+
### Online
9+
10+
* Open the repository in the GitHub web editor by pressing `.` on the repo page.
11+
* Or launch the project in a dev container such as [GitHub Codespaces](https://github.com/features/codespaces) by pressing `,`.
12+
13+
### Offline
14+
15+
1. Clone the repository:
16+
17+
```shell
18+
git clone https://github.com/dendrodocs/workshops.git
19+
```
20+
21+
2. Or download the ZIP from [GitHub](https://github.com/dendrodocs/workshops/archive/refs/heads/main.zip) and extract it locally.
22+
23+
Git is only required for cloning or downloading the repository. The workshop exercises themselves only need the tools noted in each language track.
24+
25+
## Next steps
26+
27+
After obtaining the workshop, open the README of the language track you want to follow.
28+
For example, the .NET track includes [additional installation steps](part1/dotnet/INSTALLATION.md) for the required SDK and IDE.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ These workshops guide you through analyzing syntax trees in various programming
55
offering hands-on experience to automate documentation in a way that stays synchronized with your codebase.
66
You’ll start with DendroDocs as the default tool but can adapt it to fit the needs of any project.
77

8+
See [Installation & Setup](INSTALLATION.md) to download the workshop files and prepare your environment.
9+
810
## Who should follow this workshop?
911

1012
This workshop is for developers, technical writers, DevOps engineers, and anyone curious about making documentation easy, reliable, and always up-to-date.

part1/dotnet/INSTALLATION.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Installation & Setup
2+
3+
This workshop requires a few tools before you can start exploring the chapters.
4+
5+
Before continuing, follow the [Installation & Setup](../../INSTALLATION.md) guide at the repository root to download the workshop files.
6+
Then install the prerequisites below so you can run the exercises and open the provided solutions.
7+
8+
## Prerequisites
9+
10+
* Install the [**.NET 8 SDK**](https://dotnet.microsoft.com/download/dotnet/8.0), or newer.
11+
* An IDE, e.g.:
12+
* Install [**Visual Studio**](https://visualstudio.microsoft.com/vs/) with the **.NET desktop development** workload.
13+
If you install this IDE, also check the additional components mentioned in the next paragraph.
14+
Visual Studio offers the best debugging and syntax tree visualization experience.
15+
* Install [**Visual Studio Code**](https://code.visualstudio.com/) with the [C# extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp).
16+
17+
Other IDEs may work, but instructions are not provided.
18+
19+
### Syntax Visualizer and DGML editor
20+
21+
When adding components to Visual Studio, select the **Individual components** tab,
22+
and make sure the **.NET Compiler Platform SDK** (which includes the Syntax Visualizer) is added.
23+
You can find it under _Compilers, build tools, and runtimes_ section.
24+
Also add the **DGML editor** from the _Code tools_ section.
25+
26+
The Syntax Visualizer and DGML editor are only used in [Chapter 1](01-syntax-trees.md) to visualize the syntax tree and semantic model of a C# program.
27+
The remaining chapters work in both Visual Studio and Visual Studio Code.
28+
29+
## Opening the solutions
30+
31+
Each chapter has a ready-made solution in the `solutions` folder. Open the solution for the chapter you are working on:
32+
33+
1. Navigate to `solutions/<chapter-number>`.
34+
2. Open the `.sln` or project folder in Visual Studio or VS Code.
35+
3. Restore packages if prompted, then follow the steps in the corresponding chapter to explore the code.
36+
37+
## Tips
38+
39+
* In VS Code, installing the **C# Dev Kit** and **C#** extensions from Microsoft provides a smoother experience.
40+
* Use Visual Studio's built-in Syntax Visualizer and DGML editors for Chapter 1.
41+
42+
Once your environment is set up, you're ready to dive into the chapters and start analyzing .NET projects with Roslyn.

part1/dotnet/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Welcome to the first part of the DendroDocs workshop for .NET, where you’ll get hands-on with Roslyn, officially known as the *[.NET Compiler Platform SDK](https://learn.microsoft.com/dotnet/csharp/roslyn-sdk/?wt.mc_id=AZ-MVP-5004268)*.
44

5+
Before you begin, see the [Installation & Setup](INSTALLATION.md) guide to configure your environment.
6+
57
Roslyn can help improve code quality, generate reports, and most importantly, automate documentation,
68
making it invaluable for developers looking to deepen their code analysis capabilities.
79

part2/dotnet/INSTALLATION.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Installation & Setup
2+
3+
This workshop requires a few tools before you can start exploring the chapters.
4+
5+
Before continuing, follow the [Installation & Setup](../../INSTALLATION.md) guide at the repository root to download the workshop files.
6+
Then install the prerequisites below so you can run the exercises and open the provided solutions.
7+
8+
## Prerequisites
9+
10+
* Install the [**.NET 8 SDK**](https://dotnet.microsoft.com/download/dotnet/8.0), or newer.
11+
* An IDE, e.g.:
12+
* Install [**Visual Studio**](https://visualstudio.microsoft.com/vs/) with the **.NET desktop development** workload.
13+
* Install [**Visual Studio Code**](https://code.visualstudio.com/) with the [C# extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp).
14+
If you install this IDE, also check the additional component mentioned in the next paragraph.
15+
16+
Other IDEs may work, but instructions are not provided.
17+
18+
### PlantUML
19+
20+
In Visual Studio Code, you can install the **PlantUML** extension to visualize UML diagrams from PlantUML code.
21+
22+
* `ext install jebbs.plantuml`
23+
* <https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml>
24+
25+
#### Settings
26+
27+
```json
28+
"plantuml.render": "PlantUMLServer",
29+
"plantuml.server": "https://www.plantuml.com/plantuml",
30+
```
31+
32+
For example code it's fine to use the public renderer.
33+
You can render locally by running a PlantUML server locally.
34+
For example using Docker:
35+
36+
```sh
37+
❯ docker run -d -p 8080:8080 plantuml/plantuml-server:jetty
38+
```
39+
40+
and changing the `plantuml.server` setting to `http://localhost:8080/plantuml`.
41+
42+
## Opening the solutions
43+
44+
Each chapter has a ready-made solution in the `solutions` folder. Open the solution for the chapter you are working on:
45+
46+
1. Navigate to `solutions/<chapter-number>`.
47+
2. Open the `.sln` or project folder in Visual Studio or VS Code.
48+
3. Restore packages if prompted, then follow the steps in the corresponding chapter to explore the code.

part2/dotnet/README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
Welcome to the second part of the DendroDocs workshop for .NET.
44
Here you’ll use the analysis output from Part 1 to create living documentation.
55

6+
Before you begin, see the [Installation & Setup](INSTALLATION.md) guide to configure your environment.
7+
68
Ideally, you would generate documentation for a project you already know well.
79
Because that’s not an option in this workshop, we’ll use the open source [Pitstop](https://github.com/EdwinVW/pitstop) project as a shared reference point.
810
This sample provides enough code to demonstrate how DendroDocs works without requiring in-depth domain knowledge.
@@ -16,15 +18,15 @@ We’ll begin by producing the intermediate JSON file that drives all other docu
1618

1719
Clone the sample project and run the analyzer to produce a JSON file for the rest of this part.
1820

19-
2021
2. [Working with _TypeDescriptions_](02-work-with-types.md)
2122

2223
Read the intermediate JSON file, get familiar with the type descriptions, and start querying relationships between classes, methods, invocations, and more.
2324

2425
3. [Generating Markdown Documentation](03-generate-markdown.md)
2526

2627
Use your analyzed type information to create clear and maintainable Markdown documentation.
27-
In this chapter, you will build a generator that starts with static content and then adds dynamic sections, such as commands, events, and their properties, all derived directly from your source code.
28+
In this chapter, you will build a generator that starts with static content and then adds dynamic sections, such as commands, events, and their properties,
29+
all derived directly from your source code.
2830
The result is documentation that automatically stays in sync with your application.
2931

3032
4. [Generating Class Diagrams](04-generating-class-diagrams.md)
@@ -38,11 +40,12 @@ We’ll begin by producing the intermediate JSON file that drives all other docu
3840
You’ll use prebuilt utilities to trace invocations and render PlantUML diagrams that help explain how commands are processed across your system.
3941

4042
Each chapter in Part 2 builds on the last, showing you how to turn static analysis results into clear, interactive documentation for your .NET projects.
41-
You now know how to process code metadata, generate readable Markdown, and visualize your system with class and sequence diagrams, all directly from your source code.
43+
You now know how to process code metadata, generate readable Markdown, and visualize your system with class and sequence diagrams,
44+
all directly from your source code.
4245

43-
By the end of this workshop, you’ve built a documentation pipeline that stays up to date with every code change, making your architecture easier to understand and share.
46+
By the end of this workshop, you’ve built a documentation pipeline that stays up to date with every code change,
47+
making your architecture easier to understand and share.
4448

4549
## Complete solutions
4650

4751
You can find the complete solutions for each chapter in the [Solutions](solutions) folder.
48-

0 commit comments

Comments
 (0)