Skip to content

Commit 8541fcd

Browse files
committed
WIP
1 parent 611e76c commit 8541fcd

8 files changed

Lines changed: 26 additions & 144 deletions

File tree

.editorconfig

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,12 @@ indent_size = 4
88
insert_final_newline = true
99
trim_trailing_whitespace = true
1010

11-
[*.zig]
11+
[*.{zig,py}]
1212
max_line_length = 100
1313

1414
[*.md]
15-
max_line_length = 120
15+
max_line_length = 150
1616
trim_trailing_whitespace = false
1717

18-
[*.sh]
18+
[*.{yml,yaml,json}]
1919
indent_size = 2
20-
21-
[*.{yml,yaml}]
22-
indent_size = 2
23-
24-
[*.py]
25-
max_line_length = 100

.github/workflows/lints.yml

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

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,5 @@ docs/api/
104104
*.dll
105105
*.exe
106106
latest
107+
.claude/
108+
.codex

AGENTS.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -86,22 +86,23 @@ Please do not add dependencies without prior discussion.
8686

8787
- Zig version: 0.16.0 (as declared in `build.zig.zon` and the Makefile's `ZIG_LOCAL` path).
8888
- Formatting is enforced by `zig fmt`. Run `make format` before committing.
89-
- Naming follows Zig standard-library conventions: `camelCase` for functions (e.g. `getPtr`, `keysWithPrefix`), `snake_case` for local variables and struct fields, `PascalCase` for types and structs, and `SCREAMING_SNAKE_CASE` for top-level compile-time constants.
89+
- Naming follows Zig standard-library conventions: `camelCase` for functions (e.g. `getPtr`, `keysWithPrefix`), `snake_case` for local variables and
90+
struct fields, `PascalCase` for types and structs, and `SCREAMING_SNAKE_CASE` for top-level compile-time constants.
9091

9192
## Required Validation
9293

9394
Run the relevant targets for any change:
9495

95-
| Target | Command | What It Runs |
96-
|-----------------|--------------------------------------|------------------------------------------------------------------|
97-
| Unit tests | `make test` | Inline `test` blocks across `src/lib.zig` and `src/ordered/*.zig` |
98-
| Lint | `make lint` | Checks Zig formatting with `zig fmt --check src examples` |
99-
| Single example | `make run EXAMPLE=e1_btree_map` | Builds and runs one example program |
100-
| All examples | `make run` | Builds and runs every example under `examples/` |
101-
| Single benchmark| `make bench BENCHMARK=b1_btree_map` | Builds (ReleaseFast) and runs one benchmark program |
102-
| All benchmarks | `make bench` | Builds and runs every benchmark under `benches/` |
103-
| Docs | `make docs` | Generates API docs into `docs/api` |
104-
| Everything | `make all` | Runs `build`, `test`, `lint`, and `docs` |
96+
| Target | Command | What It Runs |
97+
|------------------|-------------------------------------|-------------------------------------------------------------------|
98+
| Unit tests | `make test` | Inline `test` blocks across `src/lib.zig` and `src/ordered/*.zig` |
99+
| Lint | `make lint` | Checks Zig formatting with `zig fmt --check src examples` |
100+
| Single example | `make run EXAMPLE=e1_btree_map` | Builds and runs one example program |
101+
| All examples | `make run` | Builds and runs every example under `examples/` |
102+
| Single benchmark | `make bench BENCHMARK=b1_btree_map` | Builds (ReleaseFast) and runs one benchmark program |
103+
| All benchmarks | `make bench` | Builds and runs every benchmark under `benches/` |
104+
| Docs | `make docs` | Generates API docs into `docs/api` |
105+
| Everything | `make all` | Runs `build`, `test`, `lint`, and `docs` |
105106

106107
## First Contribution Flow
107108

@@ -120,9 +121,12 @@ Good first tasks:
120121

121122
## Testing Expectations
122123

123-
- Unit and regression tests live as inline `test` blocks in the module they cover (`src/lib.zig` and `src/ordered/*.zig`). There is no separate `tests/` directory.
124-
- Tests are discovered automatically via `std.testing.refAllDecls(@This())` in `src/lib.zig`, so new `test` blocks only need to live in a module that is reachable from `lib.zig`.
125-
- Every new public function or container branch must ship with at least one `test` block that exercises it, including the error paths where applicable.
124+
- Unit and regression tests live as inline `test` blocks in the module they cover (`src/lib.zig` and `src/ordered/*.zig`). There is no separate
125+
`tests/` directory.
126+
- Tests are discovered automatically via `std.testing.refAllDecls(@This())` in `src/lib.zig`, so new `test` blocks only need to live in a module that
127+
is reachable from `lib.zig`.
128+
- Every new public function or container branch must ship with at least one `test` block that exercises it, including the error paths where
129+
applicable.
126130
- Memory tests should use `std.testing.allocator` so leaks are caught automatically.
127131
- No public API change is complete without a test covering the new or changed behavior.
128132

AI_USAGE_POLICY.md

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

CONTRIBUTING.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ would like to work on or if it has already been resolved.
2828
2929
### Development Workflow
3030

31+
> [!IMPORTANT]
32+
> If you're using an AI-assisted coding tool like Claude Code or Codex, make sure the AI follows the instructions in the [AGENTS.md](AGENTS.md) file.
33+
3134
#### Prerequisites
3235

3336
Install GNU Make on your system if it's not already installed.

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
[![Tests](https://img.shields.io/github/actions/workflow/status/CogitatorTech/ordered/tests.yml?label=tests&style=flat&labelColor=282c34&logo=github)](https://github.com/CogitatorTech/ordered/actions/workflows/tests.yml)
1010
[![Benchmarks](https://img.shields.io/github/actions/workflow/status/CogitatorTech/ordered/benches.yml?label=benchmarks&style=flat&labelColor=282c34&logo=github)](https://github.com/CogitatorTech/ordered/actions/workflows/benches.yml)
11-
[![CodeFactor](https://img.shields.io/codefactor/grade/github/CogitatorTech/ordered?label=quality&style=flat&labelColor=282c34&logo=codefactor)](https://www.codefactor.io/repository/github/CogitatorTech/ordered)
1211
[![Zig Version](https://img.shields.io/badge/Zig-0.16.0-orange?logo=zig&labelColor=282c34)](https://ziglang.org/download/)
1312
[![Release](https://img.shields.io/github/release/CogitatorTech/ordered.svg?label=release&style=flat&labelColor=282c34&logo=github)](https://github.com/CogitatorTech/ordered/releases/latest)
1413
<br>

pyproject.toml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,3 @@ dependencies = [
88
"python-dotenv (>=1.1.0,<2.0.0)",
99
"pre-commit (>=4.2.0,<5.0.0)"
1010
]
11-
12-
[project.optional-dependencies]
13-
dev = [
14-
"pytest (>=8.0.1,<9.0.0)",
15-
"pytest-cov (>=6.0.0,<7.0.0)",
16-
"pytest-mock (>=3.14.0,<4.0.0)",
17-
"pytest-asyncio (>=0.26.0,<0.27.0)",
18-
"mypy (>=1.11.1,<2.0.0)",
19-
"ruff (>=0.9.3,<1.0.0)",
20-
"icecream (>=2.1.4,<3.0.0)"
21-
]

0 commit comments

Comments
 (0)