Metadata-Version: 2.4
Name: conversession
Version: 2.0.7
Author-email: Jordi Carrera Ventura <jordi.carrera.ventura@gmail.com>
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: build
Requires-Dist: midir
Requires-Dist: openai
Requires-Dist: python-dotenv
Requires-Dist: twine
Dynamic: license-file

# Conversession

Prompt management CLI application for Linux and MacOS.

# Requirements

- Python 3.11+
- macOS: `open` and `pbcopy` (built-in)
- Linux (Ubuntu): `xdg-open` plus one clipboard tool: `xclip` or `wl-clipboard`

# CLI help

The `help` command prints the built-in commands and usage:

```
Built-in commands:
  new          Create a new skill
  all          List all skills
  model        Show active model
  model <arg>  Switch model (by name or shorthand)
  models       List all available models
  help         Show this message
  quit         Quit the application

Type <skill>          to edit then open the LLM webpage.
Type <skill> <target> to execute a skill with context.
Type edit <skill>     to edit a skill only (no webpage).
```

# Skills

The bundled skills are available as actions. Type a skill name (optionally followed by a target) to run it:

| Skill | Purpose |
| --- | --- |
| `catalan` | Translate the given text into Catalan. |
| `decode` | For each Makefile target, produce a table of every method/function call made at runtime, with the file and line where it is invoked and where it is defined, plus a short description. |
| `diff` | Compare A vs B and output a structured markdown table of actionable differences, sorted with similarities on top. |
| `eda` | Summarize the file content as a decision tree of topics rooted at the core idea, noting the type of relation between nodes. |
| `forback` | Reformat a two-column table (A, B) into interleaved `A/B` records. |
| `itemize` | Visit the provided links and extract every listed item into a single downloadable CSV table with record numbers, status, summary and direct URLs. |
| `research` | Investigate the given references and return a CSV with `date,url,category,title,key contribution,priority` columns. |
| `summarize` | Summarize the linked article as up to 5 highlight bullet points, plus any actionable advice for individual users. |
| `tutorial` | Reformat a blog post into a markdown file with a code section and a documentation section (or a single Python tutorial). |

Skills are stored as plain markdown files in the `skills` directory bundled with the package, and can be edited with the `new` or `edit` commands.

# Build and publish

`make build ; make push`

or

`make publish`

If any dependencies are required, edit the `pyproject.toml` file, "[project]" field, and add a `dependencies` key with a `List[str]` value, where each string is a `pip`-readable dependency.
