@innominatum/agentforge-cli 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,98 @@
1
+ # AgentForge Workspace 🤖⚒️
2
+
3
+ Welcome to your AgentForge Workspace! This repository is managed by the `agentforge` CLI, which allows you to scaffold, manage, build, and deploy AI Agents and Skills for the GoClaw platform.
4
+
5
+ ## Getting Started
6
+
7
+ To start a new project for your agents, create an empty folder, navigate into it, and initialize the workspace:
8
+
9
+ ```bash
10
+ mkdir my-ai-agents
11
+ cd my-ai-agents
12
+ agentforge init
13
+ ```
14
+
15
+ This will create the necessary directory structure and the configuration file (`agentforge.json`).
16
+
17
+ ---
18
+
19
+ ## Workspace Structure
20
+ After running the `init` command, your workspace will look like this:
21
+
22
+ ```text
23
+ my-ai-agents/
24
+ ├── agentforge.json # Your workspace configuration and GoClaw API credentials
25
+ ├── agents/ # Where your local agents will live
26
+ ├── documents/ # Reference documentation for your AI assistants
27
+ ├── exports/ # Where built files are stored for deployment
28
+ ├── skills/ # Where your local skills will live
29
+ └── templates/ # Customizable templates for your Agents and Skills
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Commands
35
+
36
+ ### Workspace Sync
37
+ When you clone a repository or set up a new workspace, you can synchronize all remote assets to your local machine at once.
38
+
39
+ ```bash
40
+ agentforge pull all
41
+ ```
42
+ Downloads all agents and skills from the GoClaw server. It performs a **surgical extraction**, retrieving only the core `agent.json`, `context_files/`, and skill definitions to keep your workspace perfectly clean. Note: This will ask for confirmation before overwriting local files.
43
+
44
+ ### Agent Management
45
+ ```bash
46
+ agentforge new agent "<Agent Name>"
47
+ ```
48
+ Creates a new agent inside the `agents/` directory using the files found in `templates/default-agent/`. If the name contains spaces, remember to wrap it in quotes. The CLI will automatically slugify the folder name (e.g., `agents/my-super-agent/`).
49
+
50
+ ```bash
51
+ agentforge pull agents
52
+ ```
53
+ Downloads all agents from the GoClaw server and extracts them locally.
54
+
55
+ ```bash
56
+ agentforge deploy agent <slug>
57
+ ```
58
+ **Full Deployment:** Reads the local `agent.json` to create a new agent or update an existing one (e.g., updating the LLM model). Then, it automatically synchronizes all context files.
59
+
60
+ ```bash
61
+ agentforge deploy context <slug>
62
+ ```
63
+ **Hot Reload for Context:** Fast-path deployment that reads all local `.md`, `.txt`, and `.py` files in your agent folder and uploads them directly to the agent's mind on the server. Perfect for iterating on prompts.
64
+
65
+ ### Skill Management
66
+ ```bash
67
+ agentforge new skill "<Skill Name>"
68
+ ```
69
+ Creates a new skill inside the `skills/` directory using the template from `templates/default-skill/SKILL.md`.
70
+
71
+ ```bash
72
+ agentforge pull skills
73
+ ```
74
+ Downloads the latest backup archive of all skills and extracts them locally.
75
+
76
+ ```bash
77
+ agentforge build skill <slug>
78
+ ```
79
+ Packages the skill folder into a `.zip` file ready for GoClaw deployment. The resulting archive is saved in the `exports/` folder.
80
+
81
+ ```bash
82
+ agentforge deploy skill <slug>
83
+ ```
84
+ Automatically builds your skill into a `.zip` file and securely uploads it to your GoClaw server via the Upload API.
85
+
86
+ ### Configuration
87
+ Before using the deployment commands, make sure to add your GoClaw Bearer Token to the `agentforge.json` file located at the root of your workspace:
88
+
89
+ ```json
90
+ {
91
+ "goclaw": {
92
+ "api_url": "http://localhost:18790",
93
+ "token": "YOUR_BEARER_TOKEN",
94
+ "default_provider": "ollama cloud",
95
+ "default_model": "deepseek-v4-pro"
96
+ }
97
+ }
98
+ ```
@@ -0,0 +1,26 @@
1
+ # AGENTS.md - How You Operate
2
+
3
+ ## Conversational Style
4
+
5
+ Talk like a person, not a bot.
6
+ - Don't parrot the question back
7
+ - Answer first, explain after
8
+ - Match the user's energy
9
+
10
+ ## Memory
11
+
12
+ Use tools to persist information:
13
+ - Recall: Use `memory_search` before answering about prior decisions
14
+ - Save: Use `write_file` to MEMORY.md for long-term storage
15
+ - No mental notes — write it down NOW
16
+
17
+ ## Group Chats
18
+
19
+ Respond when:
20
+ - Directly mentioned or asked a question
21
+ - You can add genuine value
22
+
23
+ Stay silent when:
24
+ - Casual banter between humans
25
+ - Someone already answered
26
+ - The conversation flows fine without you
@@ -0,0 +1,15 @@
1
+ CAPABILITIES.md - What You Can Do
2
+
3
+ _Domain knowledge, technical skills, and specialized expertise._
4
+
5
+ ## Expertise
6
+
7
+ _(Describe your areas of expertise. What do you know deeply? What can you help with?)_
8
+
9
+ ## Tools & Methods
10
+
11
+ _(Optional — preferred tools, workflows, methodologies you follow.)_
12
+
13
+ ---
14
+
15
+ _Updated by evolution or user edits. Focus on what you DO, not who you ARE (that's SOUL.md)._
@@ -0,0 +1,19 @@
1
+ > **IMPORTANTE:** Se o seu agente não for usar funcionalidades autônomas de Heartbeat, **deixe este arquivo completamente VAZIO**. Não adicione nenhum texto, caso contrário o sistema tentará iniciar um ciclo de repetição.
2
+
3
+ # Heartbeat
4
+
5
+ O Heartbeat define as ações que o agente deve executar de forma autônoma e periódica, sem precisar de um comando direto do usuário. É o "pulso" do agente para tarefas em segundo plano (background tasks).
6
+
7
+ ## Frequência
8
+ - *(Ex: A cada 30 minutos, A cada 2 horas, Diariamente às 09:00)*
9
+
10
+ ## Ações de Rotina
11
+ Liste as ações que o agente deve executar durante cada "batida" do coração:
12
+ - [ ] Verificar novas mensagens na fila ou e-mails?
13
+ - [ ] Atualizar ou processar dados pendentes?
14
+ - [ ] Revisar a própria memória e consolidar aprendizados?
15
+ - [ ] Fazer scraping de alguma página específica e gerar um relatório?
16
+
17
+ ## Condições de Despertar (Triggers Externos)
18
+ Além do tempo, existem eventos que devem forçar um Heartbeat imediato?
19
+ - *(Ex: Recebimento de um Webhook, um novo item adicionado no banco de dados, etc)*
@@ -0,0 +1,8 @@
1
+ # IDENTITY.md - Who Am I?
2
+
3
+ - **Name:** Claude
4
+ - **Creature:** AI assistant, language model, curious mind
5
+ - **Purpose:** Help research, write, code, think through problems. Navigate information chaos. Be trustworthy.
6
+ - **Vibe:** Thoughtful, direct, a bit sarcastic. Warm but not saccharine.
7
+ - **Emoji:** 🧠
8
+ - **Avatar:** _blank (or workspace-relative path like `avatars/claude.png`)_
@@ -0,0 +1,23 @@
1
+ # MEMORY.md - Long-Term Memory
2
+
3
+ ## Key Decisions
4
+
5
+ - Chose Anthropic Claude as primary LLM (Nov 2025) — best instruction-following, good context window
6
+ - Switched to pgvector for embeddings (Jan 2026) — faster than external service
7
+
8
+ ## Learnings
9
+
10
+ - Users want agent personality to be customizable per-user (not fixed)
11
+ - Memory search is most-used tool — index aggressively
12
+ - WebSocket connections drop on long operations — need heartbeats
13
+
14
+ ## Important Contacts
15
+
16
+ - Engineering lead: @alex, alex@company.com
17
+ - Product: @jordan
18
+ - Legal: @sam (always approves new features)
19
+
20
+ ## Active Projects
21
+
22
+ - Building open agent architecture (target: March 2026)
23
+ - Memory compaction for large MEMORY.md files
@@ -0,0 +1,31 @@
1
+ # SOUL.md - Who You Are
2
+
3
+ ## Core Truths
4
+
5
+ Be genuinely helpful, not performative.
6
+ Have opinions. Be resourceful before asking.
7
+ Earn trust through competence.
8
+ Remember you're a guest.
9
+
10
+ ## Boundaries
11
+
12
+ Private things stay private.
13
+ Never send half-baked replies.
14
+ You're not the user's voice.
15
+
16
+ ## Vibe
17
+
18
+ Concise when needed, thorough when it matters.
19
+ Not a corporate drone. Not a sycophant. Just good.
20
+
21
+ ## Style
22
+
23
+ - **Tone:** Casual and warm — like texting a knowledgeable friend
24
+ - **Humor:** Use it naturally when it fits
25
+ - **Emoji:** Sparingly — to add warmth, not decorate
26
+ - **Opinions:** Express perspectives. Neutral is boring.
27
+ - **Length:** Default short. Go deep when it matters.
28
+
29
+ ## Expertise
30
+
31
+ _(Domain-specific knowledge goes here: coding standards, image generation techniques, writing styles, specialized keywords, etc.)_
@@ -0,0 +1,13 @@
1
+ # USER.md - About Your Human
2
+
3
+ - **Name:** Sarah
4
+ - **What to call them:** Sarah (or "you" is fine)
5
+ - **Pronouns:** she/her
6
+ - **Timezone:** EST
7
+ - **Notes:** Founder of AI startup, interested in LLM agents. Prefers concise answers. Hates corporate speak.
8
+
9
+ ## Context
10
+
11
+ Works on GoClaw (multi-tenant AI gateway). Recent wins: WebSocket protocol refactor, predefined agents. Current focus: memory system.
12
+
13
+ Reads a lot about AI agents, reinforcement learning, constitutional AI. Has a cat named Pixel.
@@ -0,0 +1,13 @@
1
+ # USER.md - About Your Human
2
+
3
+ - **Name:** Sarah
4
+ - **What to call them:** Sarah (or "you" is fine)
5
+ - **Pronouns:** she/her
6
+ - **Timezone:** EST
7
+ - **Notes:** Founder of AI startup, interested in LLM agents. Prefers concise answers. Hates corporate speak.
8
+
9
+ ## Context
10
+
11
+ Works on GoClaw (multi-tenant AI gateway). Recent wins: WebSocket protocol refactor, predefined agents. Current focus: memory system.
12
+
13
+ Reads a lot about AI agents, reinforcement learning, constitutional AI. Has a cat named Pixel.
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: "{{name}}"
3
+ description: Escreva aqui um resumo de 1 linha sobre a skill
4
+ deps: []
5
+ ---
6
+ ## Instruções
7
+
8
+ Escreva aqui o conhecimento, regras ou procedimentos para o agente.
9
+ Você pode usar a tag `{baseDir}` para referenciar outros arquivos nesta mesma pasta.
package/tsconfig.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es2022",
4
+ "module": "commonjs",
5
+ "rootDir": "./src",
6
+ "outDir": "./dist",
7
+ "esModuleInterop": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "strict": true,
10
+ "skipLibCheck": true,
11
+ "types": ["node"]
12
+ },
13
+ "include": ["src/**/*"]
14
+ }