{
"name": "memoir-core",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"projectType": "library",
"sourceRoot": "packages/memoir-core/src",
"targets": {
"cargo": {
"command": "cargo",
"options": {
"cwd": "{projectRoot}"
}
},
"build": {
"executor": "nx:run-commands",
"options": {
"cwd": "{projectRoot}",
"command": "cargo build --release"
},
"cache": true,
"inputs": ["{projectRoot}/src/**/*.rs", "{projectRoot}/Cargo.toml"],
"outputs": ["{projectRoot}/target/release"]
},
"typecheck": {
"command": "cd {projectRoot} && cargo check",
"cache": true,
"inputs": ["{projectRoot}/src/**/*.rs", "{projectRoot}/Cargo.toml"]
},
"test": {
"executor": "nx:run-commands",
"options": {
"cwd": "{projectRoot}",
"commands": ["cargo test"]
}
},
"test:integration": {
"executor": "nx:run-commands",
"options": {
"cwd": "{projectRoot}",
"commands": ["cargo test --release --features integration,knowledge-graph -- --test-threads 1 --nocapture"],
"env": {
"DATABASE_URL": "postgres://postgres:postgres@localhost:54321/memoir_service_test",
"QDRANT_URL": "http://localhost:6334",
"OLLAMA_URL": "http://localhost:11434",
"OLLAMA_MODEL": "qwen3:14b"
}
},
"cache": true,
"inputs": ["{projectRoot}/src/**/*.rs", "{projectRoot}/tests/**/*.rs"]
},
"bench": {
"executor": "nx:run-commands",
"options": {
"cwd": "{projectRoot}",
"commands": ["cargo bench"]
},
"inputs": ["{projectRoot}/src/**/*.rs", "{projectRoot}/benches/**/*.rs"],
"outputs": ["{projectRoot}/benches/results"]
},
"migrate:up": {
"executor": "nx:run-commands",
"options": {
"cwd": "{projectRoot}",
"command": "cargo run --bin memoir_core_migrate -- up",
"envFile": "{projectRoot}/.env"
},
"inputs": ["{projectRoot}/src/migration/**/*.rs"]
},
"migrate:down": {
"executor": "nx:run-commands",
"options": {
"cwd": "{projectRoot}",
"command": "cargo run --bin memoir_core_migrate -- down",
"envFile": "{projectRoot}/.env"
},
"inputs": ["{projectRoot}/src/migration/**/*.rs"]
},
"migrate:fresh": {
"executor": "nx:run-commands",
"options": {
"cwd": "{projectRoot}",
"command": "cargo run --bin memoir_core_migrate -- fresh",
"envFile": "{projectRoot}/.env"
},
"inputs": ["{projectRoot}/src/migration/**/*.rs"]
},
"gen:entities": {
"executor": "nx:run-commands",
"options": {
"cwd": "{projectRoot}",
"command": "sea generate entity --with-serde both --enum-extra-derives 'strum::Display,strum::EnumString' --output-dir ./src/models/_entity",
"envFile": "{projectRoot}/.env"
},
"inputs": ["{projectRoot}/src/migration/**/*.rs"],
"outputs": ["{projectRoot}/src/models/**/*.rs"]
}
},
"tags": ["scope:shared", "type:lib", "lang:rust"]
}