diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..1ffbf7e --- /dev/null +++ b/.env.example @@ -0,0 +1,3 @@ +# Example placeholders only +GOBLIN_ENV=DEV +API_BASE_URL=http://localhost:4000 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..75a12d1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,15 @@ +name: CI (developer console pilot) +on: + pull_request: + push: + branches: [ main ] +jobs: + smoke: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Check required files exist + run: | + test -f README.md + test -f docs/OVERVIEW.md + test -f ops/RUNBOOK.md diff --git a/.gitignore b/.gitignore index 9a5aced..f62264b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,139 +1,18 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories +# Node / web node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz +dist/ +build/ -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files +# Env .env .env.* -!.env.example - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Sveltekit cache directory -.svelte-kit/ - -# vitepress build output -**/.vitepress/dist - -# vitepress cache directory -**/.vitepress/cache -# Docusaurus cache and generated files -.docusaurus +# OS / editors +.DS_Store +.idea/ +.vscode/ -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# Firebase cache directory -.firebase/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v3 -.pnp.* -.yarn/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/sdks -!.yarn/versions - -# Vite logs files -vite.config.js.timestamp-* -vite.config.ts.timestamp-* +# Logs +*.log +logs/ +coverage/ diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..691fdf0 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,2 @@ +* @gapview01 + diff --git a/README.md b/README.md index 7d29141..b73877c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ -# goblin-developer-console -Goblin Developer Console — the control panel for builders. A minimal pilot for developers to create and manage Goblin bots, access APIs/SDKs, and view logs. +# Goblin Developer Console +The control panel for builders. + +This is the **developer-facing app** for the Goblin ecosystem. +Day-1 is a minimal pilot: +- simple scaffolding +- fake data +- runs only in the DEV environment + +**Bucket:** User, Developer & Agentic Experiences +**Status:** PILOT (DEV) + +- Overview: see /docs/OVERVIEW.md +- How to run: see /ops/RUNBOOK.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..38da597 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,3 @@ +# Security Policy +- No secrets in this repo. Use Secret Manager via CI. +- Report vulnerabilities to security@. diff --git a/docs/OVERVIEW.md b/docs/OVERVIEW.md new file mode 100644 index 0000000..f21de3b --- /dev/null +++ b/docs/OVERVIEW.md @@ -0,0 +1,7 @@ +# Overview +Goblin Developer Console is where developers manage bots and integrations: +- Create and configure Goblin bots +- Access APIs and SDKs +- View logs and test connections + +Day-1 goal: basic pilot scaffolding only. diff --git a/ops/RUNBOOK.md b/ops/RUNBOOK.md new file mode 100644 index 0000000..9165f9a --- /dev/null +++ b/ops/RUNBOOK.md @@ -0,0 +1,11 @@ +# Runbook (Pilot) + +## Local (DEV) +1. Copy .env.example to .env (do not commit real secrets). +2. Install dependencies (when code arrives). +3. Start dev server (when code arrives). + +## Environments +- DEV: sandbox only +- STAGE: rehearsal +- PROD: mainnet (not used during pilot) diff --git a/src/.gitkeep b/src/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/.gitkeep b/tests/.gitkeep new file mode 100644 index 0000000..e69de29