diff --git a/.gitignore b/.gitignore
index 2509316..280bdea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,9 @@
.vscode
.dart_tool/
.idea
+.nvimrc
pubspec_overrides.yaml
melos_dartseid.iml
.DS_Store
+.fvm
+.nvim.lua
diff --git a/.nvim.lua b/.nvim.lua
new file mode 100644
index 0000000..ebe4aff
--- /dev/null
+++ b/.nvim.lua
@@ -0,0 +1,2 @@
+vim.opt.tabstop = 2
+vim.opt.shiftwidth = 2
diff --git a/melos.yaml b/melos.yaml
index a127d57..75667fa 100644
--- a/melos.yaml
+++ b/melos.yaml
@@ -7,4 +7,16 @@ packages:
scripts:
analyze:
run: dart analyze
+
+ format:
+ exec: dart format lib
+ test:
+ exec: dart test
+ packageFilters:
+ scope: '*'
+
+ testArcadeOrm:
+ exec: dart test --reporter=expanded --chain-stack-traces
+ packageFilters:
+ scope: arcade_orm
diff --git a/melos_arcade.iml b/melos_arcade.iml
index 097e074..257c87f 100644
--- a/melos_arcade.iml
+++ b/melos_arcade.iml
@@ -24,4 +24,4 @@
-
\ No newline at end of file
+
diff --git a/packages/arcade/.gitignore b/packages/arcade/.gitignore
index f0c1008..344541d 100644
--- a/packages/arcade/.gitignore
+++ b/packages/arcade/.gitignore
@@ -8,5 +8,6 @@ pubspec.lock
.idea/
+melos_arcade.iml
# Generated files in example
example/**/*.g.dart
diff --git a/packages/arcade/melos_arcade.iml b/packages/arcade/melos_arcade.iml
deleted file mode 100644
index 389d07a..0000000
--- a/packages/arcade/melos_arcade.iml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/arcade_orm/.gitignore b/packages/arcade_orm/.gitignore
new file mode 100644
index 0000000..ad54996
--- /dev/null
+++ b/packages/arcade_orm/.gitignore
@@ -0,0 +1,9 @@
+# https://dart.dev/guides/libraries/private-files
+# Created by `dart pub`
+.dart_tool/
+
+# Avoid committing pubspec.lock for library packages; see
+# https://dart.dev/guides/libraries/private-files#pubspeclock.
+pubspec.lock
+
+melos_arcade_orm.iml
diff --git a/packages/arcade_orm/CHANGELOG.md b/packages/arcade_orm/CHANGELOG.md
new file mode 100644
index 0000000..effe43c
--- /dev/null
+++ b/packages/arcade_orm/CHANGELOG.md
@@ -0,0 +1,3 @@
+## 1.0.0
+
+- Initial version.
diff --git a/packages/arcade_orm/README.md b/packages/arcade_orm/README.md
new file mode 100644
index 0000000..8b55e73
--- /dev/null
+++ b/packages/arcade_orm/README.md
@@ -0,0 +1,39 @@
+
+
+TODO: Put a short description of the package here that helps potential users
+know whether this package might be useful for them.
+
+## Features
+
+TODO: List what your package can do. Maybe include images, gifs, or videos.
+
+## Getting started
+
+TODO: List prerequisites and provide or point to information on how to
+start using the package.
+
+## Usage
+
+TODO: Include short and useful examples for package users. Add longer examples
+to `/example` folder.
+
+```dart
+const like = 'sample';
+```
+
+## Additional information
+
+TODO: Tell users more about the package: where to find more information, how to
+contribute to the package, how to file issues, what response they can expect
+from the package authors, and more.
diff --git a/packages/arcade_orm/analysis_options.yaml b/packages/arcade_orm/analysis_options.yaml
new file mode 100644
index 0000000..55309e9
--- /dev/null
+++ b/packages/arcade_orm/analysis_options.yaml
@@ -0,0 +1 @@
+include: package:lint/analysis_options.yaml
diff --git a/packages/arcade_orm/example/api/basic.dart b/packages/arcade_orm/example/api/basic.dart
new file mode 100644
index 0000000..73c887c
--- /dev/null
+++ b/packages/arcade_orm/example/api/basic.dart
@@ -0,0 +1,208 @@
+import 'dart:async';
+
+import 'package:arcade_orm/arcade_orm.dart';
+import 'package:arcade_orm/src/query/include.dart';
+import 'package:arcade_orm/src/query/mixins/sort.dart';
+import 'package:arcade_orm/src/query/select.dart';
+import 'package:arcade_orm/src/query/where.dart';
+
+typedef OptionsRecord = ({String? name, String? host, int? port});
+
+class ArcadeOrmMockAdapter
+ implements ArcadeOrmAdapterBase {
+ @override
+ late ArcadeOrm orm;
+ @override
+ final OptionsRecord? options;
+
+ @override
+ final String connection;
+
+ ArcadeOrmMockAdapter({
+ required this.connection,
+ this.options,
+ });
+
+ @override
+ Future init() {
+ // TODO: implement init
+ throw UnimplementedError();
+ }
+
+ @override
+ ArcadeOrmTransaction transaction() {
+ // TODO: implement transaction
+ throw UnimplementedError();
+ }
+
+ @override
+ void setArcadeOrmInstance(ArcadeOrm orm) {
+ this.orm = orm;
+ }
+
+ @override
+ FutureOr close() {
+ // TODO: implement close
+ throw UnimplementedError();
+ }
+
+ @override
+ Future