docs/Makefile-readme.md
Unified development workflow for Go, Java, Python, TypeScript
make setup
Installs all language tools, configures Git hooks, and sets up branch strategy.
make format # Format all code
make check # Quality checks
make test # Run tests
make build # Build projects
make push # Safe push with pre-checks
make clean # Clean build artifacts
make status # Show project information
make info # Show tool versions
For efficient local development, you can create a .localci.toml file in the root directory to override the default configuration:
# Copy the default configuration
cp makefiles/localci.toml .localci.toml
# Edit to enable only the modules you're working on
# Set enabled = true for active modules, false for others
[meta]
version = 1
[[python.apps]]
name = "core-agent"
dir = "core/agent"
enabled = true # Only enable the module you're working on
[[python.apps]]
name = "core-memory"
dir = "core/memory/database"
enabled = false # Disable other modules for faster execution
# ... other modules set to enabled = false
enabled values to switch between modulesmake setupOne-time environment setup. Installs tools, configures Git hooks, sets branch strategy.
make formatFormats code for all languages:
gofmt + goimports + gofumpt + golinesspotless:applyblack + isortprettiermake check (alias: make lint)Quality checks for all languages:
gocyclo + staticcheck + golangci-lintcheckstyle + pmd + spotbugsflake8 + mypy + pylinteslint + tscmake testRuns tests for all projects:
go test with coveragemvn testpytest with coveragenpm testmake buildBuilds all projects:
packagebuildmake pushSafe push with pre-checks:
format and check automaticallymake cleanCleans build artifacts for all languages.
# Go service
cd core/tenant && go run cmd/main.go
# Java service
cd console/backend && mvn spring-boot:run
# Python services
cd core/memory/database && python main.py
cd core/agent && python main.py
# TypeScript frontend
cd console/frontend && npm run dev
make statusShows project information and active projects.
make infoDisplays tool versions and installation status.
make fixAuto-fixes code issues (formatting + some lint fixes).
make ciComplete CI pipeline: format + check + test + build.
make hooksGit hook management:
make hooks-install - Install complete hooksmake hooks-install-basic - Install lightweight hooksmake hooks-uninstall - Uninstall hooksmake enable-legacyEnables specialized language commands for backward compatibility.
After running make enable-legacy, you can use language-specific commands:
make fmt-go # Format Go code
make check-go # Go quality check
make test-go # Run Go tests
make build-go # Build Go project
make fmt-java # Format Java code
make check-java # Java quality check
make test-java # Run Java tests
make build-java # Build Java project
make fmt-python # Format Python code
make check-python # Python quality check
make test-python # Run Python tests
make fmt-typescript # Format TypeScript code
make check-typescript # TypeScript quality check
make test-typescript # Run TypeScript tests
make build-typescript # Build TypeScript project
make hooks-install # Complete hooks (format+check)
make hooks-install-basic # Lightweight hooks (format only)
feature/user-auth # Feature branch
bugfix/fix-login # Bug fix
hotfix/security-patch # Hotfix
feat: add user authentication
fix: resolve login timeout
docs: update API documentation
# Tool installation problems
make info # Check tool status
make install-tools # Reinstall tools
# Project detection issues
make status # Check project status
make _debug # Debug detection
# Hook problems
make hooks-uninstall && make hooks-install
# Local configuration issues
rm .localci.toml # Remove local config to use defaults
cp makefiles/localci.toml .localci.toml # Reset local config