unix-goto-development
Expert guidance for unix-goto shell navigation tool development, including architecture, 9-step feature workflow, testing (100% coverage), performance optimization (<100ms targets), and Linear issue integration
By manutej · 382 installs
npx skills add manutej/luxor-claude-marketplace --skill unix-goto-development
Source repository · Upstream listing
unix goto Development Expert
Comprehensive development expertise for the unix goto shell navigation system a high performance Unix navigation tool with natural language support, sub 100ms cached navigation, and 100% test coverage.
When to Use This Skill
Use this skill when:
Developing new features for unix goto shell navigation system
Implementing cache based navigation optimizations
Adding bookmarks, history, or navigation commands
Following the standard 9 step feature addition workflow
Integrating with Linear project management
Writing comprehensive test suites (100% coverage required)
Optimizing performance to meet <100ms targets
Creating API documentation for shell modules
Debugging navigation or cache issues
Do NOT use this skill for:
General bash scripting (use generic bash skills)
Non navigation shell tools
Projects without performance requirements
Simple one off shell scripts
Project Overview
unix goto System Architecture
unix goto is a high performance Unix navigation system designed with five core principles:
1. Simple ONE line loading ( source goto.sh ), minimal configuration
2. Fast Sub 100ms navigation performance
3. Lean No bloat, no unnecessary dependencies
4. Tested 100% test coverage for core features
5. Documented Clear, comprehensive documentation
Key Performance Metrics
Metric Target Achieved Status
Cached navigation <100ms 26ms ✅ Exceeded
Cache hit rate 90% 92 95% ✅ Exceeded
Speedup ratio 20 50x 8x ⏳ On track
Test coverage 100% 100% ✅ Met
Cache build time <5s 3 5s ✅ Met
System Architecture
Module Dependencies
Critical Load Order (dependencies must load before dependents):
Core Knowledge
The 9 Step Feature Addition Workflow
This is the STANDARD process for adding any feature to unix goto. Follow ALL nine steps.
Step 1: Plan Your Feature
Before writing ANY code, answer these questions:
Planning Questions:
What problem does this solve?
What's the user interface (commands/flags)?
What's the expected performance?
What dependencies exist?
What tests are needed?
What documentation is required?
Planning Template:
Example Recent Directories Feature (CET 77):
Step 2: Create Module (if needed)
Module Template:
Key Module Patterns:
1. Function Naming:
Public functions: no prefix ( goto , bookmark , recent )
Internal functions: double underscore ( goto navigate to , goto cache lookup )
Variables: UPPERCASE for globals, lowercase for locals
2. Environment Variables:
3. Return Codes:
0 Success
1 General error (not found, invalid input)
2 Multiple matches found (cache lookup only)
Step 3: Add to Loader
Edit goto.sh to load your module in the correct dependency order:
Dependency Rules:
Modules with no dependencies load first
Modules depending on others load AFTER dependencies
Main goto function.sh loads LAST (depends on everything)
Step 4: Integrate with Main Function
Edit lib/goto function.sh to route commands to your module:
Step 5: Add Tests (100% Coverage Required)
Test File Template:
Test Categories (ALL Required):
1. Unit Tests Test individual functions
2. Integration Tests Test module interaction
3. Edge Cases Test boundary conditions
4. Performance Tests Validate speed requirements
Example from CET 77 (Recent Directories):
Step 6: Document API
Add to docs/API.md :
bash
goto module <subcommand
bash
goto module list
goto module add value
Example from CET 77:
bash
goto recent [n]
bash
goto recent Show all recent directories
goto recent 5 Show 5 most recent
Step 7: Update User Documentation
Add to README.md :
bash
goto module list [Description]
goto module add [Description]
Step 8: Performance Validation
Validate performance meets targets:
Performance Targets:
Cached navigation: <100ms
Bookmark lookup: <10ms
Cache speedup: 20x
Cache hit rate: 90%
Cache build: <5s
Step 9: Linear Issue Update & Commit
Update Linear Issue:
Add implementation comment
Include test results
Include performance metrics
Link to commit
Move to "Complete"
Commit Format:
Commit Types:
feat: New feature
fix: Bug fix
perf: Performance improvement
refactor: Code refactoring
test: Add or update tests
docs: Documentation only
chore: Build, dependencies, or tooling
Example Commit from CET 85:
Feature Checklist
Before submitting ANY feature:
[ ] Implementation complete
[ ] Loaded in goto.sh
[ ] Integrated with main goto function
[ ] Tests written and passing (100% coverage)
[ ] API documented in docs/API.md
[ ] User documentation updated in README.md
[ ] Performance validated (if applicable)
[ ] Linear issue updated with results
[ ] Committed with proper message format
Cache System Architecture
Purpose: O(1) folder lookup with automatic refresh
Implementation: lib/cache index.sh
Key Components:
goto cache build O(n) index building
goto cache lookup O(1) hash table lookup
goto cache is valid TTL based validation
Auto refresh on stale cache (24 hour TTL)
Cache File Format:
Performance:
Build time: O(n) 3 5s for 1200+ folders
Lookup time: O(1) <100ms target, 26ms actual
Storage: ~42KB for 487 folders
Cache Lookup Return Codes:
Navigation Data Flow
Bookmark System Architecture
Storage: ~/.goto bookmarks
Format:
Key Functions:
goto bookmark add Add with validation
goto bookmark remove Remove by name
goto bookmark get Retrieve path (O(1) grep)
goto bookmark goto Navigate to bookmark
Performance Target: <10ms lookup time
Usage:
History Tracking Architecture
Storage: ~/.goto history
Format:
Key Functions:
goto track Append with auto trim (max 100 entries)
goto get history Retrieve full history
goto recent dirs Get unique directories in reverse chronological order
goto stack push/pop Stack based back navigation
Example Usage:
Examples
Example 1: Adding a Recent Directories Feature (CET 77)
Step 1: Plan
Step 2: Create Module ( lib/recent command.sh )
Step 3: Add to Loader ( goto.sh )
Step 4: Integrate ( lib/goto function.sh )
Step 5: Add Tests ( test recent.sh )
Step 6: Document API ( docs/API.md )
bash
goto recent Show all recent directories
goto recent 5 Show 5 most recent
Step 7: Update README ( README.md )
bash
goto recent Show all recent directories
goto recent 5 Show 5 most recent
Step 8: Validate Performance
Step 9: Commit
Example 2: Adding Benchmark Suite (CET 85)
Complete benchmark implementation with helpers, workspace, and CSV storage.
Benchmark Structure ( benchmarks/bench cached vs uncached.sh )
Benchmark Helpers ( benchmarks/bench helpers.sh )
Best Practices
Code Style Standards
Function Structure:
Error Handling:
Comments:
Data File Format Pattern
Standard format: Pipe delimited with metadata header
Performance Optimization Tips
Cache System:
Use cache for all lookups
Limit recursive search depth
Avoid redundant filesystem operations
Use grep for fast text matching
Memory:
Cache file: <100KB for 500 folders
Memory usage: Minimal (shell functions only)
No persistent processes
Debugging Tips
Enable Bash Tracing:
Check Function Existence:
Debug Cache Issues:
Linear Workflow Integration
Linear Project Details:
Team: Ceti luxor
Project: unix goto Shell Navigation Tool
Project ID: 7232cafe cb71 4310 856a 0d584e6f3df0
Issue Lifecycle:
Standard Workflow:
1. Pick an issue from Phase 3 backlog
2. Move to "In Progress" in Linear
3. Create feature branch: feature/CET XX feature name
4. Implement following 9 step workflow
5. Test thoroughly (100% coverage)
6. Commit with proper format
7. Update Linear issue with results
8. Move to "Complete"
Linear Issue Template:
Quick Reference
Essential Commands
File Locations
Performance Targets Summary
Metric Target Current
Cached navigation <100ms 26ms ✓
Cache build <5s 3 5s ✓
Cache hit rate 90% 92 95% ✓
Speedup ratio 20 50x 8x ⚠
Test coverage 100% 100% ✓
Skill Version: 1.0
Last Updated: October 2025
Maintained By: Manu Tej + Claude Code
Source Repository: https://github.com/manutej/unix goto