UNPKG

scai

Version:

> **A local-first AI CLI for understanding, querying, and iterating on large codebases.** > **100% local • No token costs • No cloud • No prompt injection • Private by design**

202 lines (145 loc) 9.75 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 ## 2025-08-30 * Add new workflow management functionality to handle file writes. ## 2025-08-31 • Introduce Agent class with minimal implementation • Improve test-module's filepath handling and variable naming • Rename workflowManager.ts to agent/workflowManager.ts • Improved formatting of agent run summary output ## 2025-08-31 • Update Spinner class to correctly display text and frames • Update CLI help to reflect new agent workflow examples. ## 2025-09-01 * Improve handling of GitHub repository URLs and paths by extracting the owner and name separately ## 2025-09-02 • Added test configuration for project and generated tests • Add runTestsModule and repairTestsModule for testing pipeline ## 2025-09-05 • Enable execution of files as executable files in the scripts • Remove context failure if models not installed • Add ability to set global model ## 2025-09-08 ### Requires DB reset ('scai db reset' followed by 'scai index start') 1. Improved daemon batch processing by skipping missing files, classifying unknown file types, and persisting entities/tags in the database. 2. Invoke kgModule in daemonBatch to build knowledge graphs after indexing. 3. Improved data modeling and extraction logic for functions and classes in TypeScript files. 4. Updated Edge/Table schema for better query performance. 5. Update package-lock.json to caniuse-lite@1.0.30001741. 6. Enable execution of as an executable file in the scripts. 7. Remove context failure if models not installed. Add ability to set global model. ## 2025-09-13 • Improve robustness of context update logic ## 2025-09-18 • Improved logic for handling PR approval and inline comments • Add function call table to graph edge functionality • Improve JSON validation and cleanup in pipeline module