goldfish-cli


Namegoldfish-cli JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryAI-First Personal Knowledge Management CLI
upload_time2025-07-10 03:03:01
maintainerNone
docs_urlNone
authorGoldfish Team
requires_python>=3.11
licenseMIT License Copyright (c) 2025 Goldfish Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords ai cli entities knowledge management notes
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🐠 Goldfish CLI

> AI-First Personal Knowledge Management from the Command Line

Goldfish CLI is an intelligent command-line tool that helps you capture, organize, and retrieve your thoughts with AI assistance. It uses advanced entity recognition to automatically extract people, projects, and topics from your notes, while providing human-in-the-loop verification to ensure accuracy.

## ✨ Features

- **🤖 AI-Powered Entity Recognition**: Automatically extracts @mentions, #hashtags, and topics
- **🔗 Smart Entity Linking**: Prevents duplicates by linking similar entities intelligently  
- **💬 Interactive REPL Mode**: Persistent session for seamless thought capture
- **🎯 Human-in-the-Loop**: Verify AI suggestions with create/link/reject/skip options
- **📊 Rich Terminal UI**: Beautiful tables, panels, and color-coded confidence scores
- **⚡ Quick Capture**: Natural language processing for rapid note-taking
- **🔍 Smart Search**: Find entities with fuzzy matching and alias support

## 🚀 Installation

### From PyPI (Recommended)

```bash
pip install goldfish-cli
```

### From Source

```bash
git clone https://github.com/linxichen/goldfish.git
cd goldfish/goldfish-cli
pip install -e .
```

## 🎮 Quick Start

### Interactive Mode
```bash
# Start interactive session
goldfish

# Just type naturally
🐠 Meeting with @sarah about #project-alpha tomorrow

# AI processes and shows suggestions
🤖 Analyzing with AI...
📊 Found 2 entities, 1 task

# Verify suggestions inline
💾 Save this capture? (Y/n): y
```

### Command Mode  
```bash
# Quick capture
goldfish capture quick "TODO: Follow up with @john about #ai-research"

# Review AI suggestions
goldfish suggestions pending

# View dashboard
goldfish dashboard status
```

## 📋 Core Commands

| Command | Description |
|---------|-------------|
| `goldfish` | Start interactive REPL mode |
| `goldfish capture quick <text>` | Quick capture with AI processing |
| `goldfish suggestions pending` | View pending AI suggestions |
| `goldfish suggestions verify-all` | Interactive verification workflow |
| `goldfish dashboard status` | Show overview and statistics |
| `goldfish dashboard entities` | List all entities |
| `goldfish config setup` | Initial configuration |

## 🎯 Entity Recognition

Goldfish automatically recognizes:

- **👥 People**: `@sarah` → Links to person entities
- **📁 Projects**: `#project-alpha` → Links to project entities  
- **🧠 Topics**: Natural language detection of research topics
- **✅ Tasks**: `TODO:`, `follow up`, `need to` patterns

## 🔗 Smart Entity Linking

When AI suggests entities, you have four options:

- **Create** (`c`): Make new entity from suggestion
- **Link** (`l`): Connect to existing entity (shows candidates with match scores)
- **Reject** (`r`): Mark as incorrect (helps AI learn)
- **Skip** (`s`): Leave for later review

```
🔗 Found existing entities to link to:
┌────────┬─────────────────┬─────────┬─────────────────┐
│ Option │ Name            │ Match   │ Details         │
├────────┼─────────────────┼─────────┼─────────────────┤
│ 1      │ Sarah Johnson   │ 85%     │ aliases: sarah  │
│ 2      │ Sarah Martinez  │ 70%     │ aliases: s.m    │
│ 0      │ Create new      │ 100%    │ New entity      │
└────────┴─────────────────┴─────────┴─────────────────┘

Select entity to link to (0-2) [0]: 1
🔗 Linked to existing entity: Sarah Johnson
```

## 🏗️ Architecture

Goldfish CLI is built with:

- **Click**: Command-line interface framework
- **Rich**: Beautiful terminal formatting  
- **SQLModel**: Database ORM with SQLite storage
- **Prompt Toolkit**: Interactive prompts with history
- **Pydantic**: Configuration and data validation

## 🛠️ Development

### Setup Development Environment

```bash
git clone https://github.com/linxichen/goldfish.git
cd goldfish/goldfish-cli

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

# Run linting
ruff check .
black --check .
mypy .
```

### Project Structure

```
goldfish-cli/
├── src/goldfish_cli/          # Main package
│   ├── __init__.py
│   ├── main.py               # CLI entry point
│   ├── commands/             # Command implementations
│   ├── core/                 # Core functionality
│   ├── models/               # Database models
│   └── services/             # Business logic
├── tests/                    # Test suite
├── docs/                     # Documentation
└── pyproject.toml           # Package configuration
```

## 📖 Documentation

- [Installation Guide](docs/installation.md)
- [User Guide](docs/user-guide.md)
- [Developer Guide](docs/development.md)
- [API Reference](docs/api.md)

## 🤝 Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests and documentation
5. Submit a pull request

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

Built with modern Python tools and inspired by the best CLI experiences:
- [Click](https://click.palletsprojects.com/) for the CLI framework
- [Rich](https://rich.readthedocs.io/) for beautiful terminal output
- [SQLModel](https://sqlmodel.tiangolo.com/) for type-safe database operations

---

<div align="center">

**[🏠 Homepage](https://github.com/linxichen/goldfish)** • 
**[📚 Documentation](https://github.com/linxichen/goldfish/tree/main/goldfish-cli)** • 
**[🐛 Report Bug](https://github.com/linxichen/goldfish/issues)** • 
**[💡 Request Feature](https://github.com/linxichen/goldfish/issues)**

Made with ❤️ for knowledge workers everywhere

</div>
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "goldfish-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "ai, cli, entities, knowledge, management, notes",
    "author": "Goldfish Team",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/44/4a/62c6d5aba4d84d2eff7115b2f76881a1ce21455acae726bba35126e8bd5c/goldfish_cli-0.1.4.tar.gz",
    "platform": null,
    "description": "# \ud83d\udc20 Goldfish CLI\n\n> AI-First Personal Knowledge Management from the Command Line\n\nGoldfish CLI is an intelligent command-line tool that helps you capture, organize, and retrieve your thoughts with AI assistance. It uses advanced entity recognition to automatically extract people, projects, and topics from your notes, while providing human-in-the-loop verification to ensure accuracy.\n\n## \u2728 Features\n\n- **\ud83e\udd16 AI-Powered Entity Recognition**: Automatically extracts @mentions, #hashtags, and topics\n- **\ud83d\udd17 Smart Entity Linking**: Prevents duplicates by linking similar entities intelligently  \n- **\ud83d\udcac Interactive REPL Mode**: Persistent session for seamless thought capture\n- **\ud83c\udfaf Human-in-the-Loop**: Verify AI suggestions with create/link/reject/skip options\n- **\ud83d\udcca Rich Terminal UI**: Beautiful tables, panels, and color-coded confidence scores\n- **\u26a1 Quick Capture**: Natural language processing for rapid note-taking\n- **\ud83d\udd0d Smart Search**: Find entities with fuzzy matching and alias support\n\n## \ud83d\ude80 Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install goldfish-cli\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/linxichen/goldfish.git\ncd goldfish/goldfish-cli\npip install -e .\n```\n\n## \ud83c\udfae Quick Start\n\n### Interactive Mode\n```bash\n# Start interactive session\ngoldfish\n\n# Just type naturally\n\ud83d\udc20 Meeting with @sarah about #project-alpha tomorrow\n\n# AI processes and shows suggestions\n\ud83e\udd16 Analyzing with AI...\n\ud83d\udcca Found 2 entities, 1 task\n\n# Verify suggestions inline\n\ud83d\udcbe Save this capture? (Y/n): y\n```\n\n### Command Mode  \n```bash\n# Quick capture\ngoldfish capture quick \"TODO: Follow up with @john about #ai-research\"\n\n# Review AI suggestions\ngoldfish suggestions pending\n\n# View dashboard\ngoldfish dashboard status\n```\n\n## \ud83d\udccb Core Commands\n\n| Command | Description |\n|---------|-------------|\n| `goldfish` | Start interactive REPL mode |\n| `goldfish capture quick <text>` | Quick capture with AI processing |\n| `goldfish suggestions pending` | View pending AI suggestions |\n| `goldfish suggestions verify-all` | Interactive verification workflow |\n| `goldfish dashboard status` | Show overview and statistics |\n| `goldfish dashboard entities` | List all entities |\n| `goldfish config setup` | Initial configuration |\n\n## \ud83c\udfaf Entity Recognition\n\nGoldfish automatically recognizes:\n\n- **\ud83d\udc65 People**: `@sarah` \u2192 Links to person entities\n- **\ud83d\udcc1 Projects**: `#project-alpha` \u2192 Links to project entities  \n- **\ud83e\udde0 Topics**: Natural language detection of research topics\n- **\u2705 Tasks**: `TODO:`, `follow up`, `need to` patterns\n\n## \ud83d\udd17 Smart Entity Linking\n\nWhen AI suggests entities, you have four options:\n\n- **Create** (`c`): Make new entity from suggestion\n- **Link** (`l`): Connect to existing entity (shows candidates with match scores)\n- **Reject** (`r`): Mark as incorrect (helps AI learn)\n- **Skip** (`s`): Leave for later review\n\n```\n\ud83d\udd17 Found existing entities to link to:\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 Option \u2502 Name            \u2502 Match   \u2502 Details         \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 1      \u2502 Sarah Johnson   \u2502 85%     \u2502 aliases: sarah  \u2502\n\u2502 2      \u2502 Sarah Martinez  \u2502 70%     \u2502 aliases: s.m    \u2502\n\u2502 0      \u2502 Create new      \u2502 100%    \u2502 New entity      \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\nSelect entity to link to (0-2) [0]: 1\n\ud83d\udd17 Linked to existing entity: Sarah Johnson\n```\n\n## \ud83c\udfd7\ufe0f Architecture\n\nGoldfish CLI is built with:\n\n- **Click**: Command-line interface framework\n- **Rich**: Beautiful terminal formatting  \n- **SQLModel**: Database ORM with SQLite storage\n- **Prompt Toolkit**: Interactive prompts with history\n- **Pydantic**: Configuration and data validation\n\n## \ud83d\udee0\ufe0f Development\n\n### Setup Development Environment\n\n```bash\ngit clone https://github.com/linxichen/goldfish.git\ncd goldfish/goldfish-cli\n\n# Install in development mode\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Run linting\nruff check .\nblack --check .\nmypy .\n```\n\n### Project Structure\n\n```\ngoldfish-cli/\n\u251c\u2500\u2500 src/goldfish_cli/          # Main package\n\u2502   \u251c\u2500\u2500 __init__.py\n\u2502   \u251c\u2500\u2500 main.py               # CLI entry point\n\u2502   \u251c\u2500\u2500 commands/             # Command implementations\n\u2502   \u251c\u2500\u2500 core/                 # Core functionality\n\u2502   \u251c\u2500\u2500 models/               # Database models\n\u2502   \u2514\u2500\u2500 services/             # Business logic\n\u251c\u2500\u2500 tests/                    # Test suite\n\u251c\u2500\u2500 docs/                     # Documentation\n\u2514\u2500\u2500 pyproject.toml           # Package configuration\n```\n\n## \ud83d\udcd6 Documentation\n\n- [Installation Guide](docs/installation.md)\n- [User Guide](docs/user-guide.md)\n- [Developer Guide](docs/development.md)\n- [API Reference](docs/api.md)\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests and documentation\n5. Submit a pull request\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\nBuilt with modern Python tools and inspired by the best CLI experiences:\n- [Click](https://click.palletsprojects.com/) for the CLI framework\n- [Rich](https://rich.readthedocs.io/) for beautiful terminal output\n- [SQLModel](https://sqlmodel.tiangolo.com/) for type-safe database operations\n\n---\n\n<div align=\"center\">\n\n**[\ud83c\udfe0 Homepage](https://github.com/linxichen/goldfish)** \u2022 \n**[\ud83d\udcda Documentation](https://github.com/linxichen/goldfish/tree/main/goldfish-cli)** \u2022 \n**[\ud83d\udc1b Report Bug](https://github.com/linxichen/goldfish/issues)** \u2022 \n**[\ud83d\udca1 Request Feature](https://github.com/linxichen/goldfish/issues)**\n\nMade with \u2764\ufe0f for knowledge workers everywhere\n\n</div>",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2025 Goldfish Team\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.",
    "summary": "AI-First Personal Knowledge Management CLI",
    "version": "0.1.4",
    "project_urls": {
        "Bug Reports": "https://github.com/linxichen/goldfish/issues",
        "Documentation": "https://github.com/linxichen/goldfish/tree/main/goldfish-cli",
        "Homepage": "https://github.com/linxichen/goldfish",
        "Repository": "https://github.com/linxichen/goldfish"
    },
    "split_keywords": [
        "ai",
        " cli",
        " entities",
        " knowledge",
        " management",
        " notes"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "17bdb0b6e54823b806bfd19cf53bb12b298067aa047523fff9ec6df0c789a0f4",
                "md5": "4332a3d588437a968218663a8526421f",
                "sha256": "6fb954b180aba381f5c460142d98654ab205e8d13b9ef17f4bae01fd9e9c16f9"
            },
            "downloads": -1,
            "filename": "goldfish_cli-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4332a3d588437a968218663a8526421f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 24266,
            "upload_time": "2025-07-10T03:03:00",
            "upload_time_iso_8601": "2025-07-10T03:03:00.909774Z",
            "url": "https://files.pythonhosted.org/packages/17/bd/b0b6e54823b806bfd19cf53bb12b298067aa047523fff9ec6df0c789a0f4/goldfish_cli-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "444a62c6d5aba4d84d2eff7115b2f76881a1ce21455acae726bba35126e8bd5c",
                "md5": "263af2a44ad361f52870a7b6708f1a79",
                "sha256": "f2889aaed49d1a325c4e9885bc3553b7183601a20dfccd203bf6c5502bcb2612"
            },
            "downloads": -1,
            "filename": "goldfish_cli-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "263af2a44ad361f52870a7b6708f1a79",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 37643,
            "upload_time": "2025-07-10T03:03:01",
            "upload_time_iso_8601": "2025-07-10T03:03:01.919990Z",
            "url": "https://files.pythonhosted.org/packages/44/4a/62c6d5aba4d84d2eff7115b2f76881a1ce21455acae726bba35126e8bd5c/goldfish_cli-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-10 03:03:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "linxichen",
    "github_project": "goldfish",
    "github_not_found": true,
    "lcname": "goldfish-cli"
}
        
Elapsed time: 1.70043s