summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/cli/package.json5
-rw-r--r--packages/cli/src/gemini.ts4
-rw-r--r--packages/cli/tsconfig.json14
-rw-r--r--packages/server/README.md6
-rw-r--r--packages/server/package.json24
-rw-r--r--packages/server/src/index.ts3
-rw-r--r--packages/server/tsconfig.json13
7 files changed, 63 insertions, 6 deletions
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 053aeabc..248dd9e3 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,9 +1,9 @@
{
- "name": "@google/gemini-code",
+ "name": "@gemini-code/cli",
"version": "1.0.0",
"description": "Gemini Code CLI",
"type": "module",
- "main": "gemini.js",
+ "main": "src/gemini.js",
"scripts": {
"build": "tsc && cp package.json README.md ../../LICENSE dist/ && touch dist/.last_build",
"start": "node dist/gemini.js",
@@ -16,6 +16,7 @@
],
"dependencies": {
"@google/genai": "^0.8.0",
+ "@gemini-code/server": "1.0.0",
"diff": "^7.0.0",
"dotenv": "^16.4.7",
"fast-glob": "^3.3.3",
diff --git a/packages/cli/src/gemini.ts b/packages/cli/src/gemini.ts
index f6de65c3..6c4fe3ae 100644
--- a/packages/cli/src/gemini.ts
+++ b/packages/cli/src/gemini.ts
@@ -12,6 +12,10 @@ import { WriteFileTool } from './tools/write-file.tool.js';
import { WebFetchTool } from './tools/web-fetch.tool.js';
import { globalConfig } from './config/config.js';
+// TODO(b/411707095): remove. left here as an example of how to pull in inter-package deps
+import { helloServer } from '@gemini-code/server'
+helloServer();
+
async function main() {
// Configure tools
registerTools(globalConfig.getTargetDir());
diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json
index 0ef2b74f..1571716d 100644
--- a/packages/cli/tsconfig.json
+++ b/packages/cli/tsconfig.json
@@ -1,13 +1,19 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
- "outDir": "./dist",
- "rootDir": "./src",
+ "outDir": "dist",
+ "rootDir": ".",
"jsx": "react",
"lib": ["DOM", "DOM.Iterable", "ES2020"],
"module": "Node16",
- "target": "ES2020"
+ "target": "ES2020",
+ "paths": {
+ "@gemini-code/*": ["./packages/*"]
+ }
},
"exclude": ["node_modules", "dist"],
- "include": ["src"]
+ "include": ["src"],
+ "references": [
+ { "path": "../server" },
+ ]
}
diff --git a/packages/server/README.md b/packages/server/README.md
new file mode 100644
index 00000000..6e962f2a
--- /dev/null
+++ b/packages/server/README.md
@@ -0,0 +1,6 @@
+Nested package template. Either fill this out with "backend" functionality or create similar packages that you want built separate from the CLI.
+
+To use this package from another dependent package in this monorepo:
+
+1. add `"@gemini-code/server"` to the dependent package's `package.json`
+1. import in a dependenant by calling `import { } from "@gemini-code/server"`
diff --git a/packages/server/package.json b/packages/server/package.json
new file mode 100644
index 00000000..4e227105
--- /dev/null
+++ b/packages/server/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "@gemini-code/server",
+ "version": "1.0.0",
+ "description": "Gemini Code Server",
+ "type": "module",
+ "main": "src/index.js",
+ "scripts": {
+ "build": "tsc && cp package.json dist/",
+ "clean": "rm -rf dist",
+ "lint": "eslint . --ext .ts,.tsx",
+ "format": "prettier --write ."
+ },
+ "files": [
+ "dist"
+ ],
+ "dependencies": {},
+ "devDependencies": {
+ "typescript": "^5.3.3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ }
+ \ No newline at end of file
diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts
new file mode 100644
index 00000000..16b131d8
--- /dev/null
+++ b/packages/server/src/index.ts
@@ -0,0 +1,3 @@
+export function helloServer() {
+ // TODO: add more things in this package
+} \ No newline at end of file
diff --git a/packages/server/tsconfig.json b/packages/server/tsconfig.json
new file mode 100644
index 00000000..addfdb11
--- /dev/null
+++ b/packages/server/tsconfig.json
@@ -0,0 +1,13 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "dist",
+ "rootDir": ".",
+ "lib": ["DOM", "DOM.Iterable", "ES2020"],
+ "module": "Node16",
+ "target": "ES2022",
+ "composite": true,
+ },
+ "exclude": ["node_modules", "dist"],
+}
+ \ No newline at end of file