Skip to content

Commit 214a332

Browse files
Merge pull request #119 from diffo-dev/dev
dev
2 parents 8330bb5 + b78d8cb commit 214a332

84 files changed

Lines changed: 903 additions & 325 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.

.formatter.exs

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,46 @@
33
# SPDX-License-Identifier: MIT
44

55
# Used by "mix format"
6-
locals_without_parens = [
7-
id: 1,
6+
spark_locals_without_parens = [
7+
calculate: 1,
88
category: 1,
9-
is_enabled?: 1,
109
characteristic: 2,
11-
pick: 1,
12-
rename: 1,
13-
field: 3,
14-
expect: 1,
15-
relate: 1,
16-
guard: 1,
17-
customize: 1,
18-
order: 1,
19-
initial_states: 1,
20-
default_initial_state: 1,
21-
state_attribute: 1,
22-
transition: 1,
23-
compact: 1,
24-
label: 1
10+
characteristic: 3,
11+
constraints: 1,
12+
create: 1,
13+
create: 2,
14+
description: 1,
15+
feature: 1,
16+
feature: 2,
17+
id: 1,
18+
is_enabled?: 1,
19+
major_version: 1,
20+
minor_version: 1,
21+
name: 1,
22+
parties: 2,
23+
parties: 3,
24+
party: 2,
25+
party: 3,
26+
patch_version: 1,
27+
place: 2,
28+
place: 3,
29+
places: 2,
30+
places: 3,
31+
reference: 1,
32+
role: 2,
33+
role: 3,
34+
tmf_version: 1,
35+
type: 1,
36+
update: 1,
37+
update: 2
2538
]
2639

2740
[
2841
plugins: [Spark.Formatter],
2942
inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"],
30-
import_deps: [:ash],
31-
locals_without_parens: locals_without_parens,
43+
import_deps: [:ash, :ash_jason, :ash_neo4j, :ash_outstanding, :ash_state_machine],
44+
locals_without_parens: spark_locals_without_parens,
3245
export: [
33-
locals_without_parens: locals_without_parens
46+
locals_without_parens: spark_locals_without_parens
3447
]
3548
]

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@ diffo-*.tar
2727
.DS_Store
2828

2929
# Agent related
30-
.claude/*
30+
.claude/*
31+
CLAUDE.md

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,20 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline
1111

1212
<!-- changelog -->
1313

14+
## [v0.2.2](https://github.com/diffo-dev/diffo/compare/v0.2.1...v0.2.2) (2026-05-08)
15+
16+
## Notable Changes
17+
* Updated to ash_neo4j 0.5.0 with async test support
18+
* Igniter installer — `mix igniter.install diffo` now sets up Neo4j config, custom expressions, and Spark DSL formatter
19+
* Spark DSL formatter configured for all provider extensions; `mix format` enforced across the codebase
20+
* `usage-rules.md` added for AI coding assistant guidance when working with Diffo
21+
22+
## What's Changed
23+
* async tests by @matt-beanland in https://github.com/diffo-dev/diffo/pull/114
24+
* igniter by @matt-beanlanda in https://github.com/diffo-dev/diffo/pull/116
25+
* spark formatter by @matt-beanlanda in https://github.com/diffo-dev/diffo/pull/117
26+
* usage_rules by @matt-beanlanda in https://github.com/diffo-dev/diffo/pull/118
27+
1428
## [v0.2.1](https://github.com/diffo-dev/diffo/compare/v0.2.0...v0.2.1) (2026-05-06)
1529

1630
## Notable Changes

README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,25 @@ Diffo is especially suited for use in organisations with loosely coupled 'entity
3434

3535
## Installation
3636

37-
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
38-
by adding `diffo` to your list of dependencies in `mix.exs`:
37+
The recommended way to install Diffo is with [Igniter](https://hexdocs.pm/igniter):
38+
39+
```bash
40+
mix igniter.install diffo
41+
```
42+
43+
This will add the dependency, configure Neo4j (via `ash_neo4j`), register the custom expression, and set up the Spark formatter.
44+
45+
Alternatively, add `diffo` to your list of dependencies in `mix.exs` manually:
3946

4047
```elixir
4148
def deps do
4249
[
43-
{:diffo, "~> 0.1.6"}
50+
{:diffo, "~> 0.2.1"}
4451
]
4552
end
4653
```
4754

48-
You should need [Neo4j](https://github.com/neo4j/neo4j) available. We recommend the Neo4j Community 5 latest, available at [Neo4j Deploymnent Centre](https://neo4j.com/deployment-center/) which can be installed locally. You can also configure connection to a cloud based database service such as [Neo4j AuraDB](https://neo4j.com/product/auradb/).
55+
You will need [Neo4j](https://github.com/neo4j/neo4j) available. We recommend the Neo4j Community 5 latest, available at [Neo4j Deploymnent Centre](https://neo4j.com/deployment-center/) which can be installed locally. You can also configure connection to a cloud based database service such as [Neo4j AuraDB](https://neo4j.com/product/auradb/).
4956

5057
## Tutorial
5158

diffo.livemd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ SPDX-License-Identifier: MIT
99
```elixir
1010
Mix.install(
1111
[
12-
{:diffo, "~> 0.2.1"}
12+
{:diffo, "~> 0.2.2"}
1313
],
1414
consolidate_protocols: false
1515
)

lib/diffo/provider/assigner/assignment.ex

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,4 @@ defmodule Diffo.Provider.Assignment do
4242
inspect(struct)
4343
end
4444
end
45-
4645
end

lib/diffo/provider/components/entity.ex

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,5 +140,4 @@ defmodule Diffo.Provider.Entity do
140140
preparations do
141141
prepare build(sort: [id: :asc])
142142
end
143-
144143
end

lib/diffo/provider/components/entity_ref.ex

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,5 +121,4 @@ defmodule Diffo.Provider.EntityRef do
121121
preparations do
122122
prepare build(load: [:entity], sort: [created_at: :desc])
123123
end
124-
125124
end

lib/diffo/provider/components/event.ex

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,5 +153,4 @@ defmodule Diffo.Provider.Event do
153153
Diffo.Util.to_iso8601(record.created_at)
154154
)
155155
end
156-
157156
end

lib/diffo/provider/components/external_identifier.ex

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,5 +144,4 @@ defmodule Diffo.Provider.ExternalIdentifier do
144144
preparations do
145145
prepare build(load: [:owner], sort: [created_at: :desc])
146146
end
147-
148147
end

0 commit comments

Comments
 (0)