Skip to content

Commit 2509edc

Browse files
authored
v0.7.0 Rebuilding database access and a lot of internals (#725)
* updating depdendencies * more test coverage * migrating all non-ephemeral databse IDs to uuids, adding static feather icons instead of using javscript * removed "dashboard" UI, default to zones view * cleaning up docs and TODOs
1 parent bd239d1 commit 2509edc

File tree

373 files changed

+5767
-4880
lines changed

Some content is hidden

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

373 files changed

+5767
-4880
lines changed

AGENTS.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Repository Guidelines
2+
3+
## Project Structure & Module Organization
4+
5+
- `src/` contains the core Rust server and library code (DNS pipeline, web API/UI, datastore).
6+
- `src/tests/` holds integration/unit tests; `benches/` contains benchmarks.
7+
- `templates/` are Askama HTML templates; `static_files/` holds CSS/JS/images.
8+
- `docs/` is the mdBook source; configuration examples live in `goatns.example.json`,
9+
`zones.json`, and `hello.goat.json`.
10+
- Workspace crates include `goatns-macros/` and `goat-lib/`.
11+
12+
## Build, Test, and Development Commands
13+
14+
- `cargo build --release`: build the release binary.
15+
- `cargo test`: run the Rust test suite.
16+
- `just run`: run the server in dev mode (`cargo run -- server`).
17+
- `just check`: run the full quality gate (clippy, codespell, tests, doc checks).
18+
- `just doc` or `just book`: build rustdoc or serve the mdBook locally.
19+
- `just docker_build`: build the local container image.
20+
21+
`just clippy` needs to pass before you consider any task complete.
22+
23+
## Coding Style & Naming Conventions
24+
25+
- Rust formatting is enforced via `rustfmt` (4-space indentation, standard Rust style).
26+
- Linting uses `clippy` with strict settings; avoid `unwrap`/`expect` in production code.
27+
- Follow Rust naming conventions: `snake_case` for functions/modules, `CamelCase` for types.
28+
- Markdown formatting is checked with `deno fmt` via `just doc_check`.
29+
30+
## Testing Guidelines
31+
32+
- Tests live under `src/tests/` and are run with `cargo test`.
33+
- Match existing module-based test structure (e.g., `src/tests/cli.rs`, `src/tests/db.rs`).
34+
- Benchmarks are in `benches/` and can be run with `cargo bench` when needed.
35+
36+
## Commit & Pull Request Guidelines
37+
38+
- Recent commit subjects are short and lowercase (e.g., “checkpoint”, “more test coverage”);
39+
keep messages concise and descriptive.
40+
- PRs should include a clear summary, testing notes (commands run), and screenshots for UI
41+
changes. Link relevant issues when applicable.
42+
43+
## Security & Configuration Tips
44+
45+
- Secrets/config belong in local config files; use `goatns.example.json` as a template.
46+
- Review `SECURITY.md` before reporting or addressing vulnerabilities.

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## 0.7.0
4+
5+
Moving to sea-orm for all database access, cleaning up a LOT of the internals.
6+
37
## 0.4.0
48

59
Someone decided that axum-sessions was bad so I had to rewrite a heap of stuff. I cried. It wasn't

0 commit comments

Comments
 (0)