UNPKG

scai

Version:

> AI-powered CLI tool for commit messages **and** pull request reviews — using local models.

149 lines (111 loc) 7.94 kB
## 2025-06-23 The new markdown bullet-point entry for CHANGELOG.md includes the following updates: * Added support for generating changelog entries based on Git diffs using the `changelog` command. * Updated the summary of the code file directly to the terminal using the `summ` command. * Refactored the code to use the new `handleChangelogUpdate()` function instead of the old `updateReadmeIfNeeded()` function for generating changelogs. ## 2025-06-24 ### Changelog Update (Version 0.1.16) * Update to version 0.1.16 with changes from `package.json`. * Add support for running modules using the `module` command. * Add support for generating tests using the `tests` module. * Add support for suggesting a commit message using the `suggest` module. * Add support for updating the changelog using the `changelog` module. ## 2025-06-29 Type handling with the module pipeline ┌────────────────────────────────────────────────────────────────┐ │ 1. Command Layer (CLI) │ │ - User interaction │ │ - Handles input/output │ │ │ │ 🡆 Uses: │ │ - Input: PromptInput │ │ - Output: PromptOutput (reads summary/suggestions) │ └────────────┬───────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────┐ │ 2. PromptModule Layer │ │ - Domain-specific logic │ │ - Calls `generate()` │ │ - Parses model output into usable fields │ │ │ │ 🡆 Type: PromptModule │ │ - run(input: PromptInput) => Promise<PromptOutput> │ │ │ │ 🡆 Uses: │ │ - Receives: PromptInput │ │ - Calls: generate(PromptInput, model): Promise<PromptOutput>│ │ - Parses output.content → summary/suggestions fields │ └────────────┬───────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────┐ │ 3. generate() Function │ │ - Sends prompt to model │ │ - Returns raw model text in `.content` │ │ │ │ 🡆 Signature: │ │ generate(input: PromptInput, model: string) │ │ => Promise<PromptOutput> │ │ │ │ 🡆 Output fields: │ │ - content: string (LLM output text) │ │ - filepath?: string (optional passthrough) │ └────────────────────────────────────────────────────────────────┘ ## 2025-06-30 * Added context generation via summaries in sqlite3 db with FTS5 * Improved the `dbstats.sh` script to include more accurate row counts and improved formatting for better readability. (#20) * Added an `IGNORED_FOLDER_GLOBS` constant in `src/config/IgnoredPaths.ts` to allow for ignoring folders and file globs during indexing and scanning. (#17) * Fixed a bug in the `searchFiles` function of `src/db/fileIndex.ts` that prevented search results from being returned correctly. (#25) * Updated the `runModulePipeline` function in `src/pipeline/runModulePipeline.ts` to allow for returning more accurate output and ensure consistent return types. (#27) ## 2025-07-01 ### Version 0.1.20 (2023-04-01) * Added support for querying file summaries and a local model using the `scai ask` command. The command will first search for matching files and pass their summaries to the model for context-based synthesis, if any are found. If no summaries are found, it will instead query the model for context without them. ## 2025-07-12 * • Fixes to improve code quality and maintainability. * • Enhances model initialization for better performance. * • Adds support for generating changelogs based on Git diff. * • Improves the handling of ignored files to reduce noise in the model. * • Updates the `changelog` command to generate a meaningful summary. * • Enhances the `sugg` command to provide more accurate suggestions. * • Fixes issues with refactoring code to improve readability. ## 2025-07-24 * Added token and owner/repo parameters to `getPullRequestsForReview` function * Updated `askUserToPickPR` function to accept a list of PR objects * Removed unnecessary code from `reviewPullRequestCmd` * Added `cancel` option to `askReviewApproval` function ## 2025-08-10 • Removed versioned dist folder • Update .gitignore to ignore Node and build artifacts, editor/IDE files, and project-specific ignores. • Added scripts for building cli, server, and dashboard • Restructure the workspace into 3 modules, cli, dashboard, server • Improved `askChangelogApproval` to support editing and skipping of changelog entries ## 2025-08-12 * Added support for backing up SCAI folder with timestamped directory. * Split file processing into logical chunks with logging. * Improved commit suggestion generation logic. * Removed unnecessary files and updated index.ts to use handleAgentRun instead. * Fetch download statistics from NPM API. ## 2025-08-16 • Update preserveCodeModule to compare blocks correctly and handle duplicate blocks • Normalize line endings and detect comments in preserveCodeModule ## 2025-08-18 • Add interactive delete repository command • Refactor DeleteIndex command to handle repository deletion correctly ## 2025-08-19 * Improved line classification and merging logic ## 2025-08-19 • Update `gen` command's `comm` subcommand to allow targeting files or folders ## 2025-08-20 • Add DB-related commands to db subcommand (check, reset, migrate) • Update table view limits for files and functions in dbcheck.ts • Improved resetDatabase command with confirmation prompt before deleting database ## 2025-08-23 * Improved CLI configuration settings with context-aware actions * Improved logging and added active repo change detection ## 2025-08-24 • Improved CLI review command with AI-generated suggestions and enhanced user interface. ## 2025-08-26 • Fixed bug where entire block was returned as a single line for multi-line comments • Add multi-line comment handling with ~90% accuracy • Update CLI config file to use codellama:13b model and 4096 context length