{"id":40765676,"url":"https://github.com/musketeers-br/dc-artisan","last_synced_at":"2026-01-30T20:00:42.071Z","repository":{"id":305413431,"uuid":"1022386501","full_name":"musketeers-br/dc-artisan","owner":"musketeers-br","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-27T20:34:22.000Z","size":3193,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-27T22:21:14.060Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/musketeers-br.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-19T01:11:10.000Z","updated_at":"2025-07-27T20:34:25.000Z","dependencies_parsed_at":"2025-07-20T01:08:46.823Z","dependency_job_id":null,"html_url":"https://github.com/musketeers-br/dc-artisan","commit_stats":null,"previous_names":["musketeers-br/dc-artisan"],"tags_count":0,"template":false,"template_full_name":"intersystems-community/intersystems-iris-dev-template","purl":"pkg:github/musketeers-br/dc-artisan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musketeers-br%2Fdc-artisan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musketeers-br%2Fdc-artisan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musketeers-br%2Fdc-artisan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musketeers-br%2Fdc-artisan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/musketeers-br","download_url":"https://codeload.github.com/musketeers-br/dc-artisan/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musketeers-br%2Fdc-artisan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28918235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T19:10:10.838Z","status":"ssl_error","status_checked_at":"2026-01-30T19:06:40.573Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-21T18:00:26.198Z","updated_at":"2026-01-30T20:00:42.065Z","avatar_url":"https://github.com/musketeers-br.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"[![Gitter](https://img.shields.io/badge/Available%20on-Intersystems%20Open%20Exchange-00b2a9.svg)](https://openexchange.intersystems.com/package/dc-artisan)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat\u0026logo=AdGuard)](LICENSE)\n\n# dc-artisan - Prompt \u0026 RAG Pipeline Toolkit for Developers\n\n**dc-artisan** is a powerful VSCode extension integrated with an InterSystems IRIS backend. It provides developers with a suite of tools for prompt enhancement and building robust Retrieval-Augmented Generation (RAG) pipelines, streamlining the development of AI-powered applications.\n\n![artisan generated image](./assets/artisan_generated_image.png)\n\nThis repository contains the source code for both the VSCode extension and the InterSystems IRIS backend.\n\n## 🚀 Motivation\n\nIn the rapidly evolving landscape of Large Language Models (LLMs), developers need efficient tools to craft, test, and manage prompts and the complex data pipelines that feed them. `dc-artisan` was born out of the need for an integrated environment that brings prompt engineering and RAG pipeline management directly into the developer's primary workspace—VSCode. By leveraging the robust and high-performance data platform capabilities of InterSystems IRIS, `dc-artisan` offers a seamless and powerful solution for building the next generation of AI applications.\n\n## 🛠️ How It Works\n\n`dc-artisan` is composed of two main tools: **Prompt Enhance** and **RAG Pipeline Mode**.\n\n### Prompt Enhance\n\nThis tool is designed to help you craft and test your prompts with precision.\n\n![prompt enhance demo](./vscode-extension/assets/prompt_enhance.gif)\n\n* **Markdown-based Editing**: Write and structure your prompts using the familiar Markdown syntax.\n* **Dynamic Variables**: Easily highlight variables using `{variable}` format (e.g., `{language}`, `{task}`).\n* **Live Preview**: Input test values for your variables and instantly preview the final prompt with the substitutions applied.\n* **Multi-Provider Testing**: Test your prompts against various LLM providers like OpenAI (ChatGPT), Anthropic (Claude), Google (Gemini), and more, thanks to the LiteLLM backend.\n* **AI-Powered Suggestions**: Analyzes your prompt and asks clarifying questions to help you enrich and improve it.\n* **Prompt Tuning Test**: Upload a CSV file with variable inputs to batch test your prompts. dc-artisan evaluates responses and generates comprehensive reports with quality scores and similarity metrics to measure optimization effectiveness.\n\n![Prompt tuning test Demo](./vscode-extension/assets/prompt_tuning_test.gif)\n\n### RAG Pipeline Mode\n\nManage the entire lifecycle of your RAG pipeline's knowledge base.\n\n![rag pipeline demo](./vscode-extension/assets/rag_pipeline.gif)\n\n* **Document Management**:\n  * Upload and embed new documents directly into the vector database. This idea came from [InterSystems Ideas Portal](https://ideas.intersystems.com/ideas/DPI-I-557) and served as the inspiration for the project.\n  * Automatically extract text from common file formats like PDF, PPT, DOCX, and more.\n* **Embedding Operations**:\n  * Atomically view, update, and delete individual text chunks from your vector store.\n  * Perform cost-efficient operations like copying entire documents or namespaces without the need to re-embed the content.\n* **Multi-User Features**:\n  * Full support for multi-user backend instances, allowing teams to collaborate seamlessly.\n  * Includes user/session tracking and detailed audit logs for security and monitoring.\n\n## 📋 Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n* [Docker](https://www.docker.com/get-started) and [Docker Compose](https://docs.docker.com/compose/install/)\n* [Visual Studio Code](https://code.visualstudio.com/)\n* An API Key from at least one LLM provider (e.g., OpenAI, Anthropic, Cohere).\n\n## 🛠️ Installation\n\nThe backend is containerized for easy setup. Follow these steps to get it running.\n\n1.  **Clone the repository:**\n    ```bash\n    git clone [https://github.com/musketeers-br/dc-artisan.git](https://github.com/musketeers-br/dc-artisan.git)\n    cd dc-artisan\n    ```\n\n2.  **Build the Docker container:**\n    This command builds the necessary images for the application. The `--no-cache` flag ensures you are building from the latest source.\n    ```bash\n    docker-compose build --no-cache --progress=plain\n    ```\n\n3.  **Start the application:**\n    This command starts the services in detached mode (`-d`).\n    ```bash\n    docker-compose up -d\n    ```\n\n4.  **Stop and remove containers (when done):**\n    To stop the application and remove all associated containers, networks, and volumes.\n    ```bash\n    docker-compose down --rmi all\n    ```\n\n## 💡 How to Use\n\n### Backend Configuration\n\nFor `dc-artisan` to communicate with LLM providers, you must configure the Business Operation in the InterSystems IRIS backend with your API keys.\n\n`dc-artisan` uses **LiteLLM**, which allows you to connect to multiple providers simultaneously. You need to provide a JSON object containing your API keys in the format expected by LiteLLM.\n\n**Example JSON configuration:**\n```json\n{\n  \"OPENAI_API_KEY\": \"sk-...\",\n  \"ANTHROPIC_API_KEY\": \"sk-ant-...\",\n  \"COHERE_API_KEY\": \"...\",\n  \"GEMINI_API_KEY\": \"...\"\n}\n\n```\n\nYou will add this JSON configuration to the appropriate setting within the IRIS Business Operation for dc-artisan.\n\n## Installing the VSCode Extension\n\nYou can install the dc-artisan extension directly from the [Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=3musketeers-br.dc-artisan).\n\n\n## Compiling and Packaging the VSCode Extension\n\nFollow these steps to compile and generate the .vsix file for the extension, which you can then install in VSCode.\n\nInstall Node.js:\nIf you don't have it, install it from nodejs.org.\n\nNavigate to the extension folder:\nFrom the root of the project, go into the vscode-extension directory.\n\ncd vscode-extension\n\nInstall dependencies:\n\n```bash\nnpm install\n```\n\nInstall vsce globally:\nvsce is the official tool for packaging VSCode extensions.\n\n```bash\nnpm install -g @vscode/vsce\n```\n\nCompile the extension:\nThis will transpile the TypeScript code into JavaScript.\n\n```bash\nnpm run compile\n```\n\nPackage the extension:\nThis command creates the .vsix file.\n\n```bash\nvsce package\n```\n\nAfter running the package command, a file named dc-artisan-x.x.x.vsix will be created in the vscode-extension folder. You can install this file directly into VSCode through the Extensions view (... \u003e \"Install from VSIX...\").\n\n[Artisan on VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=3musketeers-br.dc-artisan)\n\n## 🎖️ Credits\nArtisan is developed with ❤️ by the Musketeers Team\n\n* [José Roberto Pereira](https://community.intersystems.com/user/jos%C3%A9-roberto-pereira-0)\n* [Henry Pereira](https://community.intersystems.com/user/henry-pereira)\n* [Henrique Dias](https://community.intersystems.com/user/henrique-dias-2)\n\n![3Musketeers-br](./assets/3musketeers.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmusketeers-br%2Fdc-artisan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmusketeers-br%2Fdc-artisan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmusketeers-br%2Fdc-artisan/lists"}