Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Shimmer-Labview-API

LabVIEW support for Shimmer devices. **This repo is mid-migration**, and that shapes almost every
decision in it.

## The migration

LabVIEW support is moving onto a **new wrapper built over the core C# API** (`Shimmer-C-API`). The
old LabVIEW API is being retired and existing users have to migrate onto the wrapper.

The stated reason, from `Readme.md`: the C# API is widely used across research, industry and Shimmer's
own internal tools, so it is the most heavily developed and tested. Aligning LabVIEW to it gives
consistent behaviour and faster fixes rather than a second parallel implementation to maintain.

**The practical consequence:** this is a wrapper, not an implementation. A parsing, protocol,
calibration or timestamp fix belongs in `Shimmer-C-API` — fix it there and it reaches LabVIEW users
through the bridge. Reimplementing that logic here would recreate exactly the divergence the
migration exists to remove.

```
ShimmerLabviewC#Wrapper/ ShimmerBridge.cs, ShimmerLVWrapper.sln/.csproj — the C# bridge
ShimmerLabview/ Bin/, Examples/ — the LabVIEW side
```

The wrapper uses `packages.config`-style NuGet, so restore behaves differently from the
`PackageReference` projects elsewhere in `C:\dev\csharp\`.

## Before changing anything here

Check whether the change belongs in `Shimmer-C-API` instead. If it does, make it there; if it is
genuinely bridge-specific — marshalling, LabVIEW type mapping, the VI surface — it belongs here.
Say which you concluded and why, because the answer is not obvious from inside this repo.

Anything documenting the *old* LabVIEW API is being retired: prefer updating the wrapper's story over
extending the legacy one.
18 changes: 18 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@AGENTS.md

<!--
This file exists only so Claude Code picks up AGENTS.md.

Recent Claude Code versions read AGENTS.md directly, but only when no CLAUDE.md
is present at or above the working directory — and support is unavailable on
older versions, on third-party providers such as Amazon Bedrock, and with
telemetry or hooks disabled. This one-line import makes AGENTS.md reach every
session regardless: https://code.claude.com/docs/en/memory

Put shared agent instructions in AGENTS.md — the vendor-neutral convention that
Cursor, Copilot, Codex and others read directly. Only genuinely Claude-specific
instructions belong in this file, below the import.

A symlink would also work, but creating one on Windows needs Administrator
privileges or Developer Mode, so the import is the portable choice for this team.
-->