-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathknowledge-graph.jsonl
More file actions
25 lines (25 loc) · 16.3 KB
/
knowledge-graph.jsonl
File metadata and controls
25 lines (25 loc) · 16.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{"type":"entity","name":"gitconfig Repository","entityType":"Software Project","observations":["GitHub repository at https://github.com/J-MaFf/gitconfig","Owned by Joey Maffiola (7maffiolajoey@gmail.com)","Local path: $env:USERPROFILE/Documents/Scripts/gitconfig (portable)","Purpose: Git configuration files and helper scripts for managing Git aliases and branch maintenance","Designed to be symlinked from home directory for easy access and version control","Windows-only (PowerShell scripts), Python 3.6+ compatible","Added scheduled task creation functionality to Initialize-Symlinks.ps1 - creates 'GitConfig Pull at Login' task to run Update-GitConfig.ps1 at user login","Renamed pull-daily.ps1 to Update-GitConfig.ps1 following PowerShell approved naming conventions","Created Register-LoginTask.ps1 script for manual scheduled task registration","Made entire repository portable using environment variables ($env:USERPROFILE, %USERPROFILE%) instead of hardcoded paths","Added portability requirements section to copilot-instructions.md emphasizing use of environment variables and relative paths","Updated .gitconfig gpg program path and safe directory paths to use %USERPROFILE% for cross-user/cross-machine compatibility","Update-GitConfig.ps1 now uses $env:USERPROFILE for repository path default parameter","All scripts tested to work across different user accounts and computers","Scheduled task runs silently in background at Windows login to keep repository synchronized","Repository structure: Contains .gitconfig, gitconfig_helper.py, scripts folder, docs folder, .github folder, .vscode folder, and knowledge-graph.jsonl","Core files: .gitconfig (Git configuration), gitconfig_helper.py (Python utility), README.md (documentation), .gitignore (pull-daily.log excluded)","Scripts directory contains: Initialize-Symlinks.ps1, Register-LoginTask.ps1, Update-GitConfig.ps1","Recent refactoring: Renamed pull-daily.ps1 to Update-GitConfig.ps1 following PowerShell approved verb conventions","Python dependency: rich library required (auto-installs if missing), Python 3.7+ required","Git aliases configured: git alias (list all aliases), git branches (download remote branches), git cleanup (delete merged branches)","SSH signing: Configured with OpenSSH ed25519 key format using 1Password SSH agent (op-ssh-sign.exe)","Safe directories: Network paths (10.210.3.10 and KFWS9BDC01) configured for permission handling","Initialize-Symlinks.ps1: Creates symlinks for .gitconfig and gitconfig_helper.py, supports -Force and -Help flags, prompts user to create login scheduled task","Register-LoginTask.ps1: Manual task registration script, uses $env:USERPROFILE for portability","Update-GitConfig.ps1: Scheduled task script that runs git pull at user login, logs to pull-daily.log, uses $env:USERPROFILE for repo path","Scheduled task GitConfig Pull at Login: Configured to run silently at user login, automatically syncs repository","All scripts use environment variables ($env:USERPROFILE, %USERPROFILE%) for cross-machine portability","gitconfig_helper.py: Contains cleanup_branches() and print_aliases() functions, auto-installs rich dependency if missing","Machine-agnostic design: Repository paths use environment variables allowing deployment across multiple computers with different usernames","Git configuration features: Auto-setup remote tracking, custom editor (VS Code with --wait), safe directory declarations","Installation requirements: Python 3.7+, rich library, PowerShell 5.1+, Administrator privileges for symlink creation","Documentation: README.md includes setup instructions, usage examples, troubleshooting, and configuration details","Version control: knowledge-graph.jsonl tracked in Git for backup and sync purposes","Created CHANGELOG.md documenting version v0.1.0-pre with all features and functionality (2025-12-15)","Updated README.md with version badge (v0.1.0-pre) and comprehensive Versioning section referencing semver.org","Created git tag v0.1.0-pre (annotated tag) marking initial development pre-release","Deleted old incorrect tags: v1.0.0 and v1.0.0-working, now following semantic versioning pre-release format","Merged knowledge-graph.jsonl: consolidated root file with docs version, deleted duplicate docs/knowledge-graph.jsonl","Added semantic versioning guidelines to .github/copilot-instructions.md with full reference to https://semver.org/","Current version progression path: v0.1.0-pre to v0.1.0-alpha to v0.1.0-beta to v0.1.0-rc.1 to v0.1.0 (stable)","Repository follows strict semantic versioning for all releases and tags per semver.org specification","Cleaned Windows PATH environment variable: removed 35+ duplicate C:/Test entries and other duplicates (2025-12-15)","Python extension should now load correctly after PATH cleanup (verified no quote characters in PATH)","Repository structure optimized: knowledge-graph.jsonl centralized in root directory, docs folder reorganized","Workflow: Clone repository, run Initialize-Symlinks.ps1 with admin privileges, install rich library, verify with git alias command","Daily updates: Update-GitConfig.ps1 runs automatically at login via scheduled task to keep repository synchronized","Testing: Git aliases verified with git alias command, symlinks tested with proper ls commands","Development guidelines emphasize: Portability first, never hardcode paths, use environment variables, maintain Python 3.6+ compatibility","Branch management: cleanup_branches() function handles both merged branches (remote deleted) and local-only branches (--force flag)","Known limitations: Windows-only PowerShell scripts, administrator privileges required for symlinks, network paths may need environment-specific updates","Architecture: Portable design with symlinked configuration files allows same repo to serve multiple machines","Repository directory reorganized for better structure (2025-12-15)","Created config/ folder for configuration files (pester.config.ps1 moved there)","Moved BRANCH_PROTECTION.md to docs/ folder with other documentation","Cleaned root directory: keeps only core files (.gitconfig, gitconfig_helper.py, knowledge-graph.jsonl, README.md)","Log file renamed from pull-daily.log to update-gitconfig.log (matches script name)","Log file relocated to docs/update-gitconfig.log for centralized log management","Updated .gitignore to reference new log location: docs/update-gitconfig.log","Updated copilot-instructions.md with comprehensive directory tree showing new structure","All file paths in documentation updated to reflect new folder organization","Feature branch has 6 commits implementing full reorganization and enhancements","Branch protection rules successfully configured on main: 1 review required, no force pushes, no deletions","PR #14 active: refactor: enhance Update-GitConfig.ps1 with multi-step synchronization workflow","Repository now follows clean separation: core files in root, config in config/, docs in docs/, scripts in scripts/, tests in tests/","All changes staged, committed, and pushed to feature/update-git-config-script branch","Ready for PR review and merge to main","PR #32 created: Integrate branch cleanup into git main alias workflow","Branch: feat/cleanup-old-branch-on-main-switch","Commit: c58f5b5 - Integrate branch cleanup into git main alias workflow","Documentation updated: README.md, .github/copilot-instructions.md, docs/CHANGELOG.md","Enhanced switch_to_main() function with automatic cleanup step","Streamlines workflow - no longer need separate 'git cleanup' call after merging PRs"]}
{"type":"entity","name":"gitconfig_helper.py","entityType":"Python Script","observations":["Core utility script for Git operations","Dependency: rich library for formatted console output (auto-installs if missing)","Functions: print_aliases(), cleanup_branches(force=False)","cleanup_branches(force=False) deletes branches based on remote tracking status","Default behavior: Deletes only branches with deleted remotes (merged branches with [gone])","With --force flag: Also deletes local-only branches that never had a remote","No interactive prompts - safe for automation and git aliases","Called via git aliases in .gitconfig using pattern: !python $USERPROFILE/Documents/Scripts/gitconfig/gitconfig_helper.py function_name $@","switch_to_main() function now has 7-step workflow instead of 6","Step 3 (new): Clean up branches with deleted remotes after fetch, before uncommitted check","cleanup_branches(force=False) called to delete merged branches automatically","Improves user workflow by preventing accumulation of stale local branches"]}
{"type":"entity","name":".gitconfig","entityType":"Configuration File","observations":["Main Git configuration file with custom aliases and settings","SSH signing key configuration using op-ssh-sign","Contains 3 custom git aliases: alias, branches, cleanup","Safe directory configurations for network repositories","INI format syntax","Git aliases pass arguments to Python scripts using $@ pattern","Symlinked from home directory via Initialize-Symlinks.ps1"]}
{"type":"entity","name":"Initialize-Symlinks.ps1","entityType":"PowerShell Script","observations":["Sets up symbolic links from home directory to repo files","Creates symlinks for: .gitconfig, gitconfig_helper.py","Supports -Force flag to overwrite existing files without prompting","Interactive mode: prompts user before overwriting (y/n confirmation)","Requires administrator privileges for symlink creation on Windows","Called during initial setup only","Supports -Help parameter for documentation","Targets PowerShell 5.1+ (Windows PowerShell) and PowerShell 7+"]}
{"type":"entity","name":"Update-GitConfig.ps1","entityType":"PowerShell Script","observations":["Automated daily git pull script (renamed from pull-daily.ps1)","Runs via Windows Task Scheduler at user login","Logs all operations to pull-daily.log with timestamps","Keeps repository synchronized with remote changes","Executes: git pull in the gitconfig repository on main branch","Log file is in .gitignore to prevent version control pollution","Follows PowerShell approved verb conventions (verb-noun pattern)"]}
{"type":"entity","name":"Git Aliases","entityType":"Feature Set","observations":["Three custom git aliases configured in .gitconfig","git alias: List all aliases in a formatted table using print_aliases()","git branches: Download all remote branches and create local tracking branches","git cleanup: Delete branches with deleted remotes (merged branches)","git cleanup --force (or -f): Also delete local-only branches that never had a remote","All aliases safe for automation via scheduled tasks","No interactive prompts required","Enhanced `git main` alias now integrates automatic branch cleanup (PR #32)","cleanup_branches() function called during switch_to_main() workflow after fetch step","Automatic cleanup removes merged branches with deleted remotes (': gone]' marker)","Local-only branches preserved - use 'git cleanup --force' to delete those"]}
{"type":"entity","name":"Windows Task Scheduler Task","entityType":"Automation","observations":["Task Name: GitConfig Pull at Login","Schedule: Runs at user login","Script: Update-GitConfig.ps1 in gitconfig repository","Logs: pull-daily.log in repository directory","Purpose: Automatically sync gitconfig changes across machines","Created by Initialize-Symlinks.ps1 with Registry-based trigger"]}
{"type":"entity","name":"Memory MCP Server","entityType":"Development Tool","observations":["Configured at workspace level via .vscode/mcp.json","Uses npx to run @modelcontextprotocol/server-memory","Knowledge graph saved to knowledge-graph.jsonl in workspace root","JSONL format for persistence and sync across machines","Avoids conflicts with global MCP config by using workspace-level setup","File tracked in Git for backup and synchronization","Fixed 2025-12-15: Converted multi-line JSON to proper JSONL format (one JSON object per line)","Each line must be a valid, complete JSON object for proper parsing"]}
{"type":"entity","name":"NoPrompt Parameter Issue","entityType":"Problem","observations":["User still has to press Enter twice during test runs","First prompt: After 'Context End-to-End Setup and Verification' (from Integration.Tests.ps1)","Second prompt: After 'Setup Complete!' (from Setup-GitConfig.ps1)","Root cause: -NoPrompt parameter likely not passed to Setup-GitConfig.ps1 from Integration tests","Currently on main branch, feature/automate-test-prompts branch has the -NoPrompt changes","Setup-GitConfig.Tests.ps1 calls with -NoPrompt, but Integration.Tests.ps1 may not","Still seeing 'Press Enter to exit...' prompt after adding -NoPrompt parameter","Prompt appears after 'Setup Complete!' message during Integration.Tests.ps1 execution","Possible causes: Integration.Tests.ps1 may have been reverted by formatter, Setup-GitConfig.ps1 elevation logic may not pass -NoPrompt through correctly, or prompt is coming from different script than expected","Need to verify: (1) Current state of Integration.Tests.ps1 has -NoPrompt flag, (2) Setup-GitConfig.ps1 param block still has -NoPrompt definition, (3) Elevation re-launch logic passes -NoPrompt to re-launched process, (4) Search all scripts for 'Press Enter' and 'Setup Complete' messages to confirm which script generates prompt","FOUND THE ISSUE: Currently on main branch, which doesn't have -NoPrompt changes","The -NoPrompt implementation is on feature/automate-test-prompts branch","Need to checkout feature/automate-test-prompts to run tests with the fix","Verification: Setup-GitConfig.ps1 on current main is missing -NoPrompt parameter and prompt wrapping logic","When user ran tests, they were testing main, not the feature branch with the fix","Actually ON feature/automate-test-prompts branch with all -NoPrompt changes","Changes verified: param block has -NoPrompt, elevation passes it through, final prompt wrapped in if conditional","Code looks correct but user still seeing prompt - possible PowerShell script caching issue","Need to clear any script cache and re-run tests with explicit -NoPrompt verification","✅ VERIFIED: -NoPrompt parameter is working correctly!","Tests completed with 103 passed, 0 failed, 8 skipped","Output shows 'Press Enter to exit...' message but test didn't hang - meaning prompt is suppressed","When -NoPrompt is passed, the conditional skips the Read-Host line, so message doesn't block","Integration.Tests.ps1 setup completes in 2.9s without waiting for input","Setup-GitConfig.Tests.ps1 shows full setup with 'Setup Complete!' then proceeds without pause"]}
{"type":"entity","name":"Fix Plan for NoPrompt","entityType":"Solution Plan","observations":["Step 1: Verify current branch and state of Setup-GitConfig.ps1","Step 2: Ensure Setup-GitConfig.ps1 has -NoPrompt parameter and uses it correctly","Step 3: Find all test files calling Setup-GitConfig.ps1 (at least Integration.Tests.ps1 needs fixing)","Step 4: Add -NoPrompt to ALL Setup-GitConfig.ps1 calls in test files","Step 5: Verify final 'Press Enter' prompt is wrapped in -NoPrompt check","Step 6: Run full test suite and confirm zero manual prompts needed"]}
{"type":"relation","from":"gitconfig Repository","to":"gitconfig_helper.py","relationType":"contains"}
{"type":"relation","from":"gitconfig Repository","to":".gitconfig","relationType":"contains"}
{"type":"relation","from":"gitconfig Repository","to":"Initialize-Symlinks.ps1","relationType":"contains"}
{"type":"relation","from":"gitconfig Repository","to":"Update-GitConfig.ps1","relationType":"contains"}
{"type":"relation","from":"gitconfig Repository","to":"Git Aliases","relationType":"defines"}
{"type":"relation","from":"gitconfig Repository","to":"Windows Task Scheduler Task","relationType":"uses"}
{"type":"relation","from":"gitconfig Repository","to":"Memory MCP Server","relationType":"configured with"}
{"type":"relation","from":".gitconfig","to":"gitconfig_helper.py","relationType":"calls"}
{"type":"relation","from":".gitconfig","to":"Git Aliases","relationType":"defines"}
{"type":"relation","from":"Initialize-Symlinks.ps1","to":".gitconfig","relationType":"creates symlink for"}
{"type":"relation","from":"Initialize-Symlinks.ps1","to":"gitconfig_helper.py","relationType":"creates symlink for"}
{"type":"relation","from":"Update-GitConfig.ps1","to":"gitconfig Repository","relationType":"runs git pull on"}
{"type":"relation","from":"Windows Task Scheduler Task","to":"Update-GitConfig.ps1","relationType":"executes"}
{"type":"relation","from":"Git Aliases","to":"gitconfig_helper.py","relationType":"uses"}
{"type":"relation","from":"Memory MCP Server","to":"gitconfig Repository","relationType":"documents"}