Rename my_project to ikario_body across all project files
Updated all references from 'my_project' to 'ikario_body': - Renamed dockerize_my_project.py → dockerize_ikario_body.py - Renamed docker-compose.my_project.yml → docker-compose.ikario_body.yml - Updated Docker service names (ikario_body_frontend, ikario_body_server) - Updated paths in .claude/settings.local.json - Updated paths in README.md, navette.txt, patch_stats.py, project_progress.md - Updated all volume mounts and working directories 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
12
README.md
12
README.md
@@ -68,15 +68,15 @@ pip show claude-code-sdk # Check SDK is installed
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Initialize the Claude Clone example project
|
# Initialize the Claude Clone example project
|
||||||
python autonomous_agent_demo.py --project-dir ./my_project
|
python autonomous_agent_demo.py --project-dir ./ikario_body
|
||||||
|
|
||||||
# Add new features to an existing project
|
# Add new features to an existing project
|
||||||
python autonomous_agent_demo.py --project-dir ./my_project --new-spec app_spec_theme_customization.txt
|
python autonomous_agent_demo.py --project-dir ./ikario_body --new-spec app_spec_theme_customization.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
For testing with limited iterations:
|
For testing with limited iterations:
|
||||||
```bash
|
```bash
|
||||||
python autonomous_agent_demo.py --project-dir ./my_project --max-iterations 3
|
python autonomous_agent_demo.py --project-dir ./ikario_body --max-iterations 3
|
||||||
```
|
```
|
||||||
|
|
||||||
### Option 2: Create Your Own Application
|
### Option 2: Create Your Own Application
|
||||||
@@ -148,7 +148,7 @@ The **Initializer Bis** agent allows you to add new features to an existing proj
|
|||||||
**Example:**
|
**Example:**
|
||||||
```bash
|
```bash
|
||||||
# Add theme customization features to an existing project
|
# Add theme customization features to an existing project
|
||||||
python autonomous_agent_demo.py --project-dir ./my_project --new-spec app_spec_theme_customization.txt
|
python autonomous_agent_demo.py --project-dir ./ikario_body --new-spec app_spec_theme_customization.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
This will create multiple Linear issues (one per `<feature>` tag) that will be worked on by subsequent coding agent sessions.
|
This will create multiple Linear issues (one per `<feature>` tag) that will be worked on by subsequent coding agent sessions.
|
||||||
@@ -206,7 +206,7 @@ linear-agent-harness/
|
|||||||
After running, your project directory will contain:
|
After running, your project directory will contain:
|
||||||
|
|
||||||
```
|
```
|
||||||
my_project/
|
ikario_body/
|
||||||
├── .linear_project.json # Linear project state (marker file)
|
├── .linear_project.json # Linear project state (marker file)
|
||||||
├── app_spec.txt # Copied specification
|
├── app_spec.txt # Copied specification
|
||||||
├── app_spec_theme_customization.txt # New spec file (if using --new-spec)
|
├── app_spec_theme_customization.txt # New spec file (if using --new-spec)
|
||||||
@@ -507,7 +507,7 @@ The Claude Clone example in `prompts/app_spec.txt` is excellent reference materi
|
|||||||
2. Format it with `<feature>` tags following the same structure as `app_spec.txt`
|
2. Format it with `<feature>` tags following the same structure as `app_spec.txt`
|
||||||
3. Run with `--new-spec` flag:
|
3. Run with `--new-spec` flag:
|
||||||
```bash
|
```bash
|
||||||
python autonomous_agent_demo.py --project-dir ./my_project --new-spec app_spec_new_feature.txt
|
python autonomous_agent_demo.py --project-dir ./ikario_body --new-spec app_spec_new_feature.txt
|
||||||
```
|
```
|
||||||
4. The Initializer Bis agent will create new Linear issues for each feature in the spec file
|
4. The Initializer Bis agent will create new Linear issues for each feature in the spec file
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
services:
|
services:
|
||||||
my_project_frontend:
|
ikario_body_frontend:
|
||||||
image: node:20
|
image: node:20
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
volumes:
|
volumes:
|
||||||
- ./generations/my_project:/app
|
- ./generations/ikario_body:/app
|
||||||
# Eviter de réutiliser les node_modules Windows dans le conteneur Linux
|
# Eviter de réutiliser les node_modules Windows dans le conteneur Linux
|
||||||
- /app/node_modules
|
- /app/node_modules
|
||||||
command: ["sh", "-c", "npm install && npm run dev -- --host 0.0.0.0 --port 3000"]
|
command: ["sh", "-c", "npm install && npm run dev -- --host 0.0.0.0 --port 3000"]
|
||||||
@@ -13,11 +13,11 @@ services:
|
|||||||
- NODE_ENV=development
|
- NODE_ENV=development
|
||||||
- DOCKER_ENV=true
|
- DOCKER_ENV=true
|
||||||
|
|
||||||
my_project_server:
|
ikario_body_server:
|
||||||
image: node:20
|
image: node:20
|
||||||
working_dir: /app/server
|
working_dir: /app/server
|
||||||
volumes:
|
volumes:
|
||||||
- ./generations/my_project:/app
|
- ./generations/ikario_body:/app
|
||||||
# Eviter de réutiliser les node_modules Windows dans le conteneur Linux
|
# Eviter de réutiliser les node_modules Windows dans le conteneur Linux
|
||||||
- /app/server/node_modules
|
- /app/server/node_modules
|
||||||
command: ["sh", "-c", "npm install && npm start"]
|
command: ["sh", "-c", "npm install && npm start"]
|
||||||
@@ -26,5 +26,5 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- NODE_ENV=development
|
- NODE_ENV=development
|
||||||
depends_on:
|
depends_on:
|
||||||
- my_project_frontend
|
- ikario_body_frontend
|
||||||
|
|
||||||
@@ -1,24 +1,24 @@
|
|||||||
"""
|
"""
|
||||||
Dockerization helper for my_project
|
Dockerization helper for ikario_body
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
Ce script crée les fichiers Docker nécessaires pour exécuter l'application
|
Ce script crée les fichiers Docker nécessaires pour exécuter l'application
|
||||||
`generations/my_project` (frontend + serveur + base SQLite) dans Docker,
|
`generations/ikario_body` (frontend + serveur + base SQLite) dans Docker,
|
||||||
SANS modifier aucun fichier existant.
|
SANS modifier aucun fichier existant.
|
||||||
|
|
||||||
Il génère un fichier de composition :
|
Il génère un fichier de composition :
|
||||||
- docker-compose.my_project.yml (à la racine du repo)
|
- docker-compose.ikario_body.yml (à la racine du repo)
|
||||||
|
|
||||||
Ce fichier utilise l'image officielle Node et monte le code existant
|
Ce fichier utilise l'image officielle Node et monte le code existant
|
||||||
ainsi que la base SQLite dans les conteneurs (mode développement).
|
ainsi que la base SQLite dans les conteneurs (mode développement).
|
||||||
|
|
||||||
Utilisation :
|
Utilisation :
|
||||||
1) Depuis la racine du repo :
|
1) Depuis la racine du repo :
|
||||||
python dockerize_my_project.py
|
python dockerize_ikario_body.py
|
||||||
2) Puis pour lancer l'appli dans Docker :
|
2) Puis pour lancer l'appli dans Docker :
|
||||||
docker compose -f docker-compose.my_project.yml up
|
docker compose -f docker-compose.ikario_body.yml up
|
||||||
ou, selon votre installation :
|
ou, selon votre installation :
|
||||||
docker-compose -f docker-compose.my_project.yml up
|
docker-compose -f docker-compose.ikario_body.yml up
|
||||||
|
|
||||||
- Frontend accessible sur: http://localhost:3000
|
- Frontend accessible sur: http://localhost:3000
|
||||||
- API backend (server) sur : http://localhost:3001
|
- API backend (server) sur : http://localhost:3001
|
||||||
@@ -28,13 +28,13 @@ from pathlib import Path
|
|||||||
|
|
||||||
|
|
||||||
def generate_docker_compose(root: Path) -> None:
|
def generate_docker_compose(root: Path) -> None:
|
||||||
"""Génère le fichier docker-compose.my_project.yml sans toucher au code existant."""
|
"""Génère le fichier docker-compose.ikario_body.yml sans toucher au code existant."""
|
||||||
project_dir = root / "generations" / "my_project"
|
project_dir = root / "generations" / "ikario_body"
|
||||||
|
|
||||||
if not project_dir.exists():
|
if not project_dir.exists():
|
||||||
raise SystemExit(f"Project directory not found: {project_dir}")
|
raise SystemExit(f"Project directory not found: {project_dir}")
|
||||||
|
|
||||||
compose_path = root / "docker-compose.my_project.yml"
|
compose_path = root / "docker-compose.ikario_body.yml"
|
||||||
|
|
||||||
# On utilise les scripts npm déjà définis :
|
# On utilise les scripts npm déjà définis :
|
||||||
# - frontend: npm run dev (Vite) en écoutant sur 0.0.0.0:3000 (dans le conteneur)
|
# - frontend: npm run dev (Vite) en écoutant sur 0.0.0.0:3000 (dans le conteneur)
|
||||||
@@ -45,14 +45,14 @@ def generate_docker_compose(root: Path) -> None:
|
|||||||
# - frontend : host 4300 -> container 3000
|
# - frontend : host 4300 -> container 3000
|
||||||
# - backend : host 4301 -> container 3001
|
# - backend : host 4301 -> container 3001
|
||||||
#
|
#
|
||||||
# Le volume ./generations/my_project est monté dans /app,
|
# Le volume ./generations/ikario_body est monté dans /app,
|
||||||
# ce qui inclut aussi la base SQLite dans server/data/claude-clone.db.
|
# ce qui inclut aussi la base SQLite dans server/data/claude-clone.db.
|
||||||
compose_content = f"""services:
|
compose_content = f"""services:
|
||||||
my_project_frontend:
|
ikario_body_frontend:
|
||||||
image: node:20
|
image: node:20
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
volumes:
|
volumes:
|
||||||
- ./generations/my_project:/app
|
- ./generations/ikario_body:/app
|
||||||
# Eviter de réutiliser les node_modules Windows dans le conteneur Linux
|
# Eviter de réutiliser les node_modules Windows dans le conteneur Linux
|
||||||
- /app/node_modules
|
- /app/node_modules
|
||||||
command: ["sh", "-c", "npm install && npm run dev -- --host 0.0.0.0 --port 3000"]
|
command: ["sh", "-c", "npm install && npm run dev -- --host 0.0.0.0 --port 3000"]
|
||||||
@@ -61,11 +61,11 @@ def generate_docker_compose(root: Path) -> None:
|
|||||||
environment:
|
environment:
|
||||||
- NODE_ENV=development
|
- NODE_ENV=development
|
||||||
|
|
||||||
my_project_server:
|
ikario_body_server:
|
||||||
image: node:20
|
image: node:20
|
||||||
working_dir: /app/server
|
working_dir: /app/server
|
||||||
volumes:
|
volumes:
|
||||||
- ./generations/my_project:/app
|
- ./generations/ikario_body:/app
|
||||||
# Eviter de réutiliser les node_modules Windows dans le conteneur Linux
|
# Eviter de réutiliser les node_modules Windows dans le conteneur Linux
|
||||||
- /app/server/node_modules
|
- /app/server/node_modules
|
||||||
command: ["sh", "-c", "npm install && npm start"]
|
command: ["sh", "-c", "npm install && npm start"]
|
||||||
@@ -74,7 +74,7 @@ def generate_docker_compose(root: Path) -> None:
|
|||||||
environment:
|
environment:
|
||||||
- NODE_ENV=development
|
- NODE_ENV=development
|
||||||
depends_on:
|
depends_on:
|
||||||
- my_project_frontend
|
- ikario_body_frontend
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
28
navette.txt
28
navette.txt
@@ -23,7 +23,7 @@ ANCIEN SPEC (app_spec_ikario_rag_improvements.txt):
|
|||||||
❌ A cause le probleme (agent a modifie ton code)
|
❌ A cause le probleme (agent a modifie ton code)
|
||||||
|
|
||||||
NOUVEAU SPEC (app_spec_ikario_rag_UI.txt):
|
NOUVEAU SPEC (app_spec_ikario_rag_UI.txt):
|
||||||
✓ Developpe UNIQUEMENT dans generations/my_project/
|
✓ Developpe UNIQUEMENT dans generations/ikario_body/
|
||||||
✓ UTILISE les 7 outils MCP existants (via client)
|
✓ UTILISE les 7 outils MCP existants (via client)
|
||||||
✓ NE TOUCHE PAS au code ikario_rag
|
✓ NE TOUCHE PAS au code ikario_rag
|
||||||
✓ Ajoute interface utilisateur pour exploiter la memoire
|
✓ Ajoute interface utilisateur pour exploiter la memoire
|
||||||
@@ -66,7 +66,7 @@ Le serveur ikario_rag expose deja 7 outils MCP:
|
|||||||
6. trace_concept_evolution - Tracer evolution concept
|
6. trace_concept_evolution - Tracer evolution concept
|
||||||
7. check_consistency - Check coherence
|
7. check_consistency - Check coherence
|
||||||
|
|
||||||
On utilise ces outils VIA le client MCP deja present dans my_project:
|
On utilise ces outils VIA le client MCP deja present dans ikario_body:
|
||||||
- server/services/mcpClient.js
|
- server/services/mcpClient.js
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
@@ -109,7 +109,7 @@ PROCHAINES ACTIONS
|
|||||||
|
|
||||||
3. CREER 15 NOUVELLES ISSUES?
|
3. CREER 15 NOUVELLES ISSUES?
|
||||||
- Pour les 15 features du nouveau spec (UI)
|
- Pour les 15 features du nouveau spec (UI)
|
||||||
- Issues qui developpent dans my_project
|
- Issues qui developpent dans ikario_body
|
||||||
- Options:
|
- Options:
|
||||||
a) OUI, creer maintenant avec initializer bis
|
a) OUI, creer maintenant avec initializer bis
|
||||||
b) OUI, mais manuellement dans Linear
|
b) OUI, mais manuellement dans Linear
|
||||||
@@ -132,7 +132,7 @@ MES RECOMMANDATIONS
|
|||||||
3. NOUVELLES ISSUES: CREER MAINTENANT
|
3. NOUVELLES ISSUES: CREER MAINTENANT
|
||||||
- 15 nouvelles issues pour features UI
|
- 15 nouvelles issues pour features UI
|
||||||
- Lancer initializer bis avec nouveau spec
|
- Lancer initializer bis avec nouveau spec
|
||||||
- Developper uniquement dans my_project
|
- Developper uniquement dans ikario_body
|
||||||
- Avec restrictions sandbox pour SynologyDrive
|
- Avec restrictions sandbox pour SynologyDrive
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
@@ -148,7 +148,7 @@ Si tu es d'accord avec mes recommandations:
|
|||||||
(je peux le faire via Linear API)
|
(je peux le faire via Linear API)
|
||||||
|
|
||||||
3. Creer 15 nouvelles issues:
|
3. Creer 15 nouvelles issues:
|
||||||
python autonomous_agent_demo.py --project-dir my_project --new-spec app_spec_ikario_rag_UI.txt
|
python autonomous_agent_demo.py --project-dir ikario_body --new-spec app_spec_ikario_rag_UI.txt
|
||||||
|
|
||||||
4. Ajouter restrictions sandbox (avant de lancer agent):
|
4. Ajouter restrictions sandbox (avant de lancer agent):
|
||||||
(je dois modifier autonomous_agent_demo.py pour bloquer SynologyDrive)
|
(je dois modifier autonomous_agent_demo.py pour bloquer SynologyDrive)
|
||||||
@@ -190,7 +190,7 @@ Tu peux le lire pour verifier que c'est bien ce que tu veux.
|
|||||||
Points importants:
|
Points importants:
|
||||||
- 15 features frontend/backend
|
- 15 features frontend/backend
|
||||||
- ZERO modification ikario_rag
|
- ZERO modification ikario_rag
|
||||||
- Developpe dans my_project uniquement
|
- Developpe dans ikario_body uniquement
|
||||||
- Utilise outils MCP existants
|
- Utilise outils MCP existants
|
||||||
- 5 phases implementation (7-10 jours total)
|
- 5 phases implementation (7-10 jours total)
|
||||||
|
|
||||||
@@ -590,7 +590,7 @@ POURQUOI:
|
|||||||
- Plus facile a debugger
|
- Plus facile a debugger
|
||||||
- Pas de "magic" (Option C serait trop implicite)
|
- Pas de "magic" (Option C serait trop implicite)
|
||||||
|
|
||||||
ARCHITECTURE BACKEND my_project:
|
ARCHITECTURE BACKEND ikario_body:
|
||||||
-------------------------------
|
-------------------------------
|
||||||
POST /api/chat/message
|
POST /api/chat/message
|
||||||
-> User envoie message
|
-> User envoie message
|
||||||
@@ -1002,7 +1002,7 @@ async def append_to_conversation(
|
|||||||
return f"Conversation {conversation_id} updated: added {len(new_messages)} messages (total: {updated_metadata['message_count']})"
|
return f"Conversation {conversation_id} updated: added {len(new_messages)} messages (total: {updated_metadata['message_count']})"
|
||||||
```
|
```
|
||||||
|
|
||||||
UTILISATION BACKEND (my_project):
|
UTILISATION BACKEND (ikario_body):
|
||||||
```javascript
|
```javascript
|
||||||
// POST /api/chat/message
|
// POST /api/chat/message
|
||||||
app.post('/api/chat/message', async (req, res) => {
|
app.post('/api/chat/message', async (req, res) => {
|
||||||
@@ -2145,9 +2145,9 @@ PROCHAINES ACTIONS RECOMMANDEES
|
|||||||
- Clean slate pour nouvelles issues
|
- Clean slate pour nouvelles issues
|
||||||
|
|
||||||
3. CREER 15 nouvelles issues avec nouveau spec
|
3. CREER 15 nouvelles issues avec nouveau spec
|
||||||
- Utiliser: python autonomous_agent_demo.py --project-dir my_project --new-spec app_spec_ikario_rag_UI.txt
|
- Utiliser: python autonomous_agent_demo.py --project-dir ikario_body --new-spec app_spec_ikario_rag_UI.txt
|
||||||
- Mode: initializer bis
|
- Mode: initializer bis
|
||||||
- Issues pour developper dans my_project uniquement
|
- Issues pour developper dans ikario_body uniquement
|
||||||
|
|
||||||
4. LANCER agent coding
|
4. LANCER agent coding
|
||||||
- Apres creation des issues
|
- Apres creation des issues
|
||||||
@@ -2208,16 +2208,16 @@ PROJET 1: ikario_rag (C:/Users/david/SynologyDrive/ikario/ikario_rag/)
|
|||||||
* Tests (test_append_conversation.py)
|
* Tests (test_append_conversation.py)
|
||||||
* Commits: 55d905b, cba84fe
|
* Commits: 55d905b, cba84fe
|
||||||
|
|
||||||
PROJET 2: my_project (C:/GitHub/Linear_coding/generations/my_project/)
|
PROJET 2: ikario_body (C:/GitHub/Linear_coding/generations/ikario_body/)
|
||||||
- Frontend React + Backend Express
|
- Frontend React + Backend Express
|
||||||
- Interface utilisateur pour UTILISER les outils MCP d'ikario_rag
|
- Interface utilisateur pour UTILISER les outils MCP d'ikario_rag
|
||||||
- CE QU'ON A FAIT:
|
- CE QU'ON A FAIT:
|
||||||
* Cree spec UI (prompts/app_spec_ikario_rag_UI.txt)
|
* Cree spec UI (prompts/app_spec_ikario_rag_UI.txt)
|
||||||
* Commit: 3a17744
|
* Commit: 3a17744
|
||||||
* MAIS: rien d'implemente dans my_project encore!
|
* MAIS: rien d'implemente dans ikario_body encore!
|
||||||
|
|
||||||
Le spec UI que j'ai cree est pour PLUS TARD, quand on developpera
|
Le spec UI que j'ai cree est pour PLUS TARD, quand on developpera
|
||||||
l'interface dans my_project qui UTILISERA ikario_rag.
|
l'interface dans ikario_body qui UTILISERA ikario_rag.
|
||||||
|
|
||||||
Tu as raison: ON DOIT D'ABORD FINIR ikario_rag!
|
Tu as raison: ON DOIT D'ABORD FINIR ikario_rag!
|
||||||
|
|
||||||
@@ -2243,7 +2243,7 @@ CE QU'IL RESTE A FAIRE DANS ikario_rag
|
|||||||
- Code existant continue de fonctionner
|
- Code existant continue de fonctionner
|
||||||
- Pas de breaking changes
|
- Pas de breaking changes
|
||||||
|
|
||||||
ENSUITE SEULEMENT on passera a my_project.
|
ENSUITE SEULEMENT on passera a ikario_body.
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
DECISION REQUISE
|
DECISION REQUISE
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Patch getMemoryStats to count thoughts and conversations separately
|
Patch getMemoryStats to count thoughts and conversations separately
|
||||||
"""
|
"""
|
||||||
|
|
||||||
file_path = "C:/GitHub/Linear_coding/generations/my_project/server/services/memoryService.js"
|
file_path = "C:/GitHub/Linear_coding/generations/ikario_body/server/services/memoryService.js"
|
||||||
|
|
||||||
# Lire le fichier
|
# Lire le fichier
|
||||||
with open(file_path, 'r', encoding='utf-8') as f:
|
with open(file_path, 'r', encoding='utf-8') as f:
|
||||||
|
|||||||
@@ -267,7 +267,7 @@ db.exec(`ALTER TABLE conversations ADD COLUMN thinking_budget_tokens INTEGER DEF
|
|||||||
- Backend: http://localhost:3001 (or 3004 if port occupied)
|
- Backend: http://localhost:3001 (or 3004 if port occupied)
|
||||||
- Frontend: http://localhost:5178 (Vite auto-selects available port)
|
- Frontend: http://localhost:5178 (Vite auto-selects available port)
|
||||||
|
|
||||||
**Database**: `generations/my_project/server/data/claude-clone.db`
|
**Database**: `generations/ikario_body/server/data/claude-clone.db`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user