|
1 | | -# LogisticsManagerApp |
| 1 | +# Obsidian Logistics Manager — Angular + Genkit Agentic Demo |
2 | 2 |
|
3 | | -This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.1.3. |
| 3 | +An interactive fleet and service-queue management web application built with **Angular 21** (Signals, `resource`, `linkedSignal`, Angular Aria, SSR with Express) and **Genkit** (`genkit` + `@genkit-ai/google-genai` powered by `gemini-3-flash-preview`). |
4 | 4 |
|
5 | | -## Development server |
| 5 | +This repository accompanies the live stage demo showing how to pair-program with an AI coding agent using **Agent Skills**, **MCP Servers**, and **Antigravity Plugins** (`chrome-devtools-plugin`). |
6 | 6 |
|
7 | | -To start a local development server, run: |
| 7 | +--- |
8 | 8 |
|
9 | | -```bash |
10 | | -ng serve |
11 | | -``` |
| 9 | +## Branches & Demo Steps |
12 | 10 |
|
13 | | -Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. |
| 11 | +You can either start on **`main`** and run each prompt in [`content/prompts/`](./content/prompts/) with your coding agent, or check out any of the completed checkpoint branches directly: |
14 | 12 |
|
15 | | -## Code scaffolding |
| 13 | +| Branch | Prompt | Description | |
| 14 | +| :--- | :--- | :--- | |
| 15 | +| **`main`** | — | Clean starter baseline with fleet map, inventory list, service queue, and static chat shell. | |
| 16 | +| **`step-1`** | [`content/prompts/prompt-1.md`](./content/prompts/prompt-1.md) | Initializes Genkit with `googleAI()` (`gemini-3-flash-preview`) and adds the `POST /api/chat` endpoint in `src/server.ts`. | |
| 17 | +| **`step-2`** | [`content/prompts/prompt-2.md`](./content/prompts/prompt-2.md) | Connects the client chat UI (`src/app/components/chat/chat.ts`) to `/api/chat` using the Angular `resource` API and `afterRenderEffect` auto-scrolling. | |
| 18 | +| **`step-3`** | [`content/prompts/prompt-3.md`](./content/prompts/prompt-3.md) | Defines 7 Genkit fleet & service-queue tools (`ai.defineTool`) in `src/server.ts` and synchronizes UI state using Angular `resource`, `linkedSignal`, and `.reload()`. | |
16 | 19 |
|
17 | | -Angular CLI includes powerful code scaffolding tools. To generate a new component, run: |
| 20 | +To jump straight to the completed application with full Genkit tool calling: |
18 | 21 |
|
19 | 22 | ```bash |
20 | | -ng generate component component-name |
| 23 | +git checkout step-3 |
21 | 24 | ``` |
22 | 25 |
|
23 | | -For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: |
| 26 | +--- |
| 27 | + |
| 28 | +## Getting Started |
| 29 | + |
| 30 | +### 1. Install Dependencies |
24 | 31 |
|
25 | 32 | ```bash |
26 | | -ng generate --help |
| 33 | +npm install |
27 | 34 | ``` |
28 | 35 |
|
29 | | -## Building |
| 36 | +### 2. Configure Environment Variables |
30 | 37 |
|
31 | | -To build the project run: |
| 38 | +Create a `.env` file in the project root: |
32 | 39 |
|
33 | | -```bash |
34 | | -ng build |
| 40 | +```env |
| 41 | +GEMINI_API_KEY="your_gemini_api_key_here" |
35 | 42 | ``` |
36 | 43 |
|
37 | | -This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. |
| 44 | +### 3. Install Agent Skills & Plugins (For Running the Prompts) |
38 | 45 |
|
39 | | -## Running unit tests |
| 46 | +If you want to run the prompts in [`content/prompts/`](./content/prompts/) with an AI coding agent from `main`: |
40 | 47 |
|
41 | | -To execute unit tests with the [Vitest](https://vitest.dev/) test runner, use the following command: |
| 48 | +1. **Install the Angular & Genkit Agent Skills**: |
| 49 | + ```bash |
| 50 | + npx skills add https://github.com/angular/skills --skill angular-developer |
| 51 | + npx skills add firebase/genkit --skill developing-genkit-js |
| 52 | + ``` |
42 | 53 |
|
43 | | -```bash |
44 | | -ng test |
45 | | -``` |
| 54 | +2. **Install the Chrome DevTools Plugin** (in Antigravity CLI): |
| 55 | + ```text |
| 56 | + /plugin install chrome-devtools-plugin |
| 57 | + ``` |
| 58 | + |
| 59 | +3. **MCP Configuration**: |
| 60 | + - Project MCP settings are included in [`.gemini/settings.json`](./.gemini/settings.json), and agent workspace guidelines are defined in [`AGENTS.md`](./AGENTS.md). |
| 61 | + |
| 62 | +--- |
46 | 63 |
|
47 | | -## Running end-to-end tests |
| 64 | +## Development Server & Building |
48 | 65 |
|
49 | | -For end-to-end (e2e) testing, run: |
| 66 | +To start the local development server: |
50 | 67 |
|
51 | 68 | ```bash |
52 | | -ng e2e |
| 69 | +npm start |
53 | 70 | ``` |
54 | 71 |
|
55 | | -Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. |
| 72 | +Open `http://localhost:4200/` in your browser. |
56 | 73 |
|
57 | | -## Additional Resources |
| 74 | +To build the project for production: |
58 | 75 |
|
59 | | -For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. |
| 76 | +```bash |
| 77 | +npm run build |
| 78 | +``` |
0 commit comments