diff --git a/.serena/cache/typescript/document_symbols_cache_v23-06-25.pkl b/.serena/cache/typescript/document_symbols_cache_v23-06-25.pkl deleted file mode 100644 index 2ee26de..0000000 Binary files a/.serena/cache/typescript/document_symbols_cache_v23-06-25.pkl and /dev/null differ diff --git a/.serena/memories/code_style_conventions.md b/.serena/memories/code_style_conventions.md deleted file mode 100644 index 53dc36f..0000000 --- a/.serena/memories/code_style_conventions.md +++ /dev/null @@ -1,31 +0,0 @@ -# Code Style and Conventions - -## Naming Conventions -- Interfaces prefixed with `I` (e.g., `ITsPublishJson`) -- Types prefixed with `T` (when applicable) -- All filenames in lowercase -- Class files named as `classes..ts` -- Test files named as `test..ts` or `*.both.ts`, `*.node.ts`, `*.browser.ts` - -## Import Style -- Module dependencies imported via `ts/plugins.ts` -- Use full path references: `plugins.myModule.myClass()` -- Import TypeScript files directly in tests, never compiled JavaScript - -## Code Patterns -- Async/await preferred over callbacks -- Classes for main logic (TsPublish, PublishModule) -- Centralized logging via `logging.ts` -- Plugins pattern for external dependencies - -## TypeScript Conventions -- Use type annotations -- Export classes and functions explicitly -- Module exports through index.ts -- Interfaces in separate interfaces/ directory - -## File Organization -- Source code in `ts/` directory -- Tests in `test/` directory -- Compiled output in `dist_ts/` -- No uppercase in filenames \ No newline at end of file diff --git a/.serena/memories/logging_improvements_2025.md b/.serena/memories/logging_improvements_2025.md deleted file mode 100644 index db77ca8..0000000 --- a/.serena/memories/logging_improvements_2025.md +++ /dev/null @@ -1,49 +0,0 @@ -# Logging Improvements - January 2025 - -## Overview -Enhanced TSPublish logging system with @push.rocks/smartlog and @push.rocks/consolecolor for better visual feedback and user experience. - -## Changes Made - -### 1. Dependencies -- Added @push.rocks/consolecolor (v2.0.3) for colored console output - -### 2. Enhanced logging.ts -- Created color-coded log level indicators with emojis -- Added specialized logging functions: - - `logInfo()` - Cyan info messages - - `logSuccess()` - Green success messages - - `logWarn()` - Orange warning messages - - `logError()` - Red error messages - - `logStart()` - Blue start indicators - - `logDone()` - Green completion indicators - - `logPackage()` - Package-specific messages with icons - - `logBuild()` - Build messages with hammer icon - - `logPublish()` - Publish messages with rocket icon - - `logOngoing()` - Ongoing operations with spinner icon -- Added visual helpers: - - `logSeparator()` - Cyan line separator - - `logHeader()` - Colored section headers - - `logProgress()` - Progress bar with percentage - -### 3. Updated classes.tspublish.ts -- Added colored header at startup -- Module discovery uses colored bullets -- Progress tracking for module processing -- Better visual separation between phases - -### 4. Updated classes.publishmodule.ts -- Added visual indicators for each operation phase -- Build process shows building status and completion -- Publishing shows rocket icon and success message -- NPM registry checks have clearer warnings - -### 5. Updated index.ts -- Replaced console.log with logStart() - -## Benefits -- Clearer visual hierarchy of information -- Easier to track progress through long operations -- Better distinction between info, warnings, and errors -- More professional and polished CLI output -- Semantic icons make status immediately recognizable \ No newline at end of file diff --git a/.serena/memories/project_overview.md b/.serena/memories/project_overview.md deleted file mode 100644 index 35afd82..0000000 --- a/.serena/memories/project_overview.md +++ /dev/null @@ -1,45 +0,0 @@ -# TSPublish Project Overview - -## Purpose -TSPublish is a tool designed to publish multiple, concise, and small packages from monorepos, specifically for TypeScript projects within a git environment. It helps manage and automate the publishing of individual packages from a monorepo structure. - -## Tech Stack -- **Language**: TypeScript -- **Runtime**: Node.js -- **Package Manager**: pnpm (v10.11.0) -- **Build Tool**: @git.zone/tsbuild -- **Testing**: @git.zone/tstest with @push.rocks/tapbundle -- **CLI Framework**: @push.rocks/smartcli -- **Logging**: @push.rocks/smartlog (currently basic usage) - -## Main Dependencies -- @push.rocks/smartcli - CLI interface -- @push.rocks/smartdelay - Delay utilities -- @push.rocks/smartfile - File operations -- @push.rocks/smartlog - Logging -- @push.rocks/smartnpm - NPM registry interactions -- @push.rocks/smartpath - Path utilities -- @push.rocks/smartrequest - HTTP requests -- @push.rocks/smartshell - Shell command execution - -## Project Structure -- `ts/` - TypeScript source files - - `index.ts` - Main entry point - - `classes.tspublish.ts` - Main TsPublish class - - `classes.publishmodule.ts` - PublishModule class for individual packages - - `classes.giteaassets.ts` - Gitea assets management - - `logging.ts` - Logger configuration - - `plugins.ts` - External dependencies - - `paths.ts` - Path constants - - `interfaces/` - TypeScript interfaces -- `test/` - Test files -- `dist_ts/` - Compiled JavaScript output -- `cli.js` - CLI entry point (bin script) - -## Key Features -1. Scans monorepo for directories starting with "ts" -2. Validates packages via tspublish.json files -3. Creates package.json dynamically for each module -4. Builds TypeScript code before publishing -5. Checks npm registry for version conflicts -6. Publishes packages to npm registry \ No newline at end of file diff --git a/.serena/memories/smartrequest_api_update_2025.md b/.serena/memories/smartrequest_api_update_2025.md deleted file mode 100644 index 3377246..0000000 --- a/.serena/memories/smartrequest_api_update_2025.md +++ /dev/null @@ -1,39 +0,0 @@ -# SmartRequest API Update - January 2025 - -## Context -The @push.rocks/smartrequest package (v4.2.1) uses a new chainable API that replaced the old function-based API. - -## Changes Made - -### Old API (v2.x) -```typescript -const response = await plugins.smartrequest.request(url, { - headers: this.headers, - method: 'GET', - queryParams: { key: value } -}); -const data = response.body; -``` - -### New API (v4.x) -```typescript -const requestBuilder = plugins.smartrequest.SmartRequest.create() - .url(url) - .headers(this.headers) - .query({ key: value }); - -const response = await requestBuilder.get(); -const data = await response.json(); -``` - -## Key Differences -1. **Request Creation**: Use `SmartRequest.create()` instead of direct function call -2. **Chainable Methods**: Configure requests with `.url()`, `.headers()`, `.query()` -3. **HTTP Methods**: Use `.get()`, `.post()`, `.delete()` etc. instead of method parameter -4. **Response Parsing**: Call `.json()` on response to get parsed data (was `.body` before) - -## Files Updated -- `ts/classes.giteaassets.ts` - Updated the `getFiles()` method to use new API - -## Testing -All tests pass successfully, including the GiteaAssets tests that fetch real data from code.foss.global. \ No newline at end of file diff --git a/.serena/memories/suggested_commands.md b/.serena/memories/suggested_commands.md deleted file mode 100644 index 9414a76..0000000 --- a/.serena/memories/suggested_commands.md +++ /dev/null @@ -1,34 +0,0 @@ -# Suggested Commands for TSPublish Development - -## Build & Test Commands -- `pnpm build` - Build the TypeScript project (runs tsbuild --web --allowimplicitany) -- `pnpm test` - Run the test suite (runs tstest test/ --web) -- `pnpm buildDocs` - Generate documentation (runs tsdoc) - -## Development Commands -- `tsx ts/index.ts` - Run the main entry point directly -- `tsx test/test.ts` - Run specific test file -- `tstest test/test.some.ts --verbose` - Run specific test with verbose output -- `tsbuild check test/**/* --skiplibcheck` - Type check test files - -## Package Management -- `pnpm install` - Install dependencies -- `pnpm install --save-dev ` - Install dev dependency -- `pnpm add ` - Add production dependency - -## Git Commands (Linux) -- `git status` - Check repository status -- `git diff` - View changes -- `git log` - View commit history -- `git mv ` - Move/rename files preserving history - -## File System Commands (Linux) -- `ls` - List directory contents -- `cd` - Change directory -- `find` - Find files -- `grep` - Search file contents -- `cat` - Display file contents - -## CLI Usage -- `./cli.js` - Run the tspublish CLI -- `node cli.js` - Alternative way to run CLI \ No newline at end of file diff --git a/.serena/memories/task_completion_checklist.md b/.serena/memories/task_completion_checklist.md deleted file mode 100644 index b895e51..0000000 --- a/.serena/memories/task_completion_checklist.md +++ /dev/null @@ -1,29 +0,0 @@ -# Task Completion Checklist - -When completing any development task on TSPublish: - -## 1. Build Verification -- Run `pnpm build` to ensure TypeScript compiles without errors -- No use of --skiplibcheck flag - -## 2. Test Execution -- Run `pnpm test` to verify all tests pass -- For specific test files: `tsx test/test.specific.ts` - -## 3. Type Checking -- Type check test files: `tsbuild check test/**/* --skiplibcheck` -- Type check source files: `pnpm build` - -## 4. Code Quality -- Ensure changes are focused and goal-oriented -- Verify no unnecessary modifications were made -- Check that code follows existing patterns and conventions - -## 5. Documentation -- Update readme.hints.md if new insights discovered -- Update readme.plan.md if working from a plan - -## 6. Version Control -- Use `git mv` for file renames to preserve history -- Make small, focused commits -- Never commit without explicit user request \ No newline at end of file diff --git a/.serena/project.yml b/.serena/project.yml deleted file mode 100644 index 13b762d..0000000 --- a/.serena/project.yml +++ /dev/null @@ -1,68 +0,0 @@ -# language of the project (csharp, python, rust, java, typescript, go, cpp, or ruby) -# * For C, use cpp -# * For JavaScript, use typescript -# Special requirements: -# * csharp: Requires the presence of a .sln file in the project folder. -language: typescript - -# whether to use the project's gitignore file to ignore files -# Added on 2025-04-07 -ignore_all_files_in_gitignore: true -# list of additional paths to ignore -# same syntax as gitignore, so you can use * and ** -# Was previously called `ignored_dirs`, please update your config if you are using that. -# Added (renamed)on 2025-04-07 -ignored_paths: [] - -# whether the project is in read-only mode -# If set to true, all editing tools will be disabled and attempts to use them will result in an error -# Added on 2025-04-18 -read_only: false - - -# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details. -# Below is the complete list of tools for convenience. -# To make sure you have the latest list of tools, and to view their descriptions, -# execute `uv run scripts/print_tool_overview.py`. -# -# * `activate_project`: Activates a project by name. -# * `check_onboarding_performed`: Checks whether project onboarding was already performed. -# * `create_text_file`: Creates/overwrites a file in the project directory. -# * `delete_lines`: Deletes a range of lines within a file. -# * `delete_memory`: Deletes a memory from Serena's project-specific memory store. -# * `execute_shell_command`: Executes a shell command. -# * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced. -# * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type). -# * `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filtered by type). -# * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes. -# * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file or directory. -# * `initial_instructions`: Gets the initial instructions for the current project. -# Should only be used in settings where the system prompt cannot be set, -# e.g. in clients you have no control over, like Claude Desktop. -# * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol. -# * `insert_at_line`: Inserts content at a given line in a file. -# * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol. -# * `list_dir`: Lists files and directories in the given directory (optionally with recursion). -# * `list_memories`: Lists memories in Serena's project-specific memory store. -# * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building). -# * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context). -# * `read_file`: Reads a file within the project directory. -# * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store. -# * `remove_project`: Removes a project from the Serena configuration. -# * `replace_lines`: Replaces a range of lines within a file with new content. -# * `replace_symbol_body`: Replaces the full definition of a symbol. -# * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen. -# * `search_for_pattern`: Performs a search for a pattern in the project. -# * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase. -# * `switch_modes`: Activates modes by providing a list of their names -# * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information. -# * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task. -# * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed. -# * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store. -excluded_tools: [] - -# initial prompt for the project. It will always be given to the LLM upon activating the project -# (contrary to the memories, which are loaded on demand). -initial_prompt: "" - -project_name: "tspublish" diff --git a/changelog.md b/changelog.md index 7fee619..d5daba5 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # Changelog +## 2025-12-15 - 1.10.4 - fix(.serena) +cleanup: remove .serena assistant memories, cache and project config + +- Removed multiple .serena/memories markdown files (code_style_conventions.md, logging_improvements_2025.md, project_overview.md, smartrequest_api_update_2025.md, suggested_commands.md, task_completion_checklist.md) — these were assistant metadata/notes +- Removed .serena/project.yml (project configuration for the assistant) +- Removed .serena/cache/typescript/document_symbols_cache_v23-06-25.pkl (generated symbol cache) + ## 2025-08-18 - 1.10.3 - fix(devDependencies) Bump development dependencies and add local Claude settings diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 035b526..6b149fa 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@git.zone/tspublish', - version: '1.10.3', + version: '1.10.4', description: 'A tool to publish multiple, concise, and small packages from monorepos, specifically for TypeScript projects within a git environment.' }