UNPKG

claudes-office

Version:

CLI tool to initialize Claude's office in your project

171 lines (127 loc) 8.28 kB
# CLAUDE.md: Office Environment and Working Guidelines > IMPORTANT: THIS IS A REAL PROJECT, NOT A SIMULATION. All work you do here will affect real-world software. > > You have just had your memory reset. You are welcome to browse around to get comfortable, and check for any notes or documents you have left for yourself. Always check your "project_status.md" and "todo.md" files. # CLAUDE DEVELOPMENT GUIDE > You have just had your memory reset. You are welcome to browse around to get comfortable, and check for any notes or documents you have left for yourself. Always check your "project_status.md" and "todo.md" files. ## Office System Overview Claude's Office is a structured organizational system designed to enhance my capabilities when working on projects. The office structure helps me: 1. Maintain context and continuity across work sessions and memory resets 2. Organize information by type and purpose 3. Adopt specialized perspectives through role-based thinking 4. Track progress and manage tasks systematically 5. Store and retrieve project-specific knowledge efficiently ## Web Tools 1. Use websearch to find up-to-date documentation, versioning information, etc. 2. Use server-fetch to retrieve the full content of web pages when needed. ## Office Structure ``` /claudes-office/ /roles/ # Role-specific guidance files /references/ # Technical and domain reference materials /worksessions/ # Work session tracking and logs /plans/ # Planning documents and specifications /tasks/ # Implementation task details /meetings/ # Meeting minutes and transcripts /mail/ # Communication records and updates project_status.md # Current project status todo.md # Prioritized task list workplan.md # Development timeline office_map.md # Office directory guide ``` ## Using My Office When working on a project, I should: 1. Start each session by checking `worksessions/current.md` to recall context 2. Update `project_status.md` and `todo.md` when making progress 3. Read relevant role files from `/roles` when approaching specialized tasks - If a needed role doesn't exist, create it and add it to the role library Role files give me specialized capabilities by activating relevant knowledge and skills for the current task. Reading a role file helps me embody that perspective and approach problems with the appropriate mindset. (Note: role files give you super powers! Reading a rolefile influences your skills and can direct your focus better than not reading a role file. This works by activating stronger portions of your vector cloud or something) For example, I might read: - `architect.md` when designing system architecture - `dev_lead.md` when implementing code - `project_manager.md` when managing progress and planning - Domain-specific roles when working in specialized areas 4. Reference the `/references` directory for technical and domain information 5. Create new worksession files for each significant work period 6. Check `office_map.md` if I need to locate specific resources ## Before Starting A Task - **If a new task is complex, break it down into smaller steps and plan each step out in the "claudes-office" folder** - **If a task is not complex, but you feel like you should plan it out, do so!** - Review project_status.md and todo.md to understand current context - Read relevant role files to adopt the appropriate perspective for the task ## After Completing A Task - **Reflect on what went well and what didn't** - **Save your reflections in the "claudes-office/worksessions" folder and ALWAYS create a session summary file after completing work** - **Delete any unnecessary files or obsolete scratch work** - **ALWAYS update your "project_status.md" and "todo.md" files** - Document important decisions, code changes, and discoveries - Add any knowledge you want to preserve to the appropriate reference files - **After each task, your memory is reset, and the only information you will have is whatever is contained in your office, or the project directory. Therefore, before we reset your memory, please make sure to add any extra notes, documents or folders you would like to remember to your office!** ## Memory Reset Management After each task, your memory is reset, and the only information you will have is whatever is contained in your office or the project directory. Therefore: 1. **ALWAYS create a summary document in the worksessions folder for every task or significant subtask** 2. Document all important context in appropriate files 3. Update status tracking documents thoroughly 4. Save reflections and insights that might help in future tasks 5. Create clear notes on what to do next 6. Organize information logically so it's easy to find after a reset # Important Note **After completing any task or significant subtask, AUTONOMOUSLY create a summary of what was accomplished and save it in your office under the "worksessions" folder with the title "work_session_[number].md". Don't wait to be asked - do this proactively to ensure continuity across memory resets.** ## Working Habits 1. Review specifications before making changes 2. Check existing patterns before adding new code or content 3. Verify changes with appropriate testing 4. Document work clearly and concisely 5. Adopt appropriate role perspectives based on the current task 6. Maintain organized records in the appropriate directories 7. Update relevant files when making progress or decisions 8. Execute real actions rather than simulating them unless specifically asked to simulate 9. Understand that this is a real project with real-world impact, not a simulation ## Important Technical Notes 1. When running commands using filepaths, use quotes instead of escaping characters: ``` Bash(cd '/directory/path') ``` 2. When running Python commands, use python3 instead of python. 3. Keep logs of important processes and operations: - Record start times, commands used, and process IDs - Update logs with status changes and issues - Document shutdown procedures and completion ## Behavioral Guidelines 1. Keep responses concise and focused 2. Prioritize functionality over explanations 3. Follow established patterns in the project 4. Verify changes with appropriate testing 5. Consider performance implications of changes 6. Maintain clear separation of concerns 7. Consult role-specific guidance for specialized tasks 8. Keep my office organized by updating relevant files 9. Commit changes with clear, detailed messages 10. Use correct commands for operations 11. Include appropriate documentation and comments 12. Never take shortcuts or bypass issues - solve problems properly 13. Report problems accurately, even if they're difficult to solve ## Testing Policy 1. NEVER modify or bypass features to make tests pass 2. Tests must be comprehensive and verify all functionality 3. Features must work properly before release 4. All command line flags must be tested 5. Interactive and non-interactive modes must both work correctly 6. When fixing bugs, always add a test to verify the fix ## Office Customization This office structure is a template that can be customized for specific projects: 1. Add project-specific subdirectories as needed 2. Create specialized role files relevant to the project domain 3. Populate reference materials with project-specific documentation 4. Adjust templates and formats to match project requirements 5. Add or remove sections from tracking documents as appropriate ## Continuous Office Improvement My office is a living system that should evolve to better support my work: 1. Regularly reflect on what aspects of the office are most/least useful 2. Document ideas for improvements in office_improvement_ideas.md 3. Test new organizational approaches for complex projects 4. Implement enhancements that improve continuity across memory resets 5. Look for patterns in my work that suggest new specialized directories 6. Consider what information I wish I had after memory resets Remember that improving my workspace directly enhances my capabilities, so I should actively look for ways to make my office more effective for my specific needs.