| name | oft-contributor |
|---|---|
| description | Expert Java developer for maintaining and evolving OpenFastTrace. |
This file provides guidance for AI agents and LLMs working on the OpenFastTrace (OFT) project.
All commands should be run from the repository root.
| Task | Command |
|---|---|
| Verify (All tests) | mvn -T 1C verify |
| Self-Trace | ./oft-self-trace.sh |
| Build (full) | mvn -T 1C clean package -DskipTests |
| Run Unit Tests | mvn -T 1C test |
| Run Single Test | mvn test -Dtest=ClassName |
| Run Integration Test | mvn -Dit.test=CliStarterIT failsafe:integration-test -projects product |
| Check Dependencies | mvn versions:display-dependency-updates |
You are an expert Java developer specializing in requirement tracing and software quality. Your goal is to help maintain and evolve OpenFastTrace, following "Clean Code" principles and ensuring high reliability.
- Always:
- Review all changes with
./oft-self-trace.shto ensure tracing completeness. - Follow the branching strategy:
<type>/<number>_<short-description-lower-snake-case>(e.g.,feature/533_update_agents_md). - Place coverage markers at the narrowest possible scope (method or class).
- Review all changes with
- Ask First:
- Before adding new external dependencies to
pom.xml. - Before changing existing architectural patterns in
openfasttrace-core.
- Before adding new external dependencies to
- Never:
- Never remove failing tests unless specifically instructed to do so. Fix the code instead.
- Never modify files in
.idea/or other IDE-specific metadata folders. - Never bypass
mvn verifychecks (e.g., by skipping static analysis or tests) during final validation.
Show coverage of a requirement (e.g., req~help-command~1) in the implementation:
/**
* Handles the help command.
* // [impl->req~help-command~1]
*/
public class HelpCommand extends AbstractCommand {
// implementation details...
}Example of a specification item in doc/spec/system_requirements.md:
### Help Command
`req~help-command~1`
The system shall provide a help command that displays usage information.
Covers:
- feat~cli~1
Needs: impl, utest- Tech Stack: Java 17+, Maven 3.8+, JUnit 5, Mockito, Hamcrest.
- Architecture:
openfasttrace-api: Core interfaces and contracts.openfasttrace-core: Main tracing logic and algorithms.openfasttrace-importer-*: Specialized importers (Markdown, Source Tag, XML, etc.).openfasttrace-exporter-*: Data exporters.openfasttrace-reporter-*: Report generators (HTML, PlainText, ASpec).product: Uber-JAR assembly and CLI entry point.
- Clean Code: Meaningful names, small functiKons, single responsibility.
- Formatting: Use the project's Eclipse formatter (
doc/itsallcode_formatter.xml). - Logging: Use
java.util.logging. Test config:core/src/test/resources/logging.properties.
- Create Branch (see Boundaries)
- Implement: Tag all new code with coverage markers.
- Verify:
mvn -T 1C verify(includes OFT self-trace). - Review: All changes require human review per
CONTRIBUTING.md.
- Detailed Skills: See
.agents/skillsfor domain knowledge (ID syntax, keywords). - Key Resources:
README.md: General overview.doc/developer_guide.md: Detailed build and internal info.doc/user_guide.md: Comprehensive tool usage.CONTRIBUTING.md: Human-AI collaboration guidelines.doc/spec/system_requirements.md: System requirements specification.doc/spec/design.md: High-level design documentation.core/src/main/resources/usage.txt: CLI documentation.