hissuno 0.2.0

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,68 @@
1
+ # Feedback Sessions
2
+
3
+ Customer feedback sessions - conversations from chat widgets, Slack, Intercom, Gong, and other sources.
4
+
5
+ ## Listing
6
+
7
+ | Filter | CLI Option | Values |
8
+ |--------|-----------|--------|
9
+ | source | `--source <source>` | `widget`, `slack`, `intercom`, `gong`, `api`, `manual` |
10
+ | status | `--status <status>` | `active`, `closing_soon`, `awaiting_idle_response`, `closed` |
11
+ | tags | `--tags <tags>` | Comma-separated tag list |
12
+ | contact_id | `--contact-id <id>` | Contact UUID |
13
+ | search | `--search <query>` | Full-text search within feedback content |
14
+
15
+ ## Detail
16
+
17
+ `hissuno get feedback <id>` returns:
18
+
19
+ - Session metadata: name, source, status, tags, message count
20
+ - Full conversation messages (role + content)
21
+ - Page URL and title (for widget sessions)
22
+ - Lifecycle timestamps (first message, last activity, close time)
23
+ - **Relationships** - linked contacts, companies, issues, knowledge sources, product scopes
24
+
25
+ ## Search
26
+
27
+ Semantic vector search. Falls back to full-text search for sessions that have not been analyzed/embedded yet.
28
+
29
+ ```bash
30
+ hissuno search "checkout flow" --type feedback
31
+ ```
32
+
33
+ ## Creation
34
+
35
+ ```bash
36
+ hissuno add feedback
37
+ ```
38
+
39
+ Interactive prompts:
40
+ 1. Messages (loop: select role `user`/`assistant` + enter content, empty to finish)
41
+ 2. Name/title (optional)
42
+ 3. Tags (optional, comma-separated)
43
+
44
+ **MCP add fields:**
45
+
46
+ | Field | Required | Type | Description |
47
+ |-------|----------|------|-------------|
48
+ | `messages` | Yes | array | `[{role: "user"|"assistant", content: string}]` |
49
+ | `name` | No | string | Name/title for the session |
50
+ | `tags` | No | string[] | Classification tags |
51
+
52
+ ## Relationships
53
+
54
+ Feedback sessions connect to:
55
+ - **Contacts** - who sent the feedback
56
+ - **Companies** - via the contact's company
57
+ - **Issues** - bugs or requests surfaced from this conversation
58
+ - **Knowledge sources** - referenced documentation or code
59
+ - **Product scopes** - the product area this feedback relates to
60
+
61
+ ## CLI Examples
62
+
63
+ ```bash
64
+ hissuno list feedback --source intercom --status closed
65
+ hissuno list feedback --contact-id <uuid> --limit 5
66
+ hissuno get feedback <id>
67
+ hissuno add feedback
68
+ ```
@@ -0,0 +1,96 @@
1
+ # Knowledge Graph Traversal
2
+
3
+ Hissuno stores all data in an interconnected knowledge graph. Every entity can link to any other entity via universal edges, enabling rich cross-entity queries.
4
+
5
+ ## Entity Types
6
+
7
+ | Entity Type | CLI Type | Description |
8
+ |-------------|----------|-------------|
9
+ | `company` | `customers --customer-type companies` | Customer organizations |
10
+ | `contact` | `customers` (default) | Individual people |
11
+ | `issue` | `issues` | Bugs, features, change requests |
12
+ | `session` | `feedback` | Feedback conversations |
13
+ | `knowledge_source` | `knowledge` | Codebases, docs, URLs |
14
+ | `product_scope` | `scopes` | Product areas and initiatives |
15
+
16
+ ## Reading Relationships
17
+
18
+ Every `hissuno get <type> <id>` call returns a `relationships` section showing all connected entities, grouped by type:
19
+
20
+ ```
21
+ Related Entities:
22
+ Companies (2): Acme Corp, Globex Inc
23
+ Contacts (3): Jane Doe, John Smith, Alex Chen
24
+ Issues (1): Login timeout on mobile
25
+ Product Scopes (1): API Platform
26
+ ```
27
+
28
+ With `--json`, relationships appear as:
29
+ ```json
30
+ {
31
+ "relationships": {
32
+ "companies": [{"id": "...", "name": "Acme Corp", "domain": "acme.com"}],
33
+ "contacts": [{"id": "...", "name": "Jane Doe", "email": "jane@acme.com"}],
34
+ "issues": [{"id": "...", "title": "Login timeout", "type": "bug", "status": "open"}],
35
+ "sessions": [],
36
+ "knowledgeSources": [],
37
+ "productScopes": [{"id": "...", "name": "API Platform"}]
38
+ }
39
+ }
40
+ ```
41
+
42
+ ## Filtering by Relationship
43
+
44
+ Some `list` commands accept relationship-based filters:
45
+
46
+ | Command | Filter | Description |
47
+ |---------|--------|-------------|
48
+ | `hissuno list feedback` | `--contact-id <id>` | Feedback from a specific contact |
49
+ | `hissuno list customers` | `--company-id <id>` | Contacts at a specific company |
50
+
51
+ The API supports additional relationship filters (`productScopeIds`, `goalId` on issues) not yet exposed in the CLI.
52
+
53
+ ## Common Traversal Patterns
54
+
55
+ ### Issues in a product area
56
+
57
+ 1. `hissuno list scopes` - find the scope ID
58
+ 2. `hissuno get scopes <id>` - check relationships.issues
59
+
60
+ Or via API: `GET /api/issues?productScopeIds=<id>` for filtered listing.
61
+
62
+ ### Feedback from a specific company's contacts
63
+
64
+ 1. `hissuno list customers --company-id <id>` - find contacts at the company
65
+ 2. For each contact: `hissuno list feedback --contact-id <id>`
66
+
67
+ ### Issues aligned with a goal
68
+
69
+ 1. `hissuno list scopes` - find the scope, note the goal ID
70
+ 2. Via API: `GET /api/issues?goalId=<goalId>` (not yet in CLI)
71
+ 3. Alternative: `hissuno get scopes <id>` and check relationships.issues
72
+
73
+ ### Companies affected by an issue
74
+
75
+ 1. `hissuno get issues <id>` - check relationships.companies (shown in related entities)
76
+
77
+ ### Full picture for a contact
78
+
79
+ 1. `hissuno get customers <id>` - returns all relationships in one call:
80
+ - Company they belong to
81
+ - Feedback sessions they created
82
+ - Issues they reported
83
+ - Product scopes they engage with
84
+
85
+ ### Trace feedback to product impact
86
+
87
+ 1. `hissuno get feedback <id>` - note related issues and product scopes
88
+ 2. `hissuno get issues <id>` for each linked issue - see priority, RICE scores
89
+ 3. `hissuno get scopes <id>` for the product area - see goals and other related issues
90
+
91
+ ## Tips
92
+
93
+ - Always use `--json` when building multi-step traversals programmatically
94
+ - `get` is the primary traversal tool - it returns all relationships in one call
95
+ - For large result sets, use `--limit` to control pagination
96
+ - Entity IDs are UUIDs - pass them exactly between commands
@@ -0,0 +1,83 @@
1
+ # Integrations
2
+
3
+ Connect external data sources to Hissuno via the CLI or dashboard.
4
+
5
+ ## Supported Platforms
6
+
7
+ | Platform | Connection | Syncable | Description |
8
+ |----------|-----------|----------|-------------|
9
+ | Intercom | Token or OAuth | Yes | Customer conversations |
10
+ | Gong | Token | Yes | Sales call recordings |
11
+ | Zendesk | Token | Yes | Support tickets |
12
+ | Slack | OAuth | No | Workspace messages |
13
+ | GitHub | OAuth | No | Issues and PRs |
14
+ | Jira | OAuth | No | Issue tracking (auto-sync available) |
15
+ | Linear | OAuth | No | Issue tracking (auto-sync available) |
16
+
17
+ **Syncable** platforms pull data on a schedule (manual, 1h, 6h, 24h). Non-syncable platforms use real-time hooks or manual import.
18
+
19
+ ## Dashboard-Only Integrations
20
+
21
+ These integrations are configured through the Hissuno dashboard, not the CLI:
22
+ - Chat widget (embedded on your site)
23
+ - PostHog (product analytics)
24
+ - HubSpot (CRM)
25
+ - Fathom (meeting recordings)
26
+ - Notion (documentation)
27
+
28
+ ## CLI Commands
29
+
30
+ ### List all integrations
31
+
32
+ ```bash
33
+ hissuno integrate # Shows status of all 7 platforms
34
+ hissuno integrate --json # JSON output
35
+ ```
36
+
37
+ ### Interactive setup
38
+
39
+ ```bash
40
+ hissuno integrate <platform> # Interactive wizard: shows status, offers connect/configure/sync/disconnect
41
+ ```
42
+
43
+ ### Direct actions
44
+
45
+ ```bash
46
+ hissuno integrate <platform> status # Detailed connection status
47
+ hissuno integrate <platform> connect # Connect (OAuth opens browser, token prompts for credentials)
48
+ hissuno integrate <platform> configure # Update sync frequency or settings
49
+ hissuno integrate <platform> sync # Trigger manual sync (syncable platforms only)
50
+ hissuno integrate <platform> sync --mode full # Full re-sync (vs incremental)
51
+ hissuno integrate <platform> disconnect # Disconnect (with confirmation)
52
+ ```
53
+
54
+ ### Connection Options
55
+
56
+ Some platforms accept credentials directly (non-interactive):
57
+
58
+ **Gong:**
59
+ ```bash
60
+ hissuno integrate gong connect --access-key <key> --access-key-secret <secret> --base-url <url> --sync-frequency 24h
61
+ ```
62
+
63
+ **Zendesk:**
64
+ ```bash
65
+ hissuno integrate zendesk connect --subdomain <sub> --email <email> --api-token <token> --sync-frequency 24h
66
+ ```
67
+
68
+ **Intercom:**
69
+ ```bash
70
+ hissuno integrate intercom connect --access-token <token> --sync-frequency 24h
71
+ ```
72
+
73
+ ## Status Details
74
+
75
+ Each platform returns different status fields when connected:
76
+
77
+ - **Intercom**: workspace name, auth method, sync frequency, last sync status, conversations synced
78
+ - **Gong**: sync frequency, last sync status, calls synced
79
+ - **Zendesk**: subdomain, account name, sync frequency, last sync status, tickets synced
80
+ - **Slack**: workspace name, domain, installed by
81
+ - **GitHub**: account login, installed by
82
+ - **Jira**: site URL, project key, issue type, auto-sync status
83
+ - **Linear**: organization, team, auto-sync status
@@ -0,0 +1,72 @@
1
+ # Issues
2
+
3
+ Product issues - bugs, feature requests, and change requests tracked from customer feedback.
4
+
5
+ ## Listing
6
+
7
+ | Filter | CLI Option | Values |
8
+ |--------|-----------|--------|
9
+ | type | `--issue-type <type>` | `bug`, `feature_request`, `change_request` |
10
+ | priority | `--priority <priority>` | `low`, `medium`, `high` |
11
+ | status | `--status <status>` | `open`, `ready`, `in_progress`, `resolved`, `closed` |
12
+ | search | `--search <query>` | Text search within title and description |
13
+
14
+ The API also accepts `productScopeIds` (comma-separated UUIDs) and `goalId` filters, but these are not yet exposed as CLI options. Use `--json` with the API directly if you need scope-filtered issue lists.
15
+
16
+ ## Detail
17
+
18
+ `hissuno get issues <id>` returns:
19
+
20
+ - Title, description, type, priority, status
21
+ - RICE scores (reach, impact, confidence, effort) when computed
22
+ - Impact analysis and brief (when generated)
23
+ - Upvote count
24
+ - **Relationships** - linked feedback sessions, contacts, companies, knowledge sources, product scopes
25
+
26
+ ## Search
27
+
28
+ Semantic vector search for finding similar issues by meaning.
29
+
30
+ ```bash
31
+ hissuno search "login failures" --type issues
32
+ ```
33
+
34
+ ## Creation
35
+
36
+ ```bash
37
+ hissuno add issues
38
+ ```
39
+
40
+ Interactive prompts:
41
+ 1. Type (bug / feature request / change request)
42
+ 2. Title
43
+ 3. Description
44
+ 4. Priority (optional: low / medium / high)
45
+
46
+ **MCP add fields:**
47
+
48
+ | Field | Required | Type | Description |
49
+ |-------|----------|------|-------------|
50
+ | `type` | Yes | string | `bug`, `feature_request`, or `change_request` |
51
+ | `title` | Yes | string | Issue title |
52
+ | `description` | Yes | string | Detailed description |
53
+ | `priority` | No | string | `low`, `medium`, or `high` |
54
+
55
+ ## Relationships
56
+
57
+ Issues connect to:
58
+ - **Feedback sessions** - conversations that surfaced this issue
59
+ - **Contacts** - customers who reported or are affected
60
+ - **Companies** - organizations impacted
61
+ - **Knowledge sources** - relevant code or documentation
62
+ - **Product scopes** - the product area or initiative this issue belongs to (with optional goal alignment)
63
+
64
+ ## CLI Examples
65
+
66
+ ```bash
67
+ hissuno list issues --status open --priority high
68
+ hissuno list issues --issue-type bug
69
+ hissuno get issues <id>
70
+ hissuno search "payment timeout" --type issues
71
+ hissuno add issues
72
+ ```
@@ -0,0 +1,42 @@
1
+ # Knowledge Sources
2
+
3
+ Analyzed knowledge sources - codebases, documents, and URLs that have been processed into searchable chunks.
4
+
5
+ ## Listing
6
+
7
+ No filters available. `hissuno list knowledge` returns all knowledge sources.
8
+
9
+ ## Detail
10
+
11
+ `hissuno get knowledge <id>` returns:
12
+
13
+ - Name, type (codebase, document, URL), status
14
+ - Processing metadata (chunk count, last analyzed)
15
+ - **Relationships** - linked issues, feedback sessions, product scopes, contacts, companies
16
+
17
+ ## Search
18
+
19
+ Semantic vector search across all knowledge chunks. Matches by meaning, not exact text.
20
+
21
+ ```bash
22
+ hissuno search "authentication flow" --type knowledge
23
+ ```
24
+
25
+ ## Creation
26
+
27
+ Not supported via CLI or MCP. Add knowledge sources through the Hissuno dashboard.
28
+
29
+ ## Relationships
30
+
31
+ Knowledge sources connect to all other entity types in the graph. Common connections:
32
+ - **Issues** - bugs or feature requests referencing this codebase/doc
33
+ - **Product scopes** - the product area this knowledge belongs to
34
+ - **Feedback sessions** - customer conversations that reference this knowledge
35
+
36
+ ## CLI Examples
37
+
38
+ ```bash
39
+ hissuno list knowledge # List all sources
40
+ hissuno get knowledge <id> # Full details + relationships
41
+ hissuno search "payment processing" --type knowledge # Semantic search
42
+ ```
@@ -0,0 +1,116 @@
1
+ # Hissuno MCP Tools
2
+
3
+ Alternative to the CLI for agents that support MCP (Claude Desktop, Cursor, etc.). The CLI can do everything the MCP server can, so MCP is only needed if your environment prefers native tool calls over shell commands.
4
+
5
+ ## Setup
6
+
7
+ The MCP server runs as a Streamable HTTP endpoint alongside the main Hissuno app.
8
+
9
+ ### 1. Start the MCP server
10
+
11
+ ```bash
12
+ # From the Hissuno app directory
13
+ npx tsx src/mcp/app.ts
14
+ ```
15
+
16
+ The server starts on `http://localhost:3100` by default. Override with `MCP_PORT` env var.
17
+
18
+ ### 2. Configure your MCP client
19
+
20
+ Add to your MCP client config (e.g. `~/.claude/mcp.json` or Cursor settings):
21
+
22
+ ```json
23
+ {
24
+ "mcpServers": {
25
+ "hissuno": {
26
+ "type": "streamable-http",
27
+ "url": "http://localhost:3100/mcp",
28
+ "headers": {
29
+ "Authorization": "Bearer hiss_your_api_key_here"
30
+ }
31
+ }
32
+ }
33
+ }
34
+ ```
35
+
36
+ ### 3. Verify
37
+
38
+ Health check: `GET http://localhost:3100/health`
39
+
40
+ ## Authentication
41
+
42
+ - **API key** (required): `Authorization: Bearer hiss_...` - scopes access to the key's project
43
+ - **Contact token** (optional): `X-Contact-Token: <JWT>` - further scopes access to a single contact within the project
44
+
45
+ ## Tools
46
+
47
+ ### `list_resource_types`
48
+
49
+ Returns all resource types with their filters, search behavior, and add fields. Call this first to understand what data is available.
50
+
51
+ **Args:** none
52
+
53
+ ### `list_resources`
54
+
55
+ Browse resources with optional filters.
56
+
57
+ **Args:**
58
+ | Arg | Required | Description |
59
+ |-----|----------|-------------|
60
+ | `type` | yes | `knowledge`, `feedback`, `issues`, `customers` |
61
+ | `filters` | no | Object of filters (see `list_resource_types` for available filters per type) |
62
+ | `limit` | no | Max results (default: 20, max: 50) |
63
+
64
+ ### `get_resource`
65
+
66
+ Get full details of a specific resource including relationships.
67
+
68
+ **Args:**
69
+ | Arg | Required | Description |
70
+ |-----|----------|-------------|
71
+ | `type` | yes | `knowledge`, `feedback`, `issues`, `customers` |
72
+ | `id` | yes | Resource UUID |
73
+
74
+ ### `search_resources`
75
+
76
+ Semantic search across resources using natural language.
77
+
78
+ **Args:**
79
+ | Arg | Required | Description |
80
+ |-----|----------|-------------|
81
+ | `query` | yes | Natural language search query |
82
+ | `type` | no | Limit to one type (omit to search all) |
83
+ | `limit` | no | Max results per type (default: 10, max: 20) |
84
+
85
+ ### `add_resource`
86
+
87
+ Create a new resource. Not available in contact mode.
88
+
89
+ **Args:**
90
+ | Arg | Required | Description |
91
+ |-----|----------|-------------|
92
+ | `type` | yes | `knowledge`, `feedback`, `issues`, `customers` |
93
+ | `data` | yes | Object with resource fields (see `list_resource_types`) |
94
+
95
+ ### `ask_hissuno`
96
+
97
+ Ask the Hissuno agent a natural language question. It has access to all knowledge, feedback, issues, and contacts within the project.
98
+
99
+ **Args:**
100
+ | Arg | Required | Description |
101
+ |-----|----------|-------------|
102
+ | `question` | yes | Your question or request |
103
+ | `thread_id` | no | Thread ID to continue a previous conversation |
104
+
105
+ ## CLI Equivalents
106
+
107
+ | MCP Tool | CLI Command |
108
+ |----------|-------------|
109
+ | `list_resource_types` | `hissuno types` |
110
+ | `list_resources` | `hissuno list <type>` |
111
+ | `get_resource` | `hissuno get <type> <id>` |
112
+ | `search_resources` | `hissuno search <query>` |
113
+ | `add_resource` | `hissuno add <type>` |
114
+ | `ask_hissuno` | No CLI equivalent |
115
+
116
+ Note: `scopes` (product scopes) are CLI-only and not available via MCP. `ask_hissuno` is MCP-only.
@@ -0,0 +1,95 @@
1
+ # Product Scopes
2
+
3
+ Product areas and initiatives that organize your product into logical groupings. Each scope can have goals - measurable objectives that issues and feedback align against.
4
+
5
+ CLI type: `scopes` | Entity type in graph: `product_scope`
6
+
7
+ ## Types
8
+
9
+ | Type | Description |
10
+ |------|-------------|
11
+ | `product_area` | A permanent area of the product (e.g., "Reporting", "API Platform") |
12
+ | `initiative` | A time-bound effort (e.g., "Q1 Mobile Launch", "Auth Migration") |
13
+
14
+ ## Listing
15
+
16
+ No filters available. `hissuno list scopes` returns all scopes ordered by position.
17
+
18
+ ## Detail
19
+
20
+ `hissuno get scopes <id>` returns:
21
+
22
+ - Name, type (product_area or initiative), description
23
+ - Color, position, is_default flag
24
+ - Goals array: `[{id, text}]`
25
+ - **Relationships** - linked issues, feedback sessions, contacts, companies, knowledge sources
26
+
27
+ ## Search
28
+
29
+ Not available via CLI search. Browse scopes with `list` or look up by ID with `get`.
30
+
31
+ ## Creation
32
+
33
+ ```bash
34
+ hissuno add scopes
35
+ ```
36
+
37
+ Interactive prompts:
38
+ 1. Name (required)
39
+ 2. Type: product_area or initiative (required)
40
+ 3. Description (optional)
41
+ 4. Goals (optional, loop: enter goal text, empty to finish, max 10)
42
+
43
+ **API add fields:**
44
+
45
+ | Field | Required | Type | Description |
46
+ |-------|----------|------|-------------|
47
+ | `name` | Yes | string | Scope name |
48
+ | `type` | Yes | string | `product_area` or `initiative` |
49
+ | `description` | No | string | Scope description |
50
+ | `goals` | No | array | `[{id, text}]` - measurable objectives |
51
+
52
+ ## Update
53
+
54
+ ```bash
55
+ hissuno update scopes <id>
56
+ ```
57
+
58
+ Interactive prompts to change name, type, description, or manage goals (add, replace, clear).
59
+
60
+ **API update fields:**
61
+
62
+ | Field | Type | Description |
63
+ |-------|------|-------------|
64
+ | `name` | string | New name |
65
+ | `type` | string | `product_area` or `initiative` |
66
+ | `description` | string | New description |
67
+ | `goals` | array or null | Replace goals (null to clear) |
68
+
69
+ ## Goals
70
+
71
+ Goals are measurable objectives attached to a scope. They serve as alignment targets - when the system reviews feedback or analyzes issues, it checks whether they align with active goals.
72
+
73
+ Example goals for a "Reporting & Analytics" product area:
74
+ - "Enable self-serve data export (CSV, PDF) for non-technical users"
75
+ - "Achieve <2s load time for dashboards with 1M+ rows"
76
+
77
+ Goal IDs follow the format `g_<timestamp>_<index>` when created via CLI.
78
+
79
+ ## Relationships
80
+
81
+ Product scopes connect to:
82
+ - **Issues** - bugs and feature requests in this product area (with optional goal alignment metadata)
83
+ - **Feedback sessions** - customer conversations related to this area
84
+ - **Contacts** - customers who engage with this area
85
+ - **Companies** - organizations using this product area
86
+ - **Knowledge sources** - documentation and code for this area
87
+
88
+ ## CLI Examples
89
+
90
+ ```bash
91
+ hissuno list scopes # List all scopes
92
+ hissuno get scopes <id> # Full details + relationships
93
+ hissuno add scopes # Create a new scope
94
+ hissuno update scopes <id> # Modify scope or goals
95
+ ```