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
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,18 @@ All APIs are scoped by route:

## .NET SDK Quickstart

### .NET SDK Packages

- `MemNet.Client`: https://www.nuget.org/packages/MemNet.Client
- `MemNet.AgentMemory`: https://www.nuget.org/packages/MemNet.AgentMemory

Install:

```bash
dotnet add package MemNet.Client --prerelease
dotnet add package MemNet.AgentMemory --prerelease
```

### Low-level client (`MemNet.Client`)

```csharp
Expand Down
2 changes: 2 additions & 0 deletions docs/project/TASK_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@

### Quality and Release Readiness

- [x] Add NuGet package metadata/readmes for `MemNet.Client` and `MemNet.AgentMemory`
- [x] Add manual publish workflow for SDK packages to nuget.org
Comment on lines +31 to +32

Copilot AI Mar 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TASK_BOARD marks the manual publish workflow as completed, but this PR doesn’t include the referenced GitHub Actions workflow file (only .github/workflows/ci.yml exists in the repo). Either add .github/workflows/publish-sdk-packages.yml as described in the PR, or adjust this checklist item so it matches what’s actually being shipped.

Copilot uses AI. Check for mistakes.
- [-] Close Phase 17 after full validation run (`dotnet test` + smoke + docs sync)
- [-] Close Phase 18 after CI passes with framework tests and coverage reporting

Expand Down
36 changes: 36 additions & 0 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<Project>

<!-- Shared version: bump here before publishing SDK packages -->
<PropertyGroup>
<VersionPrefix>0.1.0</VersionPrefix>
<VersionSuffix>preview.1</VersionSuffix>
</PropertyGroup>

<!-- Source Link and deterministic builds -->
<PropertyGroup>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<ContinuousIntegrationBuild Condition="'$(GITHUB_ACTIONS)' == 'true'">true</ContinuousIntegrationBuild>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
</ItemGroup>

<!-- Shared NuGet package metadata (only applies to packable projects) -->
<PropertyGroup Condition="'$(IsPackable)' != 'false'">
<Authors>mem.net contributors</Authors>
<PackageProjectUrl>https://github.com/TianqiZhang/mem.net</PackageProjectUrl>
<RepositoryUrl>https://github.com/TianqiZhang/mem.net</RepositoryUrl>
<PackageTags>mem.net;memory;agent;sdk</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

<ItemGroup Condition="'$(IsPackable)' != 'false' and Exists('README.md')">
<None Update="README.md" Pack="true" PackagePath="/" />
</ItemGroup>

</Project>
13 changes: 2 additions & 11 deletions src/MemNet.AgentMemory/MemNet.AgentMemory.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,8 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
</ItemGroup>

<PropertyGroup>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageId>MemNet.AgentMemory</PackageId>
<Description>High-level file-first memory facade for mem.net agents on .NET.</Description>
</PropertyGroup>

</Project>
15 changes: 15 additions & 0 deletions src/MemNet.AgentMemory/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# MemNet.AgentMemory

`MemNet.AgentMemory` is the high-level agent-facing SDK built on `MemNet.Client`.

It provides a file-first tool facade for agent memory workflows:

- `memory_list_files`
- `memory_load_file`
- `memory_write_file`
- `memory_patch_file`
- `memory_recall`

Repository and full examples:

- https://github.com/TianqiZhang/mem.net
13 changes: 2 additions & 11 deletions src/MemNet.Client/MemNet.Client.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,8 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
</ItemGroup>

<PropertyGroup>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageId>MemNet.Client</PackageId>
<Description>Low-level .NET client for the mem.net memory service with deterministic file and event operations.</Description>
</PropertyGroup>

</Project>
14 changes: 14 additions & 0 deletions src/MemNet.Client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# MemNet.Client

`MemNet.Client` is the low-level .NET SDK for mem.net.

It provides explicit, deterministic access to:

- file list/load/write/patch operations
- context assembly
- event write/search
- ETag conflict-safe mutation flows

Repository and full examples:

- https://github.com/TianqiZhang/mem.net
12 changes: 1 addition & 11 deletions src/MemNet.MemoryService/MemNet.MemoryService.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,10 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseAppHost>false</UseAppHost>
<IsPackable>false</IsPackable>
<MemNetEnableAzureSdk>false</MemNetEnableAzureSdk>
</PropertyGroup>

<PropertyGroup>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>

<PropertyGroup Condition="'$(MemNetEnableAzureSdk)' == 'true'">
<DefineConstants>$(DefineConstants);MEMNET_ENABLE_AZURE_SDK</DefineConstants>
<OutputPath>bin/$(Configuration)/azure/</OutputPath>
Expand All @@ -31,8 +25,4 @@
<PackageReference Include="Retrievo" Version="0.3.0-preview.2" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
</ItemGroup>

</Project>
Loading