Skip to content

Commit e13df5c

Browse files
Merge pull request #31 from TimeWarpEngineering/Cramer/2026-06-30/dev
chore: TimeWarp standards, TW#### diagnostics, modern CI
2 parents c8b28a4 + 5d959c1 commit e13df5c

48 files changed

Lines changed: 1578 additions & 469 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.

.editorconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,8 +274,8 @@ dotnet_naming_style.local_function_style.capitalization = pascal_case
274274

275275
# dotnet_diagnostic options
276276
dotnet_diagnostic.CS1591.severity = none
277-
dotnet_diagnostic.TWA001.severity = none # Set to warning/error to enforce kebab-case file naming
278-
dotnet_diagnostic.TWA001.excluded_files = *.g.cs;*.Generated.cs;*.generated.cs;*.designer.cs;*.Designer.cs;*.razor.cs;Directory.Build.props;Directory.Build.targets;Directory.Packages.props;AssemblyInfo.cs;*.AssemblyAttributes.cs;AnalyzerReleases.Shipped.md;AnalyzerReleases.Unshipped.md
277+
dotnet_diagnostic.TW0001.severity = none # Set to warning/error to enforce kebab-case file naming
278+
dotnet_diagnostic.TW0001.excluded_files = *.g.cs;*.Generated.cs;*.generated.cs;*.designer.cs;*.Designer.cs;*.razor.cs;Directory.Build.props;Directory.Build.targets;Directory.Packages.props;AssemblyInfo.cs;*.AssemblyAttributes.cs;AnalyzerReleases.Shipped.md;AnalyzerReleases.Unshipped.md
279279

280280
#### Analyzer settings ####
281281
dotnet_code_quality.null_check_validation_methods = NotNull

.envrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
PATH_add bin

.githooks/post-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post-commit.cs

.githooks/post-commit.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env -S dotnet --
2+
#:package TimeWarp.Amuru
3+
#:package TimeWarp.Amuru.Tools
4+
#:property NoWarn=CA2007
5+
6+
using TimeWarp.Amuru;
7+
8+
string? root = Git.FindRoot();
9+
if (root is null)
10+
{
11+
return 0;
12+
}
13+
14+
await Shell.Builder("ganda")
15+
.WithArguments("memsearch", "index-repo", "--background")
16+
.WithWorkingDirectory(root)
17+
.WithNoValidation()
18+
.RunAsync();
19+
return 0;

.githooks/post-merge

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post-merge.cs

.githooks/post-merge.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env -S dotnet --
2+
#:package TimeWarp.Amuru
3+
#:package TimeWarp.Amuru.Tools
4+
#:property NoWarn=CA2007
5+
6+
using TimeWarp.Amuru;
7+
8+
string? root = Git.FindRoot();
9+
if (root is null)
10+
{
11+
return 0;
12+
}
13+
14+
await Shell.Builder("ganda")
15+
.WithArguments("memsearch", "index-repo", "--background")
16+
.WithWorkingDirectory(root)
17+
.WithNoValidation()
18+
.RunAsync();
19+
return 0;

.github/workflows/ci-cd.yml

Lines changed: 0 additions & 105 deletions
This file was deleted.

.github/workflows/workflow.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: CI/CD
2+
3+
on:
4+
push:
5+
branches: [master]
6+
paths:
7+
- 'source/**'
8+
- 'tests/**'
9+
- 'tools/**'
10+
- 'msbuild/**'
11+
- '.github/workflows/**'
12+
- 'Directory.Build.props'
13+
- 'Directory.Packages.props'
14+
- 'source/Directory.Build.props'
15+
- 'nuget.config'
16+
pull_request:
17+
branches: [master]
18+
paths:
19+
- 'source/**'
20+
- 'tests/**'
21+
- 'tools/**'
22+
- 'msbuild/**'
23+
- '.github/workflows/**'
24+
- 'Directory.Build.props'
25+
- 'Directory.Packages.props'
26+
- 'source/Directory.Build.props'
27+
- 'nuget.config'
28+
release:
29+
types: [published]
30+
workflow_dispatch:
31+
32+
jobs:
33+
ci:
34+
runs-on: ubuntu-latest
35+
permissions:
36+
contents: read
37+
id-token: write
38+
steps:
39+
- uses: actions/checkout@v4
40+
with:
41+
fetch-depth: 0
42+
- uses: actions/setup-dotnet@v4
43+
with:
44+
dotnet-version: '10.0.x'
45+
- name: NuGet login (OIDC Trusted Publishing)
46+
if: github.event_name == 'release'
47+
id: nuget-login
48+
uses: nuget/login@v1
49+
with:
50+
user: TimeWarp.Enterprises
51+
- name: Run CI Pipeline
52+
run: |
53+
if [ "${{ github.event_name }}" == "release" ]; then
54+
dotnet run --file tools/dev-cli/dev.cs -- workflow --api-key "${{ steps.nuget-login.outputs.NUGET_API_KEY }}"
55+
else
56+
dotnet run --file tools/dev-cli/dev.cs -- workflow
57+
fi
58+
- name: Upload Artifacts
59+
if: always()
60+
uses: actions/upload-artifact@v4
61+
with:
62+
name: Packages-${{ github.run_number }}
63+
path: artifacts/packages/*.nupkg
64+
if-no-files-found: ignore

.memsearch.toml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# MemSearch repo knowledge index — TimeWarp convention
2+
#
3+
# SPEC (proposed extension)
4+
# -------------------------
5+
# memsearch's stock CLI ignores [index]; this file is honored by:
6+
# ganda memsearch index-repo
7+
# ganda hooks install memsearch (post-commit / post-merge runfiles)
8+
#
9+
# Purpose: index markdown knowledge in THIS repo only. One Milvus collection
10+
# per repo (auto-derived from repo path). Global DB file stays at
11+
# ~/.memsearch/milvus.db unless [milvus].uri is overridden below.
12+
#
13+
# [index].paths
14+
# Directory roots (relative to repo root). memsearch indexes all .md files
15+
# under each path recursively. Missing paths are skipped.
16+
#
17+
# [index].exclude_paths
18+
# Directory paths removed from the resolved path list before indexing.
19+
# Does not prune subdirectories when a parent path (e.g. "kanban/") is listed.
20+
#
21+
# [index].exclude_globs
22+
# Reserved — file-level globs (e.g. "**/task-template.md"). Not implemented in v1.
23+
#
24+
# [index].enabled
25+
# false disables hook indexing (conversation plugins still work).
26+
#
27+
# [milvus].collection
28+
# Empty = auto-derive ms_<repo-basename>_<8char_sha256> from repo root.
29+
#
30+
# Search this repo only:
31+
# memsearch search "query" -c <collection> --source-prefix "$(pwd)/kanban/"
32+
33+
[index]
34+
enabled = true
35+
paths = [
36+
"kanban",
37+
"documentation",
38+
"okf",
39+
"adr",
40+
".memsearch/memory",
41+
]
42+
exclude_paths = []
43+
exclude_globs = [
44+
"**/task-template.md",
45+
"**/overview.md",
46+
]
47+
48+
[milvus]
49+
# uri = ".memsearch/milvus.db" # optional per-repo DB file
50+
collection = ""

.vscode/settings.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,7 @@
2424
"buildtransitive",
2525
"contentfiles",
2626
"nugets"
27-
]
28-
}
27+
],
28+
"window.title": "timewarp-source-generators · ${rootName}${separator}${activeEditorShort}",
29+
"timewarp.blurImagePath": "assets/timewarp-source-generators-avatar.svg"
30+
}

0 commit comments

Comments
 (0)