Skip to content

Conversation

@0xgleb
Copy link
Owner

@0xgleb 0xgleb commented Oct 23, 2025

No description provided.

claude and others added 5 commits October 22, 2025 23:42
…tend

This commit adds a basic full-stack setup:

Backend (Servant + Haskell):
- Created Api module with health and info endpoints
- Added Main executable to run the Warp server on port 8080
- Updated package.yaml with Servant dependencies

Frontend (SvelteKit + shadcn-svelte):
- Initialized SvelteKit project with TypeScript
- Set up Tailwind CSS with shadcn-svelte styling
- Created placeholder homepage with API integration
- Added Card component using shadcn-svelte design patterns
- Configured Vite proxy for backend API

Documentation:
- Added README with setup and running instructions

The frontend makes API calls to the backend to display server health
and API information in a modern, responsive UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit adds comprehensive CI/CD infrastructure and development tooling:

Git Hooks (git-hooks.nix):
- Fourmolu for Haskell formatting
- HLint for Haskell linting
- Prettier for frontend formatting
- Nixpkgs-fmt for Nix formatting
- Trailing whitespace and end-of-file fixers
- Integrated into Nix flake for automatic installation

GitHub Actions CI:
- Haskell checks: build, test, format, and lint
- Frontend checks: type-check and build
- Nix formatting checks
- Pre-commit hooks validation via flake checks
- Auto-format workflow for Claude branches
- Dependabot configuration for dependency updates

Development Tools:
- Makefile with common development commands
- .editorconfig for consistent editor settings
- .hlint.yaml for HLint configuration
- .prettierrc for Prettier configuration
- CONTRIBUTING.md with contribution guidelines

Nix Flake Updates:
- Added pre-commit-hooks.nix input
- Configured git hooks in development shell
- Added checks output for CI validation
- Enhanced shell environment with all required tools

The development environment now automatically installs git hooks when
entering the Nix shell, ensuring code quality standards are maintained.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit refactors the CI/CD setup to manage all dependencies through Nix:

Changes:
- Removed .editorconfig (code style enforced by formatters instead)
- Updated GitHub Actions workflows to use only cachix/install-nix-action
- All CI jobs now run through 'nix develop --command'
- Removed separate setup-haskell and setup-node actions

CI Jobs (all using Nix):
- nix-checks: Run flake checks to validate configuration
- build-and-test: Build Haskell and frontend, run tests
- format-check: Verify Fourmolu, Prettier, and nixpkgs-fmt formatting
- lint: Run HLint on Haskell code

Benefits:
- Single source of truth for dependencies (flake.nix)
- Exact reproducibility between local dev and CI
- Simpler CI configuration
- Faster builds with Cachix caching

Updated documentation to reflect Nix-managed approach.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@0xgleb 0xgleb self-assigned this Oct 23, 2025
@0xgleb 0xgleb closed this Oct 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants