chore: init workspace
What does this MR do?
Creates the initial project scaffold for gitlab‑code‑parser (One Parser), delivering the minimum viable Rust workspace so downstream teams (Embeddings & Knowledge Graph) can begin integrating the library via Cargo or FFI.
Related Issues
[Gitlab Code Parser] Create GitLab Code Parser ... (gitlab-org/gitlab#536077 - closed)
Context / Links
- Epic: One Parser (gitlab‑code‑parser)
- Related discussions & design notes:
Changes in this MR
Area | Change |
---|---|
Repo hygiene |
.gitignore ignores Rust target/ artifacts |
Licensing |
LICENSE.md (MIT) aligns with wider Rust ecosystem & GitLab OSS policy |
Workspace setup |
Cargo.toml workspace + Cargo.lock (deterministic builds) |
rust-toolchain.toml pins stable toolchain with clippy /rustfmt
|
|
mise.toml enables one‑command toolchain install (mise install ) |
|
Core crate |
crates/parser-core with a trivial add() fn + unit test (CI smoke‑test) |
Dependencies | Brings in ast‑grep-core , ast‑grep-config , ast‑grep-language , serde , once_cell via [workspace.dependencies] (versions locked to 0.37 / 1.0) |
Docs | Seed README.md (vision, features, quick‑start) generated per epic guidance |
What's next?
We can begin integrating the following into the codebase:
- Basic Parser (targets Ruby): Draft: feat: ruby parser (!1 - closed)
- Project Scaffolding and Tooling: ci: add initial tooling (gitalisk!3 - merged)
How to test locally
# Clone & build
git clone https://gitlab.com/gitlab-org/rust/gitlab-code-parser
cd gitlab-code-parser
mise install # installs Rust toolchain
cargo test -- --nocapture # runs parser-core unit test
Edited by Michael Angelo Rivera