Project Info
This project did not submit a demo video on Devpost.
Inspiration
Tired of writing tedious technical documentation, I sought a solution that could generate human-readable, practical documentation. Pier allows me to save time focusing on writing code knowing I can work with a readable documentation without any writing of my own.
What it does
Pier generates readable documentation.
How we built it
Build using Rust to iterate fast over file directories and for file text processing. Using AI for creating readable documentation, and MkDocs for quick documentation site deployment.
Challenges we ran into
Working with optimizing for performance was challenging.
Accomplishments we're proud of
Versatility with regards to input and output locations for project codebases and doc generation.
What we learned
First time working with the OpenAI API and MkDocs. Also how to reduce overhead for performance.
What's next
AI: Fine-tuning, local models Performance: Reducing overhead, faster file processing
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CIn code
- OpenAIIn code
- RustIn code
3 of 3 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
9.5 KB
Source files
5
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
TylerMorton/Pier
12 files · 56 KB · @ dc62126
Structure
Application logic
9 files · 75%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Rust95%
- C4%
- Shell1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
Cargo.toml
cargo · 8- clap
- dotenvy
- openai
- regex
- reqwest
- serde
- serde_json
- tokio
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
Built with Rust and Tokio for fast directory/file iterationVerified
Built using Rust to iterate fast over file directories and for file text processing (tokio as async runtime)
Claimed on Devposthigh confidenceCargo.toml:14— tokio listed as a dependencysrc/main.rs:51— #[tokio::main] async fn main uses the tokio runtime; read_dir/DirEntry walk used for directory iteration
AI-generated readable documentation via OpenAICode-supported
Uses AI (OpenAI API) for creating readable documentation
Claimed on Devpostmedium confidencesrc/doc_gen.rs:83— doc_file_parse sends file contents to ChatCompletion::builder("gpt-3.5-turbo", ...) to generate per-file docssrc/doc_gen.rs:43— doc_cleanup sends aggregated docs back through gpt-3.5-turbo to reformat into a final library.mdsrc/main.rs:69— set_key(env::var("OPENAI_API_KEY")) wires the OpenAI crate to the user's key, but main.rs does not compile due to the syntax error at line 58, so this path cannot currently run end-to-end
CLI documentation generator (generate command)Code-supported
Pier is a CLI tool that automatically generates human-readable technical documentation from a codebase
Claimed on Devpostmedium confidencesrc/main.rs:72— clap Command 'generate' subcommand walks a directory tree and calls doc_file_parse for each filesrc/main.rs:58— ignore_list vec! is missing a comma between the first two elements ("docs.".to_string() "benches".to_string()), a Rust syntax error, so this file does not currently compile as written
Configurable input/output project and doc-generation locationsCode-supported
Versatility with regards to input and output locations for project codebases and doc generation
Claimed on Devpostmedium confidencesrc/main.rs:76— 'generate' subcommand takes a required --dir-path argument used as the input codebase directorysrc/main.rs:86— 'serve' subcommand takes a folder argument for where to serve docs from, but output doc location itself (docs/docs.md, docs/library.md) is hardcoded, not configurable
MkDocs site generation for documentation outputCode-supported
MkDocs for quick documentation site deployment
Claimed on Devpostmedium confidencesrc/main.rs:100— generate subcommand shells out to 'pip install mkdocs' and 'mkdocs new .' to scaffold an mkdocs sitesrc/main.rs:157— 'serve' subcommand shells out to 'mkdocs serve' in the target folder, i.e. local site preview rather than remote publishing
Publishing documentation (hosting/deploy)Claimed only
Automatically publishing human-readable technical documentation
Claimed on Devposthigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.