axis-crm 1.0.1 → 1.0.2

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.
package/README.md CHANGED
@@ -52,7 +52,7 @@ clients/acme-consulting/
52
52
  projects/
53
53
  web-redesign/
54
54
  README.md # scope, timeline, status, value
55
- zadani.md # client brief
55
+ brief.md # client brief
56
56
  deliverables/
57
57
  notes/
58
58
  communication/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axis-crm",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "A git-based CRM for freelancers and small teams. Markdown + YAML + Obsidian + n8n.",
5
5
  "bin": {
6
6
  "axis-crm": "./cli/index.js"
@@ -56,7 +56,7 @@
56
56
  "typeVersion": 2,
57
57
  "position": [1050, 300],
58
58
  "parameters": {
59
- "jsCode": "const data = $input.first().json;\n\nconst prompt = `Analyzuj firmu a vytvor strukturovany profil.\n\nFirma: ${data.companyName}\nWeb: ${data.website}\nEmaily nalezene na webu: ${data.extractedEmails.join(', ')}\nTelefony nalezene na webu: ${data.extractedPhones.join(', ')}\n\nObsah webu (5000 znaku):\n${data.textContent.substring(0, 5000)}\n\nOdpovez POUZE validnim JSON:\n{\n \"company_name\": \"Oficialni nazev\",\n \"description\": \"1-2 vety co firma dela\",\n \"industry\": \"obor\",\n \"services\": [\"sluzba1\", \"sluzba2\"],\n \"city\": \"mesto\",\n \"country\": \"CZ/SK/DE/AT/...\",\n \"size_estimate\": \"micro/small/medium/large\",\n \"contacts\": [{\"name\": \"Jmeno\", \"role\": \"pozice\", \"email\": \"email\", \"phone\": \"tel\"}],\n \"social\": {\"linkedin\": \"\", \"facebook\": \"\"},\n \"web_quality\": \"modern/outdated/basic\",\n \"notes\": \"dalsi poznamky\"\n}`;\n\nreturn [{\n json: {\n ...data,\n aiRequestBody: JSON.stringify({\n model: 'claude-sonnet-4-20250514',\n max_tokens: 1024,\n messages: [{ role: 'user', content: prompt }]\n })\n }\n}];"
59
+ "jsCode": "const data = $input.first().json;\n\nconst prompt = `Analyze the company and create a structured profile.\n\nCompany: ${data.companyName}\nWebsite: ${data.website}\nEmails found on website: ${data.extractedEmails.join(', ')}\nPhones found on website: ${data.extractedPhones.join(', ')}\n\nWebsite content (5000 chars):\n${data.textContent.substring(0, 5000)}\n\nRespond with ONLY valid JSON:\n{\n \"company_name\": \"Official name\",\n \"description\": \"1-2 sentences about what the company does\",\n \"industry\": \"industry\",\n \"services\": [\"service1\", \"service2\"],\n \"city\": \"city\",\n \"country\": \"CZ/SK/DE/AT/...\",\n \"size_estimate\": \"micro/small/medium/large\",\n \"contacts\": [{\"name\": \"Name\", \"role\": \"position\", \"email\": \"email\", \"phone\": \"phone\"}],\n \"social\": {\"linkedin\": \"\", \"facebook\": \"\"},\n \"web_quality\": \"modern/outdated/basic\",\n \"notes\": \"additional notes\"\n}`;\n\nreturn [{\n json: {\n ...data,\n aiRequestBody: JSON.stringify({\n model: 'claude-sonnet-4-20250514',\n max_tokens: 1024,\n messages: [{ role: 'user', content: prompt }]\n })\n }\n}];"
60
60
  }
61
61
  },
62
62
  {
@@ -47,7 +47,7 @@
47
47
  "typeVersion": 2,
48
48
  "position": [850, 300],
49
49
  "parameters": {
50
- "jsCode": "const data = $input.first().json;\n\nconst prompt = `Analyzuj tento meeting a urcni ke kteremu klientovi patri.\n\nMeeting: ${data.title}\nUcastnici: ${data.participants.join(', ')}\nSummary: ${data.summary}\nTranscript (prvnich 2000 znaku):\n${data.transcript.substring(0, 2000)}\n\nOdpovez POUZE validnim JSON (bez markdown code blocku):\n{\n \"client_slug\": \"nazev-firmy-lowercase-pomlcky-bez-sro\",\n \"client_name\": \"Oficialni nazev firmy\",\n \"is_new\": true,\n \"attendees\": [\"jmeno1\", \"jmeno2\"],\n \"summary\": \"2-3 vety co se resilo\",\n \"action_items\": [\"ukol1\", \"ukol2\"],\n \"topics\": [\"tema1\", \"tema2\"]\n}`;\n\nreturn [{\n json: {\n ...data,\n aiRequestBody: JSON.stringify({\n model: 'claude-sonnet-4-20250514',\n max_tokens: 1024,\n messages: [{ role: 'user', content: prompt }]\n })\n }\n}];"
50
+ "jsCode": "const data = $input.first().json;\n\nconst prompt = `Analyze this meeting and identify which client it belongs to.\n\nMeeting: ${data.title}\nParticipants: ${data.participants.join(', ')}\nSummary: ${data.summary}\nTranscript (first 2000 chars):\n${data.transcript.substring(0, 2000)}\n\nRespond with ONLY valid JSON (no markdown code blocks):\n{\n \"client_slug\": \"company-name-lowercase-dashes-no-legal-suffix\",\n \"client_name\": \"Official company name\",\n \"is_new\": true,\n \"attendees\": [\"name1\", \"name2\"],\n \"summary\": \"2-3 sentences about what was discussed\",\n \"action_items\": [\"task1\", \"task2\"],\n \"topics\": [\"topic1\", \"topic2\"]\n}`;\n\nreturn [{\n json: {\n ...data,\n aiRequestBody: JSON.stringify({\n model: 'claude-sonnet-4-20250514',\n max_tokens: 1024,\n messages: [{ role: 'user', content: prompt }]\n })\n }\n}];"
51
51
  }
52
52
  },
53
53
  {
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: 'Zadani — Web Redesign'
2
+ title: 'Brief — Web Redesign'
3
3
  created: '2026-02-10'
4
4
  type: brief
5
5
  ---
@@ -13,7 +13,7 @@ clients/company-name/
13
13
  contacts/ # people from the company
14
14
  jan-novak.md # contact person
15
15
  communication/ # key decisions and communication
16
- 2026-04-10-cena-dohodnuta.md
16
+ 2026-04-10-price-agreed.md
17
17
  files/ # documents
18
18
  contracts/ # signed contracts, NDAs, amendments
19
19
  proposals/ # price quotes, proposals
@@ -23,7 +23,7 @@ clients/company-name/
23
23
  projects/ # projects for the client
24
24
  project-name/ # each project = folder
25
25
  README.md # scope, status, timeline
26
- zadani.md # brief from the client
26
+ brief.md # brief from the client
27
27
  deliverables/ # outputs
28
28
  notes/ # ongoing notes
29
29
  ```
@@ -43,7 +43,7 @@ Important decisions and communication. NOT every email — only what changes dir
43
43
 
44
44
  - Filename format: `YYYY-MM-DD-description.md`
45
45
  - Frontmatter: date, channel (email/call/chat), participants, decision
46
- - Example: `2026-04-10-cena-dohodnuta.md` — client approved the quote
46
+ - Example: `2026-04-10-price-agreed.md` — client approved the quote
47
47
 
48
48
  ### files/
49
49
 
@@ -69,7 +69,7 @@ Meeting notes.
69
69
  Each project = its own folder.
70
70
 
71
71
  - `README.md` — scope, status, timeline, deliverables
72
- - `zadani.md` — original brief from the client
72
+ - `brief.md` — original brief from the client
73
73
  - `deliverables/` — final outputs
74
74
  - `notes/` — ongoing notes, drafts
75
75
 
@@ -70,9 +70,9 @@ mkdir -p "$CLIENT_DIR/contacts"
70
70
  mkdir -p "$CLIENT_DIR/projects"
71
71
  mkdir -p "$CLIENT_DIR/meetings"
72
72
  mkdir -p "$CLIENT_DIR/communication"
73
- mkdir -p "$CLIENT_DIR/files/smlouvy"
74
- mkdir -p "$CLIENT_DIR/files/nabidky"
75
- mkdir -p "$CLIENT_DIR/files/faktury"
73
+ mkdir -p "$CLIENT_DIR/files/contracts"
74
+ mkdir -p "$CLIENT_DIR/files/proposals"
75
+ mkdir -p "$CLIENT_DIR/files/invoices"
76
76
 
77
77
  # Create README.md from template with lead data
78
78
  sed -e "s|^title: ''|title: \"$TITLE\"|" \
@@ -51,19 +51,19 @@ sed -i '' \
51
51
  -e "s|^start: ''|start: '$TODAY'|" \
52
52
  "$PROJECT_DIR/README.md"
53
53
 
54
- # Fill in zadani.md
54
+ # Fill in brief.md
55
55
  sed -i '' \
56
- -e "s|^title: 'Zadani — '|title: 'Zadani — $PROJECT_NAME'|" \
56
+ -e "s|^title: 'Brief — '|title: 'Brief — $PROJECT_NAME'|" \
57
57
  -e "s|^created: ''|created: '$TODAY'|" \
58
- "$PROJECT_DIR/zadani.md"
58
+ "$PROJECT_DIR/brief.md"
59
59
 
60
60
  echo "Project created: $PROJECT_DIR/"
61
61
  echo ""
62
62
  echo " README.md — scope, status, timeline"
63
- echo " zadani.md — brief od klienta"
64
- echo " deliverables/ — vystupy"
65
- echo " notes/ — prubezne poznamky"
63
+ echo " brief.md client brief"
64
+ echo " deliverables/ — outputs"
65
+ echo " notes/ — ongoing notes"
66
66
  echo ""
67
67
  echo "Next steps:"
68
- echo " 1. Vyplnit zadani.md"
69
- echo " 2. Doplnit scope a timeline v README.md"
68
+ echo " 1. Fill in brief.md with client requirements"
69
+ echo " 2. Add scope and timeline to README.md"
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: 'Zadani — '
2
+ title: 'Brief — '
3
3
  created: ''
4
4
  type: brief
5
5
  ---