@hasna/microservices 0.0.15 → 0.0.16
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 +25 -163
- package/bin/index.js +4451 -3189
- package/bin/mcp.js +5312 -4029
- package/dist/index.js +3806 -3153
- package/microservices/microservice-ads/package.json +1 -0
- package/microservices/microservice-ads/src/db/database.ts +20 -22
- package/microservices/microservice-analytics/package.json +1 -0
- package/microservices/microservice-analytics/src/db/database.ts +20 -22
- package/microservices/microservice-assets/package.json +1 -0
- package/microservices/microservice-assets/src/db/database.ts +20 -22
- package/microservices/microservice-bookkeeping/package.json +1 -0
- package/microservices/microservice-bookkeeping/src/db/database.ts +20 -22
- package/microservices/microservice-calendar/package.json +1 -0
- package/microservices/microservice-calendar/src/db/database.ts +20 -11
- package/microservices/microservice-company/package.json +1 -0
- package/microservices/microservice-company/src/db/database.ts +20 -22
- package/microservices/microservice-compliance/package.json +1 -0
- package/microservices/microservice-compliance/src/db/database.ts +20 -22
- package/microservices/microservice-contacts/package.json +1 -0
- package/microservices/microservice-contacts/src/db/database.ts +20 -22
- package/microservices/microservice-contracts/package.json +1 -0
- package/microservices/microservice-contracts/src/db/database.ts +20 -22
- package/microservices/microservice-crm/package.json +1 -0
- package/microservices/microservice-crm/src/db/database.ts +20 -11
- package/microservices/microservice-documents/package.json +1 -0
- package/microservices/microservice-documents/src/db/database.ts +20 -11
- package/microservices/microservice-domains/package.json +1 -0
- package/microservices/microservice-domains/src/db/database.ts +20 -22
- package/microservices/microservice-expenses/package.json +1 -0
- package/microservices/microservice-expenses/src/db/database.ts +20 -11
- package/microservices/microservice-habits/package.json +1 -0
- package/microservices/microservice-habits/src/db/database.ts +20 -22
- package/microservices/microservice-health/package.json +1 -0
- package/microservices/microservice-health/src/db/database.ts +20 -22
- package/microservices/microservice-hiring/package.json +1 -0
- package/microservices/microservice-hiring/src/db/database.ts +20 -22
- package/microservices/microservice-inventory/package.json +1 -0
- package/microservices/microservice-inventory/src/db/database.ts +20 -11
- package/microservices/microservice-invoices/package.json +1 -0
- package/microservices/microservice-invoices/src/db/database.ts +20 -11
- package/microservices/microservice-leads/package.json +1 -0
- package/microservices/microservice-leads/src/db/database.ts +20 -22
- package/microservices/microservice-notes/package.json +1 -0
- package/microservices/microservice-notes/src/db/database.ts +20 -22
- package/microservices/microservice-notifications/package.json +1 -0
- package/microservices/microservice-notifications/src/db/database.ts +20 -22
- package/microservices/microservice-payments/package.json +1 -0
- package/microservices/microservice-payments/src/db/database.ts +20 -22
- package/microservices/microservice-payroll/package.json +1 -0
- package/microservices/microservice-payroll/src/db/database.ts +20 -22
- package/microservices/microservice-products/package.json +1 -0
- package/microservices/microservice-products/src/db/database.ts +20 -22
- package/microservices/microservice-projects/package.json +1 -0
- package/microservices/microservice-projects/src/db/database.ts +20 -22
- package/microservices/microservice-proposals/package.json +1 -0
- package/microservices/microservice-proposals/src/db/database.ts +20 -22
- package/microservices/microservice-reading/package.json +1 -0
- package/microservices/microservice-reading/src/db/database.ts +20 -22
- package/microservices/microservice-shipping/package.json +1 -0
- package/microservices/microservice-shipping/src/db/database.ts +20 -22
- package/microservices/microservice-social/package.json +1 -0
- package/microservices/microservice-social/src/db/database.ts +20 -22
- package/microservices/microservice-subscriptions/package.json +1 -0
- package/microservices/microservice-subscriptions/src/db/database.ts +20 -22
- package/microservices/microservice-timesheets/package.json +1 -0
- package/microservices/microservice-timesheets/src/db/database.ts +20 -11
- package/microservices/microservice-transcriber/package.json +1 -0
- package/microservices/microservice-transcriber/src/db/database.ts +20 -11
- package/microservices/microservice-travel/package.json +1 -0
- package/microservices/microservice-travel/src/db/database.ts +20 -22
- package/microservices/microservice-wiki/package.json +1 -0
- package/microservices/microservice-wiki/src/db/database.ts +20 -22
- package/package.json +2 -2
- package/microservices/microservice-invoices/dashboard/dist/assets/index-Bngq7FNM.css +0 -1
- package/microservices/microservice-invoices/dashboard/dist/assets/index-aHW4ARZR.js +0 -124
- package/microservices/microservice-invoices/dashboard/dist/index.html +0 -13
package/README.md
CHANGED
|
@@ -1,189 +1,51 @@
|
|
|
1
1
|
# @hasna/microservices
|
|
2
2
|
|
|
3
|
-
Mini business apps for AI agents
|
|
3
|
+
Mini business apps for AI agents - invoices, contacts, bookkeeping and more, each with its own SQLite database
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
bun install -g @hasna/microservices
|
|
9
|
-
```
|
|
5
|
+
[](https://www.npmjs.com/package/@hasna/microservices)
|
|
6
|
+
[](LICENSE)
|
|
10
7
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
Register with all AI coding agents in one command:
|
|
8
|
+
## Install
|
|
14
9
|
|
|
15
10
|
```bash
|
|
16
|
-
|
|
11
|
+
npm install -g @hasna/microservices
|
|
17
12
|
```
|
|
18
13
|
|
|
19
|
-
|
|
14
|
+
## CLI Usage
|
|
20
15
|
|
|
21
16
|
```bash
|
|
22
|
-
microservices
|
|
23
|
-
microservices mcp --register codex # Codex CLI
|
|
24
|
-
microservices mcp --register gemini # Gemini CLI
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
**Manual setup** if you prefer:
|
|
28
|
-
|
|
29
|
-
<details>
|
|
30
|
-
<summary>Claude Code (~/.claude.json)</summary>
|
|
31
|
-
|
|
32
|
-
```json
|
|
33
|
-
{
|
|
34
|
-
"mcpServers": {
|
|
35
|
-
"microservices": {
|
|
36
|
-
"type": "stdio",
|
|
37
|
-
"command": "microservices-mcp",
|
|
38
|
-
"args": [],
|
|
39
|
-
"env": {}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
17
|
+
microservices --help
|
|
43
18
|
```
|
|
44
|
-
</details>
|
|
45
19
|
|
|
46
|
-
|
|
47
|
-
|
|
20
|
+
- `microservices install`
|
|
21
|
+
- `microservices remove`
|
|
22
|
+
- `microservices list`
|
|
23
|
+
- `microservices search`
|
|
24
|
+
- `microservices info`
|
|
25
|
+
- `microservices categories`
|
|
26
|
+
- `microservices run`
|
|
27
|
+
- `microservices ops`
|
|
48
28
|
|
|
49
|
-
|
|
50
|
-
[mcp_servers.microservices]
|
|
51
|
-
command = "microservices-mcp"
|
|
52
|
-
```
|
|
53
|
-
</details>
|
|
54
|
-
|
|
55
|
-
<details>
|
|
56
|
-
<summary>Gemini CLI (~/.gemini/settings.json)</summary>
|
|
57
|
-
|
|
58
|
-
```json
|
|
59
|
-
{
|
|
60
|
-
"mcpServers": {
|
|
61
|
-
"microservices": {
|
|
62
|
-
"command": "microservices-mcp",
|
|
63
|
-
"args": []
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
```
|
|
68
|
-
</details>
|
|
69
|
-
|
|
70
|
-
## Quick Start
|
|
29
|
+
## MCP Server
|
|
71
30
|
|
|
72
31
|
```bash
|
|
73
|
-
|
|
74
|
-
microservices
|
|
75
|
-
|
|
76
|
-
# Install microservices
|
|
77
|
-
microservices install contacts invoices
|
|
78
|
-
|
|
79
|
-
# Run commands
|
|
80
|
-
microservices run contacts add --first-name "John" --last-name "Doe" --email "john@acme.com"
|
|
81
|
-
microservices run contacts list --json
|
|
82
|
-
microservices run invoices create --due 2026-04-01
|
|
83
|
-
microservices run invoices add-item --invoice INV-00001 --description "Consulting" --price 5000
|
|
84
|
-
|
|
85
|
-
# Check status
|
|
86
|
-
microservices status
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## Available Microservices
|
|
90
|
-
|
|
91
|
-
| Name | Category | Description |
|
|
92
|
-
|------|----------|-------------|
|
|
93
|
-
| `contacts` | CRM | Contacts, companies, and relationships |
|
|
94
|
-
| `invoices` | Finance | Invoices with line items, clients, and payments |
|
|
95
|
-
| `bookkeeping` | Finance | Double-entry bookkeeping |
|
|
96
|
-
| `expenses` | Finance | Expense tracking and categorization |
|
|
97
|
-
| `crm` | CRM | Sales pipeline with stages, deals, and activities |
|
|
98
|
-
| `inventory` | Operations | Products, stock levels, and movements |
|
|
99
|
-
| `notes` | Productivity | Structured notes with tags and search |
|
|
100
|
-
| `calendar` | Productivity | Events, reminders, and scheduling |
|
|
101
|
-
| `documents` | Productivity | Document metadata and versioning |
|
|
102
|
-
| `timesheets` | HR | Time tracking per project and client |
|
|
103
|
-
|
|
104
|
-
## Architecture
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
.microservices/
|
|
108
|
-
├── microservice-contacts/
|
|
109
|
-
│ ├── data.db # SQLite database (WAL mode)
|
|
110
|
-
│ └── src/ # Service source code
|
|
111
|
-
│ ├── db/ # Database layer (CRUD + migrations)
|
|
112
|
-
│ ├── cli/ # CLI interface (Commander.js)
|
|
113
|
-
│ └── mcp/ # MCP server (per-service)
|
|
114
|
-
├── microservice-invoices/
|
|
115
|
-
│ ├── data.db
|
|
116
|
-
│ └── src/
|
|
117
|
-
└── ...
|
|
32
|
+
microservices-mcp
|
|
118
33
|
```
|
|
119
34
|
|
|
120
|
-
|
|
121
|
-
- Has its **own SQLite database** — no shared state
|
|
122
|
-
- Exposes a **CLI** for direct use
|
|
123
|
-
- Exposes an **MCP server** for AI agents
|
|
124
|
-
- Manages its own **migrations**
|
|
35
|
+
## Cloud Sync
|
|
125
36
|
|
|
126
|
-
|
|
37
|
+
This package supports cloud sync via `@hasna/cloud`:
|
|
127
38
|
|
|
128
39
|
```bash
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
microservices search <query> # Search by name/description
|
|
133
|
-
microservices install <names...> # Install microservices
|
|
134
|
-
microservices remove <name> # Remove (preserves data)
|
|
135
|
-
microservices info <name> # Show details
|
|
136
|
-
microservices status # Show installed + DB sizes
|
|
137
|
-
microservices categories # List categories
|
|
138
|
-
microservices run <name> [args...] # Run a microservice command
|
|
139
|
-
microservices ops <name> # Show available operations
|
|
40
|
+
cloud setup
|
|
41
|
+
cloud sync push --service microservices
|
|
42
|
+
cloud sync pull --service microservices
|
|
140
43
|
```
|
|
141
44
|
|
|
142
|
-
##
|
|
143
|
-
|
|
144
|
-
```bash
|
|
145
|
-
# Hub MCP (management)
|
|
146
|
-
microservices-mcp
|
|
45
|
+
## Data Directory
|
|
147
46
|
|
|
148
|
-
|
|
149
|
-
bun run .microservices/microservice-contacts/src/mcp/index.ts
|
|
150
|
-
bun run .microservices/microservice-invoices/src/mcp/index.ts
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Hub MCP Tools
|
|
154
|
-
|
|
155
|
-
| Tool | Description |
|
|
156
|
-
|------|-------------|
|
|
157
|
-
| `search_microservices` | Search by name or keyword |
|
|
158
|
-
| `list_microservices` | List with optional category filter |
|
|
159
|
-
| `list_categories` | Categories with counts |
|
|
160
|
-
| `microservice_info` | Metadata + install status + DB info |
|
|
161
|
-
| `install_microservice` | Install to .microservices/ |
|
|
162
|
-
| `remove_microservice` | Remove (data preserved by default) |
|
|
163
|
-
| `list_installed` | Installed services with status |
|
|
164
|
-
| `run_microservice` | Execute a command on a service |
|
|
165
|
-
| `list_microservice_operations` | Discover available commands |
|
|
166
|
-
|
|
167
|
-
## Library API
|
|
168
|
-
|
|
169
|
-
```typescript
|
|
170
|
-
import {
|
|
171
|
-
MICROSERVICES,
|
|
172
|
-
searchMicroservices,
|
|
173
|
-
installMicroservice,
|
|
174
|
-
runMicroserviceCommand,
|
|
175
|
-
} from "@hasna/microservices";
|
|
176
|
-
|
|
177
|
-
// Search
|
|
178
|
-
const results = searchMicroservices("finance");
|
|
179
|
-
|
|
180
|
-
// Install
|
|
181
|
-
installMicroservice("contacts");
|
|
182
|
-
|
|
183
|
-
// Run
|
|
184
|
-
const output = await runMicroserviceCommand("contacts", ["list", "--json"]);
|
|
185
|
-
```
|
|
47
|
+
Data is stored in `~/.hasna/microservices/`.
|
|
186
48
|
|
|
187
49
|
## License
|
|
188
50
|
|
|
189
|
-
Apache-2.0
|
|
51
|
+
Apache-2.0 -- see [LICENSE](LICENSE)
|