Skip to content

Commit c319423

Browse files
Update body-text links from operate/ to new-IA paths
Replace 283 body-text markdown links across 128 files that reference /operate/ paths with their new information architecture equivalents. This prepares for the operate/ section removal by ensuring all cross-references already point to the correct destinations. Mapping summary: - /operate/reference/components/* → /reference/components/* - /operate/reference/services/* → /reference/services/* - /operate/reference/viam-server/ → /reference/viam-server/ - /operate/modules/write-a-*/ → /build-modules/write-a-*/ - /operate/modules/configure-modules/ → /hardware/configure-hardware/ - /operate/install/setup/ → /set-up-a-machine/overview/ - /operate/control/* → /build-apps/overview/ or /organization/access/ - /operate/hello-world/* → /try/ - /operate/reference/architecture/* → /hardware/multi-machine/overview/ - /operate/reference/services/frame-system/ → /motion-planning/frame-system/overview/ Also fixes 10 pre-existing "Component or service" UI label violations (should be "Configuration block") in touched files. Does not modify files within docs/operate/ (those are deleted separately). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ba33c36 commit c319423

127 files changed

Lines changed: 310 additions & 296 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/build-modules/dependencies.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,4 +247,4 @@ Then resolve it the same way as any other dependency.
247247
- [Write a Driver Module](/build-modules/write-a-driver-module/) -- full walkthrough including dependency handling in context.
248248
- [Write a Logic Module](/build-modules/write-a-logic-module/) -- build a module that coordinates multiple resources.
249249
- [Access platform APIs](/build-modules/platform-apis/) -- access fleet management, data, and ML training APIs from within a module.
250-
- For full examples, see the [Desk Safari tutorial](/operate/hello-world/tutorial-desk-safari/) or [complex module examples on GitHub](https://github.com/viamrobotics/viam-python-sdk/tree/main/examples/complex_module/src).
250+
- For full examples, see the [Desk Safari tutorial](/try/) or [complex module examples on GitHub](https://github.com/viamrobotics/viam-python-sdk/tree/main/examples/complex_module/src).

docs/build-modules/module-reference.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ func (c *component) someFunction(ctx context.Context, a int) {
300300
{{< /tabs >}}
301301

302302
To see debug-level logs, run `viam-server` with the `-debug` flag or
303-
[configure debug logging](/operate/reference/viam-server/#logging) for your
303+
[configure debug logging](/reference/viam-server/#logging) for your
304304
machine or individual resource.
305305

306306
## Common gotchas
@@ -405,7 +405,7 @@ The full schema is available at `https://dl.viam.dev/module.schema.json`.
405405

406406
### Applications
407407

408-
If your module provides a [Viam application](/operate/control/viam-applications/),
408+
If your module provides a [Viam application](/build-apps/overview/),
409409
define it in the `applications` array in `meta.json`.
410410

411411
Each application object has the following properties:

docs/build-modules/write-a-cpp-module.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ If no [existing modules](/hardware/configure-hardware/) support your specific us
2222
Follow the instructions below to learn how to write a new module using your preferred language and its corresponding [Viam SDK](/reference/sdks/), and then deploy it to your machines.
2323

2424
{{< alert title="Note: viam-micro-server modules" color="note" >}}
25-
[`viam-micro-server`](/operate/reference/viam-micro-server/) works differently from the RDK (and `viam-server`), so creating modular resources for it is different from the process described on this page.
25+
[`viam-micro-server`](/reference/viam-micro-server/) works differently from the RDK (and `viam-server`), so creating modular resources for it is different from the process described on this page.
2626
Refer to the [Micro-RDK Module Template on GitHub](https://github.com/viamrobotics/micro-rdk/tree/main/templates/module) for information on how to create custom resources for your `viam-micro-server` machine.
27-
You will need to [recompile and flash your ESP32 yourself](/operate/install/setup/) instead of using Viam's prebuilt binary and installer.
27+
You will need to [recompile and flash your ESP32 yourself](/set-up-a-machine/overview/) instead of using Viam's prebuilt binary and installer.
2828
{{< /alert >}}
2929

3030
{{% alert title="Tip" color="tip" %}}
@@ -61,16 +61,16 @@ For example, the [sensor API](/reference/apis/components/sensor/) has a `GetRead
6161
If instead of just getting readings, you actually have an encoder and need to be able to reset the zero position, use the [encoder API](/reference/apis/components/encoder/) so you can define functionality behind the `GetPosition` and `ResetPosition` methods.
6262

6363
In addition to the list of methods, another reason to choose one API over another is how certain APIs fit into the Viam ecosystem.
64-
For example, though you could technically implement a GPS as a sensor with just the `GetReadings` method, if you implement it as a movement sensor then you have access to methods like `GetCompassHeading` which allow you to use your GPS module with the [navigation service](/operate/reference/services/navigation/).
64+
For example, though you could technically implement a GPS as a sensor with just the `GetReadings` method, if you implement it as a movement sensor then you have access to methods like `GetCompassHeading` which allow you to use your GPS module with the [navigation service](/reference/services/navigation/).
6565
For this reason, it's generally best to choose the API that most closely matches your hardware or software.
6666
{{< /expand >}}
6767

6868
{{% alert title=Note color="note" %}}
6969
If you want to write a module to add support to a new type of component or service that is relatively unique, consider using the generic API for your resource type to build your own API:
7070

71-
- If you are working with a component that doesn't fit into any of the existing component APIs, you can use the [generic component](/operate/reference/components/generic/) to build your own component API.
72-
- If you are designing a service that doesn't fit into any of the existing service APIs, you can use the [generic service](/operate/reference/components/generic/) to build your own service API.
73-
- It is also possible to [define an entirely new API](/operate/reference/create-subtype/), but this is even more advanced than using `generic`.
71+
- If you are working with a component that doesn't fit into any of the existing component APIs, you can use the [generic component](/reference/components/generic/) to build your own component API.
72+
- If you are designing a service that doesn't fit into any of the existing service APIs, you can use the [generic service](/reference/components/generic/) to build your own service API.
73+
- It is also possible to [define an entirely new API](/build-modules/advanced-patterns/), but this is even more advanced than using `generic`.
7474

7575
Most module use cases, however, benefit from implementing an existing API instead of `generic`.
7676
{{% /alert %}}
@@ -81,7 +81,7 @@ Each existing component or service API has a unique identifier in the form of a
8181
You will use this {{< glossary_tooltip term_id="api-namespace-triplet" text="API namespace triplet" >}} when creating your new model, to indicate which API it uses.
8282

8383
The API namespace triplet is the same for all built-in and modular models that implement a given API.
84-
For example, every model of motor built into Viam, as well as every custom model of motor provided by a module, all use the same API namespace triplet `rdk:component:motor` to indicate that they implement the [motor API](/operate/reference/components/motor/#api).
84+
For example, every model of motor built into Viam, as well as every custom model of motor provided by a module, all use the same API namespace triplet `rdk:component:motor` to indicate that they implement the [motor API](/reference/components/motor/#api).
8585

8686
The three pieces of the API namespace triplet are as follows:
8787

@@ -168,7 +168,7 @@ Browse additional example modules by language:
168168
| ------ | ---------- | ----------- |
169169
| [berryimu](https://app.viam.com/module/viam-labs/berryimu) | [viam-labs/berry-imu](https://github.com/viam-labs/berry-imu) | Extends the built-in [movement sensor API](/reference/apis/components/movement-sensor/) to support using the BerryIMU v3 accelerometer, gyroscope and magnetometer using an I2C connection on ARM64 systems. |
170170
| [oak](https://app.viam.com/module/viam/oak) | [viam-modules/viam-camera-oak](https://github.com/viam-modules/viam-camera-oak) | Extends the built-in [camera API](/reference/apis/components/camera/) to support OAK cameras. |
171-
| [odrive](https://app.viam.com/module/viam/odrive) | [viamrobotics/odrive](https://github.com/viamrobotics/odrive) | Extends the built-in [motor API](/operate/reference/components/motor/#api) to support the ODrive motor. This module provides two models, one for a `canbus`-connected ODrive motor, and one for a `serial`-connected ODrive motor. |
171+
| [odrive](https://app.viam.com/module/viam/odrive) | [viamrobotics/odrive](https://github.com/viamrobotics/odrive) | Extends the built-in [motor API](/reference/components/motor/#api) to support the ODrive motor. This module provides two models, one for a `canbus`-connected ODrive motor, and one for a `serial`-connected ODrive motor. |
172172
| [yahboom](https://app.viam.com/module/rand/yahboom) | [viamlabs/yahboom](https://github.com/viam-labs/yahboom) | Extends the built-in [arm API](/reference/apis/components/arm/) and [gripper API](/reference/apis/components/gripper/) to support the Yahboom Dofbot robotic arm. |
173173

174174
For more Python module examples:
@@ -199,7 +199,7 @@ For more Go module examples:
199199
| Module | Repository | Description |
200200
| ------ | ---------- | ----------- |
201201
| [csi-cam](https://app.viam.com/module/viam/csi-cam) | [viamrobotics/csi-camera](https://github.com/viamrobotics/csi-camera/) | Extends the built-in [camera API](/reference/apis/components/camera/) to support the Intel CSI camera. |
202-
<!-- | [module-example-cpp](https://app.viam.com/module/viam/module-example-cpp) | [viamrobotics/module-example-cpp](https://github.com/viamrobotics/module-example-cpp) | Extends the built-in [sensor API](/operate/reference/components/sensor/#api) to report wifi statistics. | -->
202+
<!-- | [module-example-cpp](https://app.viam.com/module/viam/module-example-cpp) | [viamrobotics/module-example-cpp](https://github.com/viamrobotics/module-example-cpp) | Extends the built-in [sensor API](/reference/components/sensor/#api) to report wifi statistics. | -->
203203

204204
{{% /tab %}}
205205
{{% /tabs %}}
@@ -220,7 +220,7 @@ If your module references {{< glossary_tooltip term_id="pin-number" text="pin nu
220220

221221
First, inspect the built-in class provided by the resource API that you are extending.
222222

223-
For example, if you wanted to add support for a new [base component](/operate/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `Base` component class, which is defined in the [Viam Python SDK](https://github.com/viamrobotics/viam-python-sdk) in the following file:
223+
For example, if you wanted to add support for a new [base component](/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `Base` component class, which is defined in the [Viam Python SDK](https://github.com/viamrobotics/viam-python-sdk) in the following file:
224224

225225
<!-- prettier-ignore -->
226226
| Resource Model File | Description |
@@ -435,7 +435,7 @@ For more information on the base component API methods used in this example, see
435435

436436
First, inspect the built-in package provided by the resource API that you are extending.
437437

438-
For example, if you wanted to add support for a new [base component](/operate/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `base` component package, which is defined in the [Viam Go SDK](https://github.com/viamrobotics/rdk/) in the following file:
438+
For example, if you wanted to add support for a new [base component](/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `base` component package, which is defined in the [Viam Go SDK](https://github.com/viamrobotics/rdk/) in the following file:
439439

440440
<!-- prettier-ignore -->
441441
| Resource Model File | Description |
@@ -680,7 +680,7 @@ For more information on the base component API methods used in this example, see
680680
First, inspect the built-in class provided by the resource API that you are extending.
681681
In the C++ SDK, all built-in classes are abstract classes.
682682

683-
For example, if you wanted to add support for a new [base component](/operate/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `Base` component class, which is defined in the [Viam C++ SDK](https://cpp.viam.dev/) in the following files:
683+
For example, if you wanted to add support for a new [base component](/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `Base` component class, which is defined in the [Viam C++ SDK](https://cpp.viam.dev/) in the following files:
684684

685685
<!-- prettier-ignore -->
686686
| Resource Model File | Description |
@@ -1122,7 +1122,7 @@ Resource-level logs are recommended instead of global logs for modular resources
11221122
Resource-level error logs appear in the **Error logs** section of each resource's configuration card in the app.
11231123

11241124
{{% alert title="Note" color="note" %}}
1125-
In order to see resource-level debug logs when using your modular resource, you'll either need to run `viam-server` with the `-debug` option or [configure your machine or individual resource to display debug logs](/operate/reference/viam-server/#logging).
1125+
In order to see resource-level debug logs when using your modular resource, you'll either need to run `viam-server` with the `-debug` option or [configure your machine or individual resource to display debug logs](/reference/viam-server/#logging).
11261126
{{% /alert %}}
11271127

11281128
{{< expand "Click to see global logging" >}}
@@ -1638,7 +1638,7 @@ Add the module to your machine's config, then add the component or service it im
16381638
16391639
{{<imgproc src="/how-tos/sensor-module-config.png" resize="600x" style="width: 300px" alt="Configuring a local component after the local module is configured" class="shadow" >}}
16401640
1641-
1. Select the type of modular resource provided by your module, such as a [camera](/operate/reference/components/camera/), from the dropdown menu.
1641+
1. Select the type of modular resource provided by your module, such as a [camera](/reference/components/camera/), from the dropdown menu.
16421642
16431643
1. Enter a name for this instance of your modular resource.
16441644
This name must be different from the module name.

docs/hardware/multi-machine/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,4 @@ If the client goes silent (network loss, crashed process), `viam-server` automat
9494
A rover will not keep driving, an arm will not keep moving, and a gripper will not keep closing when the commanding process vanishes.
9595
This applies equally to local and remote resources.
9696

97-
For the lower-level details of how machines communicate, see [Machine-to-machine communication](/operate/reference/architecture/machine-to-machine-comms/).
97+
For the lower-level details of how machines communicate, see [Machine-to-machine communication](/hardware/multi-machine/overview/).

docs/monitor/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,5 +71,5 @@ This section covers tools for monitoring, operating, and debugging machines that
7171
| Configure components and services | [Configure hardware](/hardware/) |
7272
| Capture and sync data from sensors | [Manage data](/data/) |
7373
| Train and deploy ML models | [Train ML models](/train/) |
74-
| Build a custom web or mobile app with the SDKs | [Build apps](/operate/control/web-app/) |
74+
| Build a custom web or mobile app with the SDKs | [Build apps](/build-apps/overview/) |
7575
| Manage fleet deployment and provisioning | [Fleet deployment](/fleet/) |

docs/monitor/teleop-workspaces.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ For an explanation of widget types and capabilities, see [Data dashboards overvi
2020

2121
Your machine needs at least one camera, movement sensor, sensor, base, arm, board, gantry, gripper, motor, or servo.
2222

23-
See [configure a machine](/operate/modules/configure-modules/) for more information.
23+
See [configure a machine](/hardware/configure-hardware/) for more information.
2424

2525
{{% /expand%}}
2626

docs/monitor/troubleshoot.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,10 @@ If you are not seeing helpful logs, enable debug logging.
158158
]
159159
```
160160

161-
For more on log configuration, see [Logging](/operate/reference/viam-server/#logging).
161+
For more on log configuration, see [Logging](/reference/viam-server/#logging).
162162

163163
By default, `viam-server` deduplicates log messages that repeat within a one-minute window.
164-
To disable this, see [Disable log deduplication](/operate/reference/viam-server/).
164+
To disable this, see [Disable log deduplication](/reference/viam-server/).
165165

166166
#### Access logs from the command line
167167

@@ -220,7 +220,7 @@ This exposes endpoints for CPU profiling, memory allocation analysis, goroutine
220220

221221
The `/debug/graph` endpoint renders an SVG visualization of the machine's resource dependency graph.
222222

223-
For details, see [Debug Endpoints](/operate/reference/viam-server/debug-endpoints/).
223+
For details, see [Debug Endpoints](/reference/viam-server/).
224224

225225
## Diagnostics
226226

docs/navigation/how-to/drive-a-base.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ service instead. See
3535
configuring...**, wait for the motor's status badge to read **Ready**
3636
before attempting Quick move.
3737
- An SDK client connected to your machine. See
38-
[Create a web app](/operate/control/web-app/) or the language-specific
38+
[Create a web app](/build-apps/overview/) or the language-specific
3939
quickstart.
4040

4141
## Direct motion commands

docs/reference/apis/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ date: "2024-10-01"
2323

2424
Every Viam {{< glossary_tooltip term_id="resource" text="resource" >}} exposes an [application programming interface (API)](https://en.wikipedia.org/wiki/API) described through [protocol buffers](https://developers.google.com/protocol-buffers).
2525

26-
The API methods provided by the SDKs for each of these resource APIs wrap gRPC client requests to the machine when you execute your program, providing you a convenient interface for accessing information about and controlling the {{< glossary_tooltip term_id="resource" text="resources" >}} you have [configured](/operate/modules/configure-modules/) on your machine.
26+
The API methods provided by the SDKs for each of these resource APIs wrap gRPC client requests to the machine when you execute your program, providing you a convenient interface for accessing information about and controlling the {{< glossary_tooltip term_id="resource" text="resources" >}} you have [configured](/hardware/configure-hardware/) on your machine.
2727

2828
## Platform APIs
2929

docs/reference/apis/billing-client.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ The billing API supports the following methods:
2525
To use the billing client API, you need to instantiate a `ViamClient` and then instantiate a `BillingClient`.
2626

2727
You need an API key and API key ID with [Org owner permissions](/organization/rbac/#organization-settings-and-roles) to use the billing client API.
28-
To get an API key (and corresponding ID), use the [web UI](/operate/control/api-keys/#add-an-api-key)
28+
To get an API key (and corresponding ID), use the [web UI](/organization/access/#add-an-api-key)
2929
to the [Viam CLI](/cli/).
3030

3131
{{< tabs >}}
@@ -128,7 +128,7 @@ const billingClient = viamClient.billingClient;
128128
{{% /tab %}}
129129
{{% tab name="From within a Module" %}}
130130

131-
See [Use platform APIs from within a module](/operate/modules/advanced/platform-apis/).
131+
See [Use platform APIs from within a module](/build-modules/platform-apis/).
132132

133133
{{% /tab %}}
134134
{{< /tabs >}}

0 commit comments

Comments
 (0)