app:
layouts:
- id: 'developer_workspace'
root: true
title: 'Developer Workspace Dashboard'
bg_color: 'black'
fg_color: 'bright_white'
selected_fg_color: 'black'
selected_bg_color: 'bright_green'
border_color: 'bright_green'
selected_border_color: 'bright_yellow'
title_fg_color: 'bright_green'
title_bg_color: 'black'
children:
- id: 'status_bar'
title: 'Development Environment Status'
position:
x1: "0%"
y1: "0%"
x2: "100%"
y2: "6%"
border_color: 'bright_green'
bg_color: 'black'
fg_color: 'bright_green'
refresh_interval: 3000
script:
- "echo 'Workspace: $(basename $(pwd)) | Git: $(if git rev-parse --git-dir >/dev/null 2>&1; then git branch --show-current 2>/dev/null || echo \"detached\"; else echo \"not a repo\"; fi) | $(date \"+%H:%M:%S\")'"
- id: 'project_navigator'
title: 'Project Explorer'
position:
x1: "1%"
y1: "8%"
x2: "25%"
y2: "50%"
tab_order: 1
border_color: 'blue'
choices:
- id: 'project_structure'
content: 'Project Structure'
script:
- "echo 'PROJECT STRUCTURE'"
- "echo '================'"
- "if command -v tree >/dev/null 2>&1; then"
- " tree -L 3 -I 'node_modules|.git|target|build|dist' 2>/dev/null | head -20"
- "else"
- " find . -maxdepth 3 -type f -name '*.rs' -o -name '*.js' -o -name '*.py' -o -name '*.java' -o -name '*.go' -o -name '*.cpp' | head -15"
- "fi"
redirect_output: 'main_display'
- id: 'git_status'
content: 'Git Status'
script:
- "if git rev-parse --git-dir >/dev/null 2>&1; then"
- " echo 'GIT REPOSITORY STATUS'"
- " echo '=================='"
- " echo 'Branch: '$(git branch --show-current 2>/dev/null || echo 'detached HEAD')"
- " echo 'Last commit: '$(git log -1 --pretty=format:'%h - %s (%cr)' 2>/dev/null)"
- " echo ''"
- " echo 'Working directory status:'"
- " git status --porcelain | head -10 || echo 'Working directory clean'"
- " echo ''"
- " echo 'Recent commits:'"
- " git log --oneline -5 2>/dev/null"
- "else"
- " echo 'NOT A GIT REPOSITORY'"
- " echo 'Initialize with: git init'"
- "fi"
redirect_output: 'main_display'
- id: 'dependencies'
content: 'Dependencies'
script:
- "echo 'PROJECT DEPENDENCIES'"
- "echo '=================='"
- "if [ -f package.json ]; then"
- " echo 'Node.js project detected'"
- " echo 'Dependencies: '$(jq -r '.dependencies | keys | length' package.json 2>/dev/null || echo 'N/A')"
- " echo 'Dev Dependencies: '$(jq -r '.devDependencies | keys | length' package.json 2>/dev/null || echo 'N/A')"
- "elif [ -f Cargo.toml ]; then"
- " echo 'Rust project detected'"
- " grep '\\[dependencies\\]' -A 20 Cargo.toml | head -15"
- "elif [ -f requirements.txt ]; then"
- " echo 'Python project detected'"
- " wc -l requirements.txt | cut -d' ' -f1 | xargs echo 'Requirements:'"
- "elif [ -f pom.xml ]; then"
- " echo 'Maven project detected'"
- " echo 'Dependencies in pom.xml'"
- "elif [ -f build.gradle ]; then"
- " echo 'Gradle project detected'"
- " echo 'Dependencies in build.gradle'"
- "else"
- " echo 'No recognized dependency files found'"
- " ls -la | grep -E '\\.(json|toml|txt|xml|gradle)$'"
- "fi"
redirect_output: 'main_display'
- id: 'recent_files'
content: 'Recent Files'
script:
- "echo 'RECENTLY MODIFIED FILES'"
- "echo '====================='"
- "find . -type f \\( -name '*.rs' -o -name '*.js' -o -name '*.py' -o -name '*.java' -o -name '*.go' -o -name '*.cpp' -o -name '*.h' -o -name '*.ts' \\) -not -path './node_modules/*' -not -path './target/*' -not -path './.git/*' -exec ls -lt {} + 2>/dev/null | head -12"
redirect_output: 'main_display'
- id: 'main_display'
title: 'Project Details'
position:
x1: "27%"
y1: "8%"
x2: "75%"
y2: "50%"
border_color: 'yellow'
bg_color: 'black'
fg_color: 'bright_white'
content: "Welcome to Developer Workspace\\n\\nSelect an option from Project Explorer to view details\\n\\nFeatures:\\n- Project structure analysis\\n- Git integration\\n- Dependency management\\n- Build system integration\\n- Performance monitoring"
- id: 'build_tools'
title: 'Build & Test'
position:
x1: "77%"
y1: "8%"
x2: "99%"
y2: "50%"
tab_order: 2
border_color: 'magenta'
choices:
- id: 'build_project'
content: 'Build'
script:
- "echo 'BUILDING PROJECT'"
- "echo '==============='"
- "if [ -f package.json ]; then"
- " echo 'Running npm build...'"
- " if command -v npm >/dev/null 2>&1; then npm run build 2>&1 | head -10; else echo 'npm not found'; fi"
- "elif [ -f Cargo.toml ]; then"
- " echo 'Running cargo build...'"
- " if command -v cargo >/dev/null 2>&1; then cargo check 2>&1 | head -10; else echo 'cargo not found'; fi"
- "elif [ -f pom.xml ]; then"
- " echo 'Running maven compile...'"
- " if command -v mvn >/dev/null 2>&1; then mvn compile 2>&1 | head -10; else echo 'maven not found'; fi"
- "elif [ -f Makefile ]; then"
- " echo 'Running make...'"
- " make 2>&1 | head -10"
- "else"
- " echo 'No recognized build system found'"
- "fi"
redirect_output: 'build_output'
- id: 'run_tests'
content: 'Test'
script:
- "echo 'RUNNING TESTS'"
- "echo '============'"
- "if [ -f package.json ]; then"
- " if command -v npm >/dev/null 2>&1; then npm test 2>&1 | head -10; else echo 'npm not found'; fi"
- "elif [ -f Cargo.toml ]; then"
- " if command -v cargo >/dev/null 2>&1; then cargo test --lib 2>&1 | head -10; else echo 'cargo not found'; fi"
- "elif [ -f pom.xml ]; then"
- " if command -v mvn >/dev/null 2>&1; then mvn test 2>&1 | head -10; else echo 'maven not found'; fi"
- "else"
- " echo 'No test framework detected'"
- " echo 'Looking for test files...'"
- " find . -name '*test*' -type f | head -5"
- "fi"
redirect_output: 'build_output'
- id: 'lint_check'
content: 'Lint'
script:
- "echo 'CODE QUALITY CHECK'"
- "echo '================'"
- "if [ -f package.json ] && command -v eslint >/dev/null 2>&1; then"
- " eslint . 2>&1 | head -10"
- "elif [ -f Cargo.toml ] && command -v cargo >/dev/null 2>&1; then"
- " cargo clippy 2>&1 | head -10"
- "elif command -v pylint >/dev/null 2>&1 && find . -name '*.py' | head -1 >/dev/null; then"
- " find . -name '*.py' | head -3 | xargs pylint 2>&1 | head -10"
- "else"
- " echo 'No linter configured for this project'"
- " echo 'Checking file permissions and structure...'"
- " find . -type f -executable | head -5"
- "fi"
redirect_output: 'build_output'
- id: 'coverage'
content: 'Coverage'
script:
- "echo 'CODE COVERAGE ANALYSIS'"
- "echo '===================='"
- "if [ -f package.json ] && command -v nyc >/dev/null 2>&1; then"
- " nyc report --reporter=text 2>/dev/null | head -10"
- "elif [ -f Cargo.toml ] && command -v cargo >/dev/null 2>&1; then"
- " echo 'Run: cargo tarpaulin for coverage'"
- " cargo test 2>&1 | grep 'test result' | tail -1"
- "else"
- " echo 'No coverage tool detected'"
- " echo 'Test file analysis:'"
- " find . -path '*/test*' -name '*.rs' -o -name '*.js' -o -name '*.py' | wc -l | xargs echo 'Test files found:'"
- "fi"
redirect_output: 'build_output'
- id: 'dev_metrics'
title: 'Development Metrics'
position:
x1: "1%"
y1: "52%"
x2: "48%"
y2: "95%"
border_color: 'cyan'
refresh_interval: 10000
script:
- "echo 'DEVELOPMENT METRICS'"
- "echo '=================='"
- "echo ''"
- "echo 'Code Statistics:'"
- "if command -v cloc >/dev/null 2>&1; then"
- " cloc . --quiet 2>/dev/null | tail -5"
- "else"
- " echo 'Lines of code analysis:'"
- " find . \\( -name '*.rs' -o -name '*.js' -o -name '*.py' -o -name '*.java' \\) -not -path './node_modules/*' -not -path './target/*' -exec wc -l {} + 2>/dev/null | tail -1"
- " echo 'File count by type:'"
- " find . -type f | sed 's/.*\\.//' | sort | uniq -c | sort -nr | head -5"
- "fi"
- "echo ''"
- "echo 'Git Activity (last 7 days):'"
- "if git rev-parse --git-dir >/dev/null 2>&1; then"
- " git log --since='7 days ago' --oneline 2>/dev/null | wc -l | xargs echo 'Commits:'"
- " git log --since='7 days ago' --pretty=format:'%an' 2>/dev/null | sort | uniq | wc -l | xargs echo 'Contributors:'"
- "else"
- " echo 'Not a git repository'"
- "fi"
- id: 'build_output'
title: 'Build Output'
position:
x1: "50%"
y1: "52%"
x2: "99%"
y2: "95%"
border_color: 'red'
bg_color: 'black'
fg_color: 'bright_yellow'
content: "Build output will appear here\\n\\nUse Build & Test box to:\\n- Build your project\\n- Run tests\\n- Check code quality\\n- Analyze coverage\\n\\nSupported build systems:\\n- npm/yarn (Node.js)\\n- cargo (Rust)\\n- maven/gradle (Java)\\n- make (C/C++)\\n- pip (Python)"