A progressive Node.js framework for building efficient and scalable server-side applications.
Nest framework TypeScript starter repository.
The openapi.json is auto-generated when you run npm run start:dev.
Make sure to commit changes when you modify routes/DTOs.
# Install dependencies
$ npm install
# Fill out .env file (GEMINI_API_KEY is required)
$ cp .env.example .env
# Make sure Docker is running
$ docker info# Run app in container (easiest)
$ npm run start:docker
# Run app on host (development)
$ npm run infra:dev:up && npm run prisma:dev:deploy && npm run start:dev
# When done developing for the day (preserves data):
$ npm run infra:dev:stop
# Resume development with existing data:
$ npm run infra:dev:start && npm run start:dev
# Full reset (destroys all data):
$ npm run infra:dev:reset# unit tests
$ npm run test
# e2e tests (.env.test file must be present)
$ npm run test:e2e
# test coverage
$ npm run test:covThe anti-flaky test runner executes unit tests once, then runs e2e tests repeatedly to detect intermittent failures and race conditions. Useful for validating test reliability after infrastructure changes.
# Run with default 15 iterations
$ ./anti-flaky-test.sh
# Run with custom iteration count
$ ./anti-flaky-test.sh 30The runner will exit immediately on first failure and display the failing test output. Test infrastructure is set up once and torn down automatically on completion or interruption.
- Neo4j for VS Code — Cypher syntax highlighting, linting, autocompletion, and query execution. Install via VS Code Quick Open (
Ctrl+P):All Cypher queries in this codebase are tagged withext install neo4j-extensions.neo4j-for-vscode/* cypher */(template literals) or/*cypher*/(single-line strings) to enable embedded syntax highlighting directly in TypeScript files.
Check out a few resources that may come in handy when working with NestJS:
- Visit the NestJS Documentation to learn more about the framework.
- For questions and support, please visit our Discord channel.
- To dive deeper and get more hands-on experience, check out our official video courses.
- Deploy your application to AWS with the help of NestJS Mau in just a few clicks.
- Visualize your application graph and interact with the NestJS application in real-time using NestJS Devtools.
- Need help with your project (part-time to full-time)? Check out our official enterprise support.
- To stay in the loop and get updates, follow us on X and LinkedIn.
- Looking for a job, or have a job to offer? Check out our official Jobs board.
The knowledge graph pipeline in this project is a TypeScript port of Graphiti by Zep AI, adapted for this codebase for the following reasons:
- Graphiti couples tightly to specific providers. This port integrates with LangChain so any supported model can be swapped in without changing pipeline code.
- Graphiti maintains provider abstractions for its graph layer. Since Neo4j is a first-class dependency here, those abstractions are unnecessary and have been replaced with direct Cypher and Neo4j GDS calls (e.g. Leiden community detection via
gds.leiden.stream). - RememberNow is privacy-focused software. Depending on upstream code that cannot be audited, patched, or controlled introduces risk.
- I am working on a Graph Versioning system to prevent data loss due to agent misbehavior.
RememberNow is licensed under Apache-2.0.